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

Issue 712553003: [New Multicolumn] Actual support for layout of column-span:all. (Closed)

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

Description

[New Multicolumn] Actual support for layout of column-span:all. There are still issues with block direction margins specified on spanners and on content adjacent to them. Will take care of that in a follow-up CL. Also no support for dynamically inserting and removing spanners yet. Another follow-up CL can be expected for that. Added some layout tests. Removed fast/multicol/newmulticol/direct-child-column-span-all.html . Although it could detect crashes, it was useless rendering-wise, since the test and the ref were identical. fast/multicol/span/sole-spanner.html should be a satisfactory replacement. BUG=347325 R=jchaffraix@chromium.org

Patch Set 1 #

Total comments: 2

Patch Set 2 : rebase master #

Patch Set 3 : rebase master #

Total comments: 33

Patch Set 4 : rebase master #

Patch Set 5 : code review - addressing the trivial issues #

Patch Set 6 : Need to remove spanner sets when a spanner is removed #

Patch Set 7 : Let containingBlock() on a spanner return the multicol container. #

Total comments: 17

Patch Set 8 : more code review #

Patch Set 9 : Break containingBlock() into pieces for locateFlowThreadContainingBlock(). #

Total comments: 26

Patch Set 10 : even more code review #

Total comments: 8

Patch Set 11 : Code review. Camelize. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1030 lines, -121 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 3 chunks +17 lines, -3 lines 0 comments Download
D LayoutTests/fast/multicol/newmulticol/direct-child-column-span-all.html View 1 chunk +0 lines, -16 lines 0 comments Download
D LayoutTests/fast/multicol/newmulticol/direct-child-column-span-all-expected.html View 1 chunk +0 lines, -16 lines 0 comments Download
A LayoutTests/fast/multicol/span/adjacent-spanners.html View 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/adjacent-spanners-expected.html View 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-after-spanner-exact-fit.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-after-spanner-exact-fit-expected.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-after-spanner-extra-height.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-after-spanner-extra-height-expected.html View 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-after-spanner-some-extra-height.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-after-spanner-some-extra-height-expected.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-before-and-after-spanner.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-before-and-after-spanner-expected.html View 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-before-spanner-extra-height.html View 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/balance-before-spanner-extra-height-expected.html View 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/break-in-columns-before-spanner.html View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/fill-after-spanner-exact-fit.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/fill-after-spanner-exact-fit-expected.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/fill-after-spanner-extra-height.html View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/fill-after-spanner-extra-height-expected.html View 1 2 3 4 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/height-decrease.html View 1 chunk +14 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/height-decrease-expected.html View 1 chunk +3 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/height-increase.html View 1 chunk +14 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/height-increase-expected.html View 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/multicol-with-spanner-becomes-regular-block.html View 1 chunk +20 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/multicol-with-spanner-becomes-regular-block-expected.html View 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-after.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-after-expected.html View 1 chunk +7 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-after-then-content.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-after-then-content-expected.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-after.html View 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-after-expected.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-after-in-content.html View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-after-in-content-expected.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-expected.html View 1 chunk +7 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-following-content.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/pseudo-before-following-content-expected.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/remaining-space-in-last-column.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/remaining-space-in-last-column-expected.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/sole-spanner.html View 1 chunk +5 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/sole-spanner-expected.html View 1 chunk +5 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/sole-spanner-inside-div.html View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/sole-spanner-inside-div-expected.html View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/span-between-text.html View 1 chunk +7 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/span-between-text-expected.html View 1 chunk +4 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-first.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-first-expected.html View 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-img.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-img-expected.html View 1 chunk +11 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-inline-block.html View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-inline-block-expected.html View 1 chunk +2 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-last.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-last-expected.html View 1 chunk +6 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-nested.html View 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-nested-dynamic.html View 1 chunk +17 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-nested-dynamic-expected.html View 1 chunk +2 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-nested-expected.html View 1 chunk +2 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-table.html View 1 chunk +13 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/spanner-table-expected.html View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/with-border.html View 1 chunk +18 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/span/with-border-expected.html View 1 chunk +18 lines, -0 lines 0 comments Download
M Source/core/rendering/LayoutState.cpp View 2 chunks +8 lines, -1 line 0 comments Download
M Source/core/rendering/RenderBlock.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderBlockFlow.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +39 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderFlowThread.h View 1 2 3 4 5 6 7 5 chunks +14 lines, -7 lines 0 comments Download
M Source/core/rendering/RenderFlowThread.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderMultiColumnFlowThread.h View 1 2 3 4 5 6 7 3 chunks +15 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnFlowThread.cpp View 1 2 3 4 5 6 7 8 9 10 chunks +132 lines, -12 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnFlowThreadTest.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +75 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnSet.h View 5 chunks +36 lines, -4 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnSet.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +60 lines, -21 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnSpannerSet.h View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnSpannerSet.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +12 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderObject.h View 1 2 3 4 5 6 7 8 3 chunks +8 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 2 3 4 5 6 7 8 9 7 chunks +72 lines, -32 lines 0 comments Download
M Source/core/rendering/RenderPagedFlowThread.h View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 11 (0 generated)
mstensho (USE GERRIT)
Quite a few tests here, that test various aspects of laying out column-span:all . If ...
6 years, 1 month ago (2014-11-07 16:06:01 UTC) #1
mstensho (USE GERRIT)
Julien, do you have time to review this?
6 years, 1 month ago (2014-11-17 22:35:02 UTC) #2
Julien - ping for review
https://codereview.chromium.org/712553003/diff/40001/LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html File LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html (right): https://codereview.chromium.org/712553003/diff/40001/LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html#newcode2 LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html:2: <p>There should be a blue <em>square</em> below.</p> That's not ...
6 years, 1 month ago (2014-11-17 23:47:12 UTC) #3
mstensho (USE GERRIT)
Addressed all issues (3 separate patch sets). Please take another look. https://codereview.chromium.org/712553003/diff/40001/LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html File LayoutTests/fast/multicol/span/break-in-columns-before-spanner-expected.html (right): ...
6 years, 1 month ago (2014-11-18 13:29:27 UTC) #4
Julien - ping for review
https://codereview.chromium.org/712553003/diff/40001/LayoutTests/fast/multicol/span/pseudo-before-after-in-content.html File LayoutTests/fast/multicol/span/pseudo-before-after-in-content.html (right): https://codereview.chromium.org/712553003/diff/40001/LayoutTests/fast/multicol/span/pseudo-before-after-in-content.html#newcode8 LayoutTests/fast/multicol/span/pseudo-before-after-in-content.html:8: <div style="-webkit-columns:4; orphans:1; widows:1; line-height:100px; background:blue;"> On 2014/11/18 13:29:26, ...
6 years, 1 month ago (2014-11-19 17:54:34 UTC) #5
mstensho (USE GERRIT)
Sorry about the slow response. Got interrupted by a crasher that I had to fix. ...
6 years, 1 month ago (2014-11-21 15:39:24 UTC) #6
Julien - ping for review
https://codereview.chromium.org/712553003/diff/120001/Source/core/rendering/RenderFlowThread.h File Source/core/rendering/RenderFlowThread.h (right): https://codereview.chromium.org/712553003/diff/120001/Source/core/rendering/RenderFlowThread.h#newcode75 Source/core/rendering/RenderFlowThread.h:75: virtual void leaveColumnSpannerAfterLayout(RenderBox*, LayoutUnit logicalBottom) { } On 2014/11/21 ...
6 years ago (2014-11-26 21:09:01 UTC) #7
mstensho (USE GERRIT)
https://codereview.chromium.org/712553003/diff/160001/LayoutTests/fast/multicol/newmulticol/direct-child-column-span-all.html File LayoutTests/fast/multicol/newmulticol/direct-child-column-span-all.html (left): https://codereview.chromium.org/712553003/diff/160001/LayoutTests/fast/multicol/newmulticol/direct-child-column-span-all.html#oldcode14 LayoutTests/fast/multicol/newmulticol/direct-child-column-span-all.html:14: <div>Test added as part of <a href="https://code.google.com/p/chromium/issues/detail?id=242129">242129 - ASSERTION ...
6 years ago (2014-11-27 21:20:30 UTC) #8
Julien - ping for review
I think the next iteration (with the containing block changes out) will look good. https://codereview.chromium.org/712553003/diff/160001/Source/core/rendering/RenderMultiColumnSpannerSet.cpp ...
6 years ago (2014-12-03 23:02:22 UTC) #9
mstensho (USE GERRIT)
As you have pointed out, we cheat regarding the containing block, and the proposed solution ...
6 years ago (2014-12-10 13:48:19 UTC) #10
mstensho (USE GERRIT)
6 years ago (2014-12-15 08:45:27 UTC) #11
https://codereview.chromium.org/789433006/ has landed. Closing this. Support for
actual spanner layout is here now: https://codereview.chromium.org/792803002/

Powered by Google App Engine
This is Rietveld 408576698