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

Issue 2356183002: Stay put at the top of the current page when inserting a forced break. (Closed)

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

Description

Stay put at the top of the current page when inserting a forced break. If we attempt to insert a forced break, and we're already at the top of a page or column, we should stay right there, instead of leaving an entire page or column blank. We used to ensure this by calling nextPageLogicalTop() with AssociateWithFormerPage. But it was broken, because AssociateWithFormerPage could take us to a column set preceding a column spanner that we had actually moved past. This would confuse various parts of the machinery, and could, among other things, find unused space in the last column preceding a spanner, and use this as a pagination strut on an object *following* the spanner. Remove PageBoundaryRule from nextPageLogicalTop(), and let the forced break insertion code handle this on its own instead, and do it correctly, without looking back at preceding columns. BUG=647475 Committed: https://crrev.com/97ed9c5f12b724ba8db5ec1e60dd1a92cde5d05c Cr-Commit-Position: refs/heads/master@{#420072}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+79 lines, -19 lines) Patch
A third_party/WebKit/LayoutTests/fast/multicol/break-after-empty-set-crash.html View 1 chunk +12 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/forced-break-after-block-with-spanner.html View 1 chunk +16 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/multicol/forced-break-after-block-with-spanner-expected.html View 1 chunk +2 lines, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/forced-break-after-empty-block-after-spanner.html View 1 chunk +15 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/multicol/forced-break-after-empty-block-after-spanner-expected.html View 1 chunk +2 lines, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/forced-break-after-last-block-before-spanner.html View 1 chunk +16 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/multicol/forced-break-after-last-block-before-spanner-expected.html View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.h View 1 chunk +1 line, -9 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 3 chunks +11 lines, -5 lines 0 comments Download

Messages

Total messages: 12 (7 generated)
mstensho (USE GERRIT)
4 years, 3 months ago (2016-09-21 12:57:07 UTC) #4
eae
Nicely clean and well tested, I like it! LGTM
4 years, 3 months ago (2016-09-21 13:21:49 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2356183002/1
4 years, 3 months ago (2016-09-21 14:55:35 UTC) #9
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 3 months ago (2016-09-21 16:08:27 UTC) #10
commit-bot: I haz the power
4 years, 3 months ago (2016-09-21 16:10:34 UTC) #12
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/97ed9c5f12b724ba8db5ec1e60dd1a92cde5d05c
Cr-Commit-Position: refs/heads/master@{#420072}

Powered by Google App Engine
This is Rietveld 408576698