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

Issue 1421423003: Require spanners to have the multicol container as their nearest block formatting context. (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

Require spanners to have the multicol container as their nearest block formatting context. The editor's draft [1] suggests that a column-span:all object needs to be in the same block formatting context, so disallow column-span for everything else. MSIE does the same. Gecko doesn't support spanners. While this simplifies the code and gives us less to worry about (and it actually fixes bug 529737, although that wasn't my main motivation here), another reason to make this change is that we'd get assertion failures if we put a spanner inside a scrollable flex item inside a flexbox inside a multicol inside another flexbox. The reason why the assertion failures happen is the LayoutBlock::finishDelayUpdateScrollInfo() mechanism, which may jump to some arbitrary block in the subtree and lay it out directly. While that is bad on its own, the multicol implementation should now at least be immune to damage caused by that. Removed some old tests that are now invalid, because they expected spanners to be created inside scrollable containers. This no longer works, because non-visible overflow implies a new block formatting context. [1] https://drafts.csswg.org/css-multicol/#column-span BUG=529737 R=leviw@chromium.org Committed: https://crrev.com/7b65998a89f974e7c7f5dfce4f4eae7fa69b421d Cr-Commit-Position: refs/heads/master@{#356680}

Patch Set 1 #

Patch Set 2 : Add test for bug 529737 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+40 lines, -98 lines) Patch
D third_party/WebKit/LayoutTests/fast/multicol/dynamic/add-spanner-inside-overflow-hidden.html View 1 chunk +0 lines, -17 lines 0 comments Download
D third_party/WebKit/LayoutTests/fast/multicol/dynamic/add-spanner-inside-overflow-hidden-expected.html View 1 chunk +0 lines, -10 lines 0 comments Download
D third_party/WebKit/LayoutTests/fast/multicol/dynamic/relayout-inside-overflow-hidden.html View 1 chunk +0 lines, -19 lines 0 comments Download
D third_party/WebKit/LayoutTests/fast/multicol/dynamic/relayout-inside-overflow-hidden-expected.html View 1 chunk +0 lines, -7 lines 0 comments Download
D third_party/WebKit/LayoutTests/fast/multicol/dynamic/relayout-spanner-parent-inside-overflow-hidden.html View 1 chunk +0 lines, -17 lines 0 comments Download
D third_party/WebKit/LayoutTests/fast/multicol/dynamic/relayout-spanner-parent-inside-overflow-hidden-expected.html View 1 chunk +0 lines, -7 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/multicol/span/inside-overflow-hidden-crash.html View 1 1 chunk +4 lines, -3 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/multicol/span/inside-overflow-hidden-crash-expected.txt View 1 0 chunks +-1 lines, --1 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/span/spanner-in-flexbox-in-multicol-in-flexbox-crash.html View 1 chunk +27 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/span/spanner-in-flexbox-in-multicol-in-flexbox-crash-expected.txt View 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.h View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp View 1 chunk +5 lines, -17 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
mstensho (USE GERRIT)
I decided against fixing the LayoutBlock::finishDelayUpdateScrollInfo() (used by flexbox) mechanism for now. We obviously need ...
5 years, 1 month ago (2015-10-27 14:43:57 UTC) #1
leviw_travelin_and_unemployed
LGTM. Good call on working out a reasonable solution to this issue.
5 years, 1 month ago (2015-10-27 18:35:34 UTC) #3
mstensho (USE GERRIT)
Turns out that this also fixes bug 529737, so I added a test for that ...
5 years, 1 month ago (2015-10-28 09:13:14 UTC) #5
leviw_travelin_and_unemployed
On 2015/10/28 at 09:13:14, mstensho wrote: > Turns out that this also fixes bug 529737, ...
5 years, 1 month ago (2015-10-28 22:15:56 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1421423003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1421423003/20001
5 years, 1 month ago (2015-10-28 22:17:27 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 1 month ago (2015-10-28 22:50:51 UTC) #10
commit-bot: I haz the power
5 years, 1 month ago (2015-10-28 22:51:28 UTC) #11
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/7b65998a89f974e7c7f5dfce4f4eae7fa69b421d
Cr-Commit-Position: refs/heads/master@{#356680}

Powered by Google App Engine
This is Rietveld 408576698