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

Issue 1109513002: [New Multicolumn] Don't enter child multicol contexts when processing object insertions / removals. (Closed)

Created:
5 years, 8 months ago by mstensho (USE GERRIT)
Modified:
5 years, 8 months ago
CC:
blink-reviews, blink-reviews-rendering, Dominik Röttsches, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, mstensho (USE GERRIT), pdr+renderingwatchlist_chromium.org, zoltan1
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+94 lines, -38 lines) Patch
A LayoutTests/fast/multicol/inner-multicol-moved-into-continuation.html View 1 chunk +16 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/inner-multicol-moved-into-continuation-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutMultiColumnFlowThread.cpp View 1 4 chunks +62 lines, -34 lines 0 comments Download
M Source/core/layout/LayoutObject.cpp View 2 chunks +11 lines, -4 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
mstensho (USE GERRIT)
5 years, 8 months ago (2015-04-24 12:47:22 UTC) #1
dsinclair
lgtm w/ nit. https://codereview.chromium.org/1109513002/diff/1/Source/core/layout/LayoutMultiColumnFlowThread.cpp File Source/core/layout/LayoutMultiColumnFlowThread.cpp (right): https://codereview.chromium.org/1109513002/diff/1/Source/core/layout/LayoutMultiColumnFlowThread.cpp#newcode474 Source/core/layout/LayoutMultiColumnFlowThread.cpp:474: for (LayoutObject* renderer = descendant; renderer; ...
5 years, 8 months ago (2015-04-24 13:13:30 UTC) #2
mstensho (USE GERRIT)
https://codereview.chromium.org/1109513002/diff/1/Source/core/layout/LayoutMultiColumnFlowThread.cpp File Source/core/layout/LayoutMultiColumnFlowThread.cpp (right): https://codereview.chromium.org/1109513002/diff/1/Source/core/layout/LayoutMultiColumnFlowThread.cpp#newcode474 Source/core/layout/LayoutMultiColumnFlowThread.cpp:474: for (LayoutObject* renderer = descendant; renderer; renderer = next) ...
5 years, 8 months ago (2015-04-24 13:27:26 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1109513002/20001
5 years, 8 months ago (2015-04-24 13:27:54 UTC) #6
commit-bot: I haz the power
5 years, 8 months ago (2015-04-24 16:10:10 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=194402

Powered by Google App Engine
This is Rietveld 408576698