Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Issue 875563003: Ensure that positioned objects' list is always in parent first order (Closed)

Created:
5 years, 10 months ago by alexanderk
Modified:
5 years, 6 months ago
CC:
blink-reviews, blink-reviews-rendering, Dominik Röttsches, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, zoltan1, rhogan
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Ensure 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+49 lines, -4 lines) Patch
A LayoutTests/fast/dynamic/position-change-to-absolute-with-positioned-child-crash.html View 1 1 chunk +27 lines, -0 lines 0 comments Download
A LayoutTests/fast/dynamic/position-change-to-absolute-with-positioned-child-crash-expected.txt View 1 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderBlock.cpp View 1 2 3 2 chunks +8 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderBox.cpp View 1 2 3 1 chunk +11 lines, -2 lines 0 comments Download

Messages

Total messages: 21 (4 generated)
Krzysztof Olczyk
Hi jchaffraix, vollick, chrishtr, could you please take a look at this patch which seems ...
5 years, 10 months ago (2015-01-27 09:45:06 UTC) #3
fs
s/mortens/mstensho/
5 years, 10 months ago (2015-01-27 10:11:37 UTC) #5
Julien - ping for review
Removing some folks that are not working in rendering + adding folks who did the ...
5 years, 10 months ago (2015-01-27 14:47:46 UTC) #7
leviw_travelin_and_unemployed
On 2015/01/27 at 14:47:46, jchaffraix wrote: > Removing some folks that are not working in ...
5 years, 10 months ago (2015-01-27 16:39:57 UTC) #8
alexanderk
https://chromiumcodereview.appspot.com/875563003/diff/1/Source/core/rendering/RenderBlock.cpp File Source/core/rendering/RenderBlock.cpp (right): https://chromiumcodereview.appspot.com/875563003/diff/1/Source/core/rendering/RenderBlock.cpp#newcode1955 Source/core/rendering/RenderBlock.cpp:1955: if (box->isDescendantOf(descendant)) { On 2015/01/27 14:47:46, Julien Chaffraix - ...
5 years, 10 months ago (2015-01-28 14:15:27 UTC) #9
alexanderk
Some notes regarding isDescendantOf expensiveness: isDescendantOf is very simple and its time complexity is just ...
5 years, 10 months ago (2015-01-30 11:21:43 UTC) #10
alexanderk
jchaffraix, I have considered your suggestions, but unfortunately they are not applicable: 1) The idea ...
5 years, 10 months ago (2015-01-30 13:27:55 UTC) #11
alexanderk
Hi jchaffraix, guys, Could you please take a look at updated patch? Now performance should ...
5 years, 10 months ago (2015-02-05 12:36:39 UTC) #12
mstensho (USE GERRIT)
We should be able to come up with a less intrusive fix (one that isn't ...
5 years, 10 months ago (2015-02-09 17:58:59 UTC) #13
mstensho (USE GERRIT)
Ping. Are you still interested in working on this or should the CL be closed?
5 years, 9 months ago (2015-03-26 13:28:34 UTC) #14
alexanderk
On 2015/03/26 13:28:34, mstensho wrote: > Ping. Are you still interested in working on this ...
5 years, 9 months ago (2015-03-26 13:41:36 UTC) #15
Julien - ping for review
On 2015/03/26 at 13:41:36, alexanderk wrote: > On 2015/03/26 13:28:34, mstensho wrote: > > Ping. ...
5 years, 9 months ago (2015-03-26 15:46:07 UTC) #16
alexanderk
On 2015/03/26 15:46:07, Julien Chaffraix - PST wrote: > On 2015/03/26 at 13:41:36, alexanderk wrote: ...
5 years, 9 months ago (2015-03-26 16:41:53 UTC) #17
eae
Is anyone willing to take this and try to get it into a state where ...
5 years, 6 months ago (2015-06-03 22:03:11 UTC) #18
mstensho (USE GERRIT)
Sounds like something robhogan might enjoy. :)
5 years, 6 months ago (2015-06-04 06:12:22 UTC) #19
chrishtr
On 2015/06/04 at 06:12:22, mstensho wrote: > Sounds like something robhogan might enjoy. :) I ...
5 years, 6 months ago (2015-06-11 19:04:46 UTC) #20
kojii
5 years, 6 months ago (2015-06-12 05:04:12 UTC) #21
Message was sent while issue was closed.
Rebased to ToT at https://codereview.chromium.org/1181983002/, and I'll look
into further.

Powered by Google App Engine
This is Rietveld 408576698