Description[New Multicolumn] Don't enter child multicol contexts when processing object insertions / removals.
If we were to process a descendant flow thread and its descendants, we would
need to descend into it properly, by calling flowThreadDescendantWasInserted()
/ flowThreadDescendantWillBeRemoved() on the inner flow thread for all its
children (instead of erroneously pretending that the inner flow thread's
children were part of the outer flow thread). But instead of doing all that,
just skip the whole thing. When whole subtrees are inserted or removed, it's
typically done via moveChildTo() & co, and we can safely leave inner flow
threads (and their associated column sets and spanner placeholders) as they
are. The move will not affect them. They will be exactly as much multicol
before and after the move.
Also rename a local variable from |nextRenderer| to |objectAfterSubtree| to
avoid confusion with the new variable |next|.
Similarly, only update the flow thread state flag for the objects that actually
belong to a given flow thread (i.e. don't descend into descendant flow
threads).
BUG=479126
R=dsinclair@chromium.org,jchaffraix@chromium.org
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=194402
Patch Set 1 #
Total comments: 2
Patch Set 2 : code review: renderer -> layoutObject #
Messages
Total messages: 7 (2 generated)
|