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

Issue 288263002: [New Multicolumn] Rebalance properly when child content changes. (Closed)

Created:
6 years, 7 months ago by mstensho (USE GERRIT)
Modified:
6 years, 7 months ago
CC:
blink-reviews, mstensho+blink_opera.com, blink-reviews-rendering, chromiumbugtracker_adobe.com, zoltan1, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, pdr., rune+blink
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

[New Multicolumn] Rebalance properly when child content changes. Some refactoring and cleanup in layoutColumns() & friends was necessary to get this a bit more robust and consistent. Always prepare column sets for layout when we're going to lay out the flow thread. Even when the sets themselves are not going to be laid out, laying out the flow thread will update things in the sets, so we need a clean slate. This includes making sure that the list of old content runs is empty (clean it when the initial column height has been calculated). This fixes an assertion failure in the beginning of distributeImplicitBreaks(). Added a test that used to trigger this. Make sure that we always validate regions after layout. Doing it from the last set was just bogus. There may be no sets, or the last set may not have been marked for layout. In both cases we'd end up failing to validate. This would result in assertion failures and inability to map from a flow thread coordinate to a set. BUG=370813 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=174854

Patch Set 1 #

Patch Set 2 : rebase master #

Total comments: 10

Patch Set 3 : rebase master #

Patch Set 4 : Get rid of updateLogicalWidth(); it's not needed if we move what it does to more appropriate places. #

Patch Set 5 : Get rid of prepareForLayout(). Most of what it did is now in resetColumnHeight(). Avoid modifying t… #

Patch Set 6 : More cleanup; avoid bool arguments. Get rid of layout() override. #

Total comments: 10

Patch Set 7 : code review #

Messages

Total messages: 11 (0 generated)
mstensho (USE GERRIT)
6 years, 7 months ago (2014-05-15 16:57:54 UTC) #1
mstensho (USE GERRIT)
6 years, 7 months ago (2014-05-20 10:43:34 UTC) #2
Julien - ping for review
Some comments, I didn't dive really deep into the change though. https://codereview.chromium.org/288263002/diff/20001/Source/core/rendering/RenderMultiColumnFlowThread.cpp File Source/core/rendering/RenderMultiColumnFlowThread.cpp (right): ...
6 years, 7 months ago (2014-05-20 17:03:03 UTC) #3
mstensho (USE GERRIT)
https://codereview.chromium.org/288263002/diff/20001/Source/core/rendering/RenderMultiColumnFlowThread.cpp File Source/core/rendering/RenderMultiColumnFlowThread.cpp (right): https://codereview.chromium.org/288263002/diff/20001/Source/core/rendering/RenderMultiColumnFlowThread.cpp#newcode160 Source/core/rendering/RenderMultiColumnFlowThread.cpp:160: columnSet->prepareForLayout(!m_inBalancingPass); On 2014/05/20 17:03:04, Julien Chaffraix - CET wrote: ...
6 years, 7 months ago (2014-05-21 09:02:33 UTC) #4
mstensho (USE GERRIT)
I've addressed all issues now + some more related cleanup. I made separate commits, in ...
6 years, 7 months ago (2014-05-22 15:07:18 UTC) #5
Julien - ping for review
https://codereview.chromium.org/288263002/diff/90001/LayoutTests/fast/multicol/change-block-child-height.html File LayoutTests/fast/multicol/change-block-child-height.html (right): https://codereview.chromium.org/288263002/diff/90001/LayoutTests/fast/multicol/change-block-child-height.html#newcode10 LayoutTests/fast/multicol/change-block-child-height.html:10: <p>There should be a blue <em>square</em> below.</p> With no ...
6 years, 7 months ago (2014-05-23 09:07:54 UTC) #6
mstensho (USE GERRIT)
https://codereview.chromium.org/288263002/diff/90001/LayoutTests/fast/multicol/change-block-child-height.html File LayoutTests/fast/multicol/change-block-child-height.html (right): https://codereview.chromium.org/288263002/diff/90001/LayoutTests/fast/multicol/change-block-child-height.html#newcode10 LayoutTests/fast/multicol/change-block-child-height.html:10: <p>There should be a blue <em>square</em> below.</p> On 2014/05/23 ...
6 years, 7 months ago (2014-05-23 11:46:08 UTC) #7
mstensho (USE GERRIT)
6 years, 7 months ago (2014-05-27 08:12:14 UTC) #8
Julien - ping for review
lgtm
6 years, 7 months ago (2014-05-27 09:29:20 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mstensho@opera.com/288263002/110001
6 years, 7 months ago (2014-05-27 09:29:35 UTC) #10
commit-bot: I haz the power
6 years, 7 months ago (2014-05-27 10:43:56 UTC) #11
Message was sent while issue was closed.
Change committed as 174854

Powered by Google App Engine
This is Rietveld 408576698