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

Issue 1271513004: Disallow relayout roots inside multicol. (Closed)

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

Description

Disallow relayout roots inside multicol. It's just too complicated to figure out if it's safe to let a descendant of a multicol container be a relayout root, so disallow it. BUG=515260 R=jchaffraix@chromium.org,leviw@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200034

Patch Set 1 #

Total comments: 3

Patch Set 2 : Code review - more tests - put everything in fast/multicol/dynamic/ #

Messages

Total messages: 8 (2 generated)
mstensho (USE GERRIT)
5 years, 4 months ago (2015-08-03 14:55:23 UTC) #1
Julien - ping for review
lgtm https://codereview.chromium.org/1271513004/diff/1/LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html File LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html (right): https://codereview.chromium.org/1271513004/diff/1/LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html#newcode7 LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html:7: <div style="-webkit-columns:2; width:20em; height:10em; line-height:2em; overflow:hidden;"> Do we ...
5 years, 4 months ago (2015-08-03 16:47:59 UTC) #2
mstensho (USE GERRIT)
https://codereview.chromium.org/1271513004/diff/1/LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html File LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html (right): https://codereview.chromium.org/1271513004/diff/1/LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html#newcode7 LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html:7: <div style="-webkit-columns:2; width:20em; height:10em; line-height:2em; overflow:hidden;"> On 2015/08/03 16:47:59, ...
5 years, 4 months ago (2015-08-04 12:06:07 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1271513004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1271513004/20001
5 years, 4 months ago (2015-08-05 07:23:32 UTC) #6
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://src.chromium.org/viewvc/blink?view=rev&revision=200034
5 years, 4 months ago (2015-08-05 07:26:41 UTC) #7
Julien - ping for review
5 years, 4 months ago (2015-08-05 16:34:26 UTC) #8
Message was sent while issue was closed.
Forgot to hit reply (sorry!), the proposed changes were great.

https://codereview.chromium.org/1271513004/diff/1/LayoutTests/fast/multicol/s...
File LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html
(right):

https://codereview.chromium.org/1271513004/diff/1/LayoutTests/fast/multicol/s...
LayoutTests/fast/multicol/span/add-spanner-inside-overflow-hidden.html:7: <div
style="-webkit-columns:2; width:20em; height:10em; line-height:2em;
overflow:hidden;">
On 2015/08/04 at 12:06:07, mstensho wrote:
> On 2015/08/03 16:47:59, Julien Chaffraix - PST wrote:
> > Do we really need both this overflow: hidden and the one just below? Same
> > question with width?
> 
> When inserting a spanner, we insert a spanner placeholder as a child of the
multicol container. This will mark the multicol container for layout. If we had
no relayout root here, we'd end up marking the ancestry chain all the way up to
LayoutView, and when the LayoutView is marked for layout, we remove any subtree
roots that were previously marked for layout
(clearLayoutSubtreeRootsAndMarkContainingBlocks()), and prevent subtree roots
from being added, until we have laid out.
> 
> But sure there are ways to trigger this without two overflow:hiddens. Added a
couple of more tests. One even failed in assertLaidOut()! I put everything in
fast/multicol/dynamic/ instead of in fast/multicol/span/ . This is not so much
about spanners; it's just that spanners are useful here to cause general misery
in the multicol code (I wasn't able to think of any way to cause trouble without
using spanners, but it might have been possible).

That's reasonable, I was just trying to make sure we had reduced the test cases
and got carried away (forgot we needed at least some relayout root with width /
height).

Powered by Google App Engine
This is Rietveld 408576698