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

Issue 1856373002: Only allow forced fragmentainer breaks at class A break points. (Closed)

Created:
4 years, 8 months ago by mstensho (USE GERRIT)
Modified:
4 years, 8 months ago
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, 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

Only allow forced fragmentainer breaks at class A break points. https://drafts.csswg.org/css-break/#possible-breaks https://drafts.csswg.org/css-break/#forced-breaks The essential change is that forced breaks are not allowed before a first child or after a last child, only between siblings. Floats and auto-positioned out-of-flow siblings after the last in-flow child still need to honor the break-after value of said last in-flow child, though. Updated the forced-break-before-complex-margin-collapsing.html test, since it became invalid. Top margins after forced breaks should not be eaten by the column boundary. It also made an incorrect assumption about inserting a forced break in front of a first child block. That's no valid class A break point. This change also made printing/css2.1/page-break-after-003.html pass, which has a break-after:page block with no in-flow block following it - i.e. there'll be no class A break point for it to have any effect. It should not create a blank page at the end. BUG=223068, 539873 Committed: https://crrev.com/893602648192952b73b33f060d7767c51b5440ed Cr-Commit-Position: refs/heads/master@{#385955}

Patch Set 1 #

Patch Set 2 : Update unit test. #

Patch Set 3 : Woho! LayoutTests/printing/css2.1/page-break-after-003.html now passes. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+384 lines, -80 lines) Patch
M third_party/WebKit/LayoutTests/fast/multicol/forced-break-before-complex-margin-collapsing.html View 1 chunk +11 lines, -11 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/multicol/forced-break-before-complex-margin-collapsing-expected.txt View 1 chunk +7 lines, -6 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/abspos-after-forced-break.html View 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/abspos-after-forced-break-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/break-after-last-child.html View 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/break-after-last-child-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/break-before-first-child.html View 1 chunk +15 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/break-before-first-child-expected.txt View 1 chunk +6 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/collapsing-class-a-breakpoints.html View 1 chunk +30 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/collapsing-class-a-breakpoints-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/float-after-forced-break.html View 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fragmentation/float-after-forced-break-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/printing/css2.1/page-break-after-003-expected.txt View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ColumnBalancer.h View 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ColumnBalancer.cpp View 5 chunks +6 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.h View 4 chunks +18 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 18 chunks +144 lines, -35 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.h View 1 chunk +19 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 chunk +50 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/PaginationTest.cpp View 1 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (5 generated)
mstensho (USE GERRIT)
I'm fairly confident that the bots have no reasons to cough at my patch now, ...
4 years, 8 months ago (2016-04-05 18:12:04 UTC) #3
leviw_travelin_and_unemployed
FYI, I've begun reviewing this. It's taking me awhile to parse it all.
4 years, 8 months ago (2016-04-06 22:29:30 UTC) #4
mstensho (USE GERRIT)
On 2016/04/06 22:29:30, leviw wrote: > FYI, I've begun reviewing this. It's taking me awhile ...
4 years, 8 months ago (2016-04-07 07:41:43 UTC) #5
leviw_travelin_and_unemployed
Alright... LGTM. Thanks for the documentation that helped me get through this :)
4 years, 8 months ago (2016-04-08 00:32:12 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1856373002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1856373002/40001
4 years, 8 months ago (2016-04-08 00:32:47 UTC) #8
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 8 months ago (2016-04-08 03:00:46 UTC) #10
commit-bot: I haz the power
4 years, 8 months ago (2016-04-08 03:02:04 UTC) #12
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/893602648192952b73b33f060d7767c51b5440ed
Cr-Commit-Position: refs/heads/master@{#385955}

Powered by Google App Engine
This is Rietveld 408576698