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

Issue 1303993007: Floats' margins do not collapse with page or column boundaries. (Closed)

Created:
5 years, 3 months ago by mstensho (USE GERRIT)
Modified:
5 years, 3 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
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

Description

Floats' margins do not collapse with page or column boundaries. When we push a float to the next page or column, push its top margin as well, and do so consistently. In some cases we lost the margin, in some other cases we got a double margin, and in yet some other cases we actually got it right. There was code that asserted (in a comment) that having a pagination strut and being unsplittable for pagination were mutually exclusive, but that's wrong. If the first child (block / line) of a float doesn't fit in the current page or column, we'll set a strut on the float. At the same time, the float may very well be unsplittable for pagination. So, first pushing to the next page or column because it's unsplittable, and THEN adding the strut will effectively result in adding the pagination strut twice. This would be a problem both with and without a top margin on the float. R=jchaffraix@chromium.org,leviw@chromium.org Committed: https://crrev.com/f30679485a3cf6914a2334acb5b0de371aa7ceae git-svn-id: svn://svn.chromium.org/blink/trunk@202212 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+171 lines, -12 lines) Patch
A LayoutTests/fast/multicol/float-moved-by-child-line-and-unbreakable.html View 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-moved-by-child-line-and-unbreakable-expected.txt View 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-block.html View 1 chunk +18 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-block-and-unbreakable.html View 1 chunk +18 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-block-and-unbreakable-expected.txt View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-block-expected.txt View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-line.html View 1 chunk +16 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-line-and-unbreakable.html View 1 chunk +16 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-line-and-unbreakable-expected.txt View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-by-child-line-expected.txt View 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-unbreakable.html View 1 chunk +17 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/float-with-margin-moved-unbreakable-expected.txt View 1 chunk +7 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutBlockFlow.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/layout/LayoutBlockFlow.cpp View 5 chunks +22 lines, -11 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
mstensho (USE GERRIT)
5 years, 3 months ago (2015-09-09 09:01:05 UTC) #1
leviw_travelin_and_unemployed
lgtm
5 years, 3 months ago (2015-09-14 10:09:21 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1303993007/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1303993007/1
5 years, 3 months ago (2015-09-14 10:09:29 UTC) #4
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/133283)
5 years, 3 months ago (2015-09-14 10:53:45 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1303993007/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1303993007/1
5 years, 3 months ago (2015-09-14 17:36:21 UTC) #8
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://src.chromium.org/viewvc/blink?view=rev&revision=202212
5 years, 3 months ago (2015-09-14 18:04:57 UTC) #9
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:34:13 UTC) #10
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/f30679485a3cf6914a2334acb5b0de371aa7ceae

Powered by Google App Engine
This is Rietveld 408576698