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

Issue 1461923005: When balancing columns, we must check inner multicols for unbreakable content. (Closed)

Created:
5 years, 1 month ago by mstensho (USE GERRIT)
Modified:
5 years, 1 month ago
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, mstensho (USE GERRIT), pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

When balancing columns, we must check inner multicols for unbreakable content. No multicol container should suggest to initially use a column height less than the height of the tallest piece of unbreakable content inside. TL;DR some related cleanup. Introduce the term tallestUnbreakableLogicalHeight in favor of minimumColumnLogicalHeight, as the latter could easily be confused with initial column height; the height found by InitialColumnHeightFinder, which is also sometimes referred to as initial minimal column height. Furthermore, there's already a concept of *maximum* column logical height in fragmentainer groups, which is derived from such things as CSS max-height. Since max-height actually trumps the height of the tallest piece of unbreakable content in multicol (while in CSS, min-height wins over max-height), it was just too confusing to keep using "minimum column height" for this. This change also makes it necessary to modify the containing column set when calculating the initial column height for fragmentainer groups, so this part kind of had to be moved from the const method calculateColumnHeight(). There was already code that walked around that method when calculating the column height, so being even more of a misnomer than before, it was renamed to rebalanceColumnHeightIfNeeded(). BUG=447718 R=leviw@chromium.org Committed: https://crrev.com/3cfb1712dfae0983720f1cee06810a103484f271 Cr-Commit-Position: refs/heads/master@{#361082}

Patch Set 1 #

Total comments: 2

Patch Set 2 : code review - std::max FTW #

Messages

Total messages: 9 (2 generated)
mstensho (USE GERRIT)
5 years, 1 month ago (2015-11-20 21:43:29 UTC) #1
leviw_travelin_and_unemployed
You're an unstoppable machine!
5 years, 1 month ago (2015-11-20 21:44:09 UTC) #2
leviw_travelin_and_unemployed
Thanks again for the useful descriptions. LGTM. https://codereview.chromium.org/1461923005/diff/1/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp File third_party/WebKit/Source/core/layout/ColumnBalancer.cpp (right): https://codereview.chromium.org/1461923005/diff/1/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp#newcode115 third_party/WebKit/Source/core/layout/ColumnBalancer.cpp:115: if (m_tallestUnbreakableLogicalHeight ...
5 years, 1 month ago (2015-11-20 22:26:31 UTC) #3
mstensho (USE GERRIT)
https://codereview.chromium.org/1461923005/diff/1/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp File third_party/WebKit/Source/core/layout/ColumnBalancer.cpp (right): https://codereview.chromium.org/1461923005/diff/1/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp#newcode115 third_party/WebKit/Source/core/layout/ColumnBalancer.cpp:115: if (m_tallestUnbreakableLogicalHeight < unsplittableLogicalHeight) On 2015/11/20 22:26:31, leviw wrote: ...
5 years, 1 month ago (2015-11-23 09:06:32 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1461923005/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1461923005/20001
5 years, 1 month ago (2015-11-23 09:06:47 UTC) #7
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 1 month ago (2015-11-23 10:14:07 UTC) #8
commit-bot: I haz the power
5 years, 1 month ago (2015-11-23 10:14:51 UTC) #9
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/3cfb1712dfae0983720f1cee06810a103484f271
Cr-Commit-Position: refs/heads/master@{#361082}

Powered by Google App Engine
This is Rietveld 408576698