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

Issue 368733002: Split list marker updating into two steps (Closed)

Created:
6 years, 5 months ago by pdr.
Modified:
6 years, 5 months ago
CC:
blink-reviews, blink-reviews-html_chromium.org, blink-reviews-rendering, dglazkov+blink, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, rune+blink, zoltan1
Project:
blink
Visibility:
Public.

Description

Split list marker updating into two steps This patch reverts r164210[1] and fixes it in a different way. A list marker can be parented on different renderers and changing a list marker to being "inside" can change the parent. This patch splits the reparent and update steps from invalidating list marker parent's width. This refactoring has a few advantages such as removing the preferredLogicalWidthsDirty check and not dirtying the marker's child lines since these steps happen naturally as part of reparenting the marker renderer. Detailed changes: 1) updateMarkerLocation is now a private implementation detail of RenderListItem. 2) The reparent and update steps have been refactored out of updateMarkerLocation. updateMarkerLocation now reparents and updates the marker while updateMarkerLocationAndInvalidateWidth adds a width invalidation step that's necessary only during layout (before layout it wouldn't do anything). 3) The comment "Sanity check the location of our marker." has been removed--there is no sanity in the render list marker code. 4) HTMLLIElement::attach now just does the reparent and update steps instead of also invalidating the marker's width. [1] https://src.chromium.org/viewvc/blink?view=rev&revision=164210 BUG=301196, 390569 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177428

Patch Set 1 #

Patch Set 2 : Introduce reparentMarker #

Patch Set 3 : Cleanup #

Patch Set 4 : My inner bikeshed #

Total comments: 6

Patch Set 5 : Address reviewer comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+64 lines, -50 lines) Patch
M Source/core/html/HTMLLIElement.cpp View 1 chunk +1 line, -3 lines 0 comments Download
M Source/core/rendering/RenderListItem.h View 1 2 3 4 2 chunks +5 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderListItem.cpp View 1 2 3 4 2 chunks +58 lines, -45 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
esprehn
Your failure looks real: fast/lists/list-item-without-list-reparented-crash.html
6 years, 5 months ago (2014-07-02 00:11:00 UTC) #1
pdr.
Ready for an initial review.
6 years, 5 months ago (2014-07-02 04:29:15 UTC) #2
skobes
lgtm https://codereview.chromium.org/368733002/diff/60001/Source/core/rendering/RenderListItem.h File Source/core/rendering/RenderListItem.h (right): https://codereview.chromium.org/368733002/diff/60001/Source/core/rendering/RenderListItem.h#newcode72 Source/core/rendering/RenderListItem.h:72: bool updateMarker(); Suggest a comment explaining the meaning ...
6 years, 5 months ago (2014-07-02 05:59:43 UTC) #3
leviw_travelin_and_unemployed
LGTM with some nits. I hope we get to a place where we actually stop ...
6 years, 5 months ago (2014-07-02 18:07:15 UTC) #4
pdr.
Thanks for the reviews! Unfortunately I don't think we can really test the change from ...
6 years, 5 months ago (2014-07-02 18:39:30 UTC) #5
leviw_travelin_and_unemployed
On 2014/07/02 at 18:39:30, pdr wrote: > Thanks for the reviews! > > Unfortunately I ...
6 years, 5 months ago (2014-07-02 21:18:07 UTC) #6
pdr.
The CQ bit was checked by pdr@chromium.org
6 years, 5 months ago (2014-07-02 21:20:02 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pdr@chromium.org/368733002/80001
6 years, 5 months ago (2014-07-02 21:21:55 UTC) #8
commit-bot: I haz the power
6 years, 5 months ago (2014-07-02 22:23:50 UTC) #9
Message was sent while issue was closed.
Change committed as 177428

Powered by Google App Engine
This is Rietveld 408576698