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

Issue 1375673004: Keep block pagination struts after layout, and store them before any type of break. (Closed)

Created:
5 years, 2 months ago by mstensho (USE GERRIT)
Modified:
5 years, 2 months ago
CC:
blink-reviews, blink-reviews-layout_chromium.org, 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

Keep block pagination struts after layout, and store them before any type of break. Any block-level object (block container, block-displayed image, for instance) may now have a strut, so this is stored in the rare data section of LayoutBox. Added layout tests for things that I nearly broke or wanted to make sure that I didn't break, while working on this. No behavioral changes are intended with this CL, and because struts aren't web-exposed, I added a few "unit tests" for pagination struts. This is a preparatory patch for refactoring the column balancing implementation to do everything after layout, instead of during layout (will fix bugs, get rid of the rather esoteric setPageBreak() calls scattered around, and also make it easier to do optimizations in the future, instead of doing almost unconditional deep layout passes when doing multicol or printing). R=jchaffraix@chromium.org,leviw@chromium.org Committed: https://crrev.com/d956b23cdf5ea03eb1cf350cb5ca827745b8310a Cr-Commit-Position: refs/heads/master@{#352804}

Patch Set 1 #

Total comments: 6

Patch Set 2 : code review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+320 lines, -32 lines) Patch
A third_party/WebKit/LayoutTests/fast/multicol/abspos-after-break-after.html View 1 chunk +8 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/abspos-after-break-after-expected.html View 1 chunk +3 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/float-after-break-after.html View 1 chunk +6 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/float-after-break-after-expected.html View 1 chunk +3 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/forced-break-before-complex-margin-collapsing.html View 1 chunk +24 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/forced-break-before-complex-margin-collapsing-expected.txt View 1 chunk +12 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/unforced-break-after-complex-margin-collapsing.html View 1 chunk +22 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/unforced-break-after-complex-margin-collapsing-expected.txt View 1 chunk +13 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 1 3 chunks +48 lines, -32 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.h View 1 2 chunks +19 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 chunk +7 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/PaginationTest.cpp View 1 chunk +154 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
mstensho (USE GERRIT)
5 years, 2 months ago (2015-10-06 12:49:11 UTC) #1
leviw_travelin_and_unemployed
https://codereview.chromium.org/1375673004/diff/1/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp File third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp (right): https://codereview.chromium.org/1375673004/diff/1/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp#newcode698 third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:698: child.setPaginationStrut(LayoutUnit()); We should probably have a resetPaginationStrut() method :) ...
5 years, 2 months ago (2015-10-06 13:17:59 UTC) #2
mstensho (USE GERRIT)
https://codereview.chromium.org/1375673004/diff/1/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp File third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp (right): https://codereview.chromium.org/1375673004/diff/1/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp#newcode698 third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:698: child.setPaginationStrut(LayoutUnit()); On 2015/10/06 13:17:59, leviw wrote: > We should ...
5 years, 2 months ago (2015-10-06 14:01:45 UTC) #3
leviw_travelin_and_unemployed
lgtm
5 years, 2 months ago (2015-10-07 07:38:21 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1375673004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1375673004/20001
5 years, 2 months ago (2015-10-07 07:40:52 UTC) #6
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 2 months ago (2015-10-07 08:54:04 UTC) #7
commit-bot: I haz the power
5 years, 2 months ago (2015-10-07 08:55:11 UTC) #8
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/d956b23cdf5ea03eb1cf350cb5ca827745b8310a
Cr-Commit-Position: refs/heads/master@{#352804}

Powered by Google App Engine
This is Rietveld 408576698