DescriptionEnsure that positioned objects' list is always in parent first order
When a container's position attribute is changed
(fixed->absolute or relative->absolute), the container's position
in the list of positioned objects may appear after the position
of its child, if this container also has a positioned child.
RenderBlock::layoutPositionedObjects()'s logic relies on "parent first"
positioned object ordering. Wrong ordering could end up having
dirty children, after finishing layouting positioned objects.
Fix it by inserting the parent before the child,
instead of appending it to the end of the list.
Test debug build with some real content:
http://binged.it/K9uLcw
http://www.bing.com/maps/
http://www.nytimes.com (scroll down)
http://www.awwwards.com/22-experimental-webgl-demo-examples.html (scroll down)
Patch was developed by Zalan Bujtas <zbujtas@gmail.com>
see original bug https://bugs.webkit.org/show_bug.cgi?id=93891
BUG=407356, 416210, 351709, 144608
Patch Set 1 #
Total comments: 4
Patch Set 2 : consider only position style change, updated TC with relative->absolute #Patch Set 3 : mark removed positioned objects #Patch Set 4 : WIP (just idea): redesign positioned objects handling #
Messages
Total messages: 21 (4 generated)
|