DescriptionSplit 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 #
Messages
Total messages: 9 (0 generated)
|