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

Issue 1106533002: Formatting contexts should always expand to enclose floats (Closed)

Created:
5 years, 8 months ago by rhogan
Modified:
5 years, 6 months ago
CC:
blink-reviews, blink-reviews-rendering, Dominik Röttsches, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, mstensho (USE GERRIT), pdr+renderingwatchlist_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Formatting contexts should always expand to enclose floats If a block that creates a formatting context contains floats in its descendants that overhang, it should expand to enclose them. We were failing to do this when the float overhung the formatting context but not its direct ancestor. BUG=477076 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196633

Patch Set 1 #

Patch Set 2 : Updated #

Patch Set 3 : Updated #

Patch Set 4 : Updated #

Patch Set 5 : fail better #

Patch Set 6 : Updated #

Patch Set 7 : Updated #

Total comments: 7

Patch Set 8 : Updated #

Total comments: 1

Patch Set 9 : Updated #

Total comments: 6

Patch Set 10 : Updated #

Unified diffs Side-by-side diffs Delta from patch set Stats (+182 lines, -31 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -0 lines 0 comments Download
A LayoutTests/fast/block/float/formatting-context-changes.html View 1 2 3 4 5 1 chunk +25 lines, -0 lines 0 comments Download
A LayoutTests/fast/block/float/formatting-context-changes-expected.txt View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
A LayoutTests/fast/block/float/nested-floats-expand-formatting-context.html View 1 chunk +37 lines, -0 lines 0 comments Download
A LayoutTests/fast/block/float/nested-floats-expand-formatting-context-expected.html View 1 chunk +14 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/block/margin-collapse/004-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
M LayoutTests/platform/linux/fast/block/margin-collapse/block-inside-inline/004-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/float-overflow-expected.txt View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/float-overflow-right-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/layout/FloatingObjects.h View 1 2 3 4 5 6 7 8 5 chunks +7 lines, -3 lines 0 comments Download
M Source/core/layout/FloatingObjects.cpp View 1 2 3 4 5 6 7 8 9 8 chunks +46 lines, -16 lines 0 comments Download
M Source/core/layout/LayoutBlockFlow.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/layout/LayoutBlockFlow.cpp View 1 2 3 4 5 6 7 8 9 4 chunks +31 lines, -4 lines 0 comments Download

Messages

Total messages: 34 (9 generated)
rhogan
5 years, 8 months ago (2015-04-25 17:17:03 UTC) #2
rhogan
5 years, 8 months ago (2015-04-27 17:40:15 UTC) #3
leviw_travelin_and_unemployed
Clever fix! I know your previous attempts netted a 5% perf reduction... it looks like ...
5 years, 7 months ago (2015-04-28 17:38:16 UTC) #4
rhogan
On 2015/04/28 at 17:38:16, leviw wrote: > Clever fix! I know your previous attempts netted ...
5 years, 7 months ago (2015-04-30 20:07:00 UTC) #5
leviw_travelin_and_unemployed
On 2015/04/30 at 20:07:00, robhogan wrote: > On 2015/04/28 at 17:38:16, leviw wrote: > > ...
5 years, 7 months ago (2015-04-30 21:18:41 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1106533002/20001
5 years, 7 months ago (2015-05-01 18:31:28 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_compile_dbg on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/mac_blink_compile_dbg/builds/43691) mac_blink_rel on tryserver.blink (JOB_FAILED, ...
5 years, 7 months ago (2015-05-01 18:35:42 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1106533002/40001
5 years, 7 months ago (2015-05-01 18:56:44 UTC) #13
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://src.chromium.org/viewvc/blink?view=rev&revision=194831
5 years, 7 months ago (2015-05-01 20:48:18 UTC) #14
rhogan
Hi Levi, I'd like to have another go at this - revised approach available for ...
5 years, 7 months ago (2015-05-22 18:45:51 UTC) #15
leviw_travelin_and_unemployed
https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h File Source/core/layout/FloatingObjects.h (right): https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h#newcode113 Source/core/layout/FloatingObjects.h:113: unsigned m_isLowestNonOverhangingFloatInChild : 1; Nit: I'd put this above ...
5 years, 7 months ago (2015-05-22 20:52:02 UTC) #16
rhogan
https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h File Source/core/layout/FloatingObjects.h (right): https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h#newcode198 Source/core/layout/FloatingObjects.h:198: FloatingObject* m_lowestFloatObject; On 2015/05/22 at 20:52:01, leviw wrote: > ...
5 years, 7 months ago (2015-05-23 11:56:51 UTC) #17
rhogan
https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h File Source/core/layout/FloatingObjects.h (right): https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h#newcode198 Source/core/layout/FloatingObjects.h:198: FloatingObject* m_lowestFloatObject; On 2015/05/23 at 11:56:51, rhogan wrote: > ...
5 years, 7 months ago (2015-05-23 12:12:09 UTC) #18
leviw_travelin_and_unemployed
On 2015/05/23 at 12:12:09, robhogan wrote: > https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h > File Source/core/layout/FloatingObjects.h (right): > > https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/FloatingObjects.h#newcode198 ...
5 years, 7 months ago (2015-05-26 23:15:26 UTC) #19
leviw_travelin_and_unemployed
https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/LayoutBlockFlow.cpp File Source/core/layout/LayoutBlockFlow.cpp (right): https://codereview.chromium.org/1106533002/diff/120001/Source/core/layout/LayoutBlockFlow.cpp#newcode510 Source/core/layout/LayoutBlockFlow.cpp:510: void LayoutBlockFlow::addLowestFloatFromChildren(LayoutBlockFlow* block) On 2015/05/23 11:56:51, rhogan wrote: > ...
5 years, 7 months ago (2015-05-26 23:15:35 UTC) #20
rhogan
On 2015/05/26 at 23:15:26, leviw wrote: > On 2015/05/23 at 12:12:09, robhogan wrote: > > ...
5 years, 7 months ago (2015-05-27 18:06:47 UTC) #21
leviw_travelin_and_unemployed
It'd mean storing two pointers as opposed to 2 LayoutUnits and a pointer, right? https://codereview.chromium.org/1106533002/diff/140001/Source/core/layout/LayoutBlockFlow.cpp ...
5 years, 7 months ago (2015-05-27 18:51:58 UTC) #22
rhogan
On 2015/05/27 at 18:51:58, leviw wrote: > It'd mean storing two pointers as opposed to ...
5 years, 6 months ago (2015-06-02 17:52:29 UTC) #23
leviw_travelin_and_unemployed
https://codereview.chromium.org/1106533002/diff/160001/Source/core/layout/FloatingObjects.cpp File Source/core/layout/FloatingObjects.cpp (right): https://codereview.chromium.org/1106533002/diff/160001/Source/core/layout/FloatingObjects.cpp#newcode239 Source/core/layout/FloatingObjects.cpp:239: FloatingObject* floatingObject = nullptr; Nit: don't need to pull ...
5 years, 6 months ago (2015-06-02 23:05:41 UTC) #24
leviw_travelin_and_unemployed
https://codereview.chromium.org/1106533002/diff/160001/Source/core/layout/FloatingObjects.cpp File Source/core/layout/FloatingObjects.cpp (right): https://codereview.chromium.org/1106533002/diff/160001/Source/core/layout/FloatingObjects.cpp#newcode239 Source/core/layout/FloatingObjects.cpp:239: FloatingObject* floatingObject = nullptr; Nit: don't need to pull ...
5 years, 6 months ago (2015-06-02 23:05:41 UTC) #25
rhogan
https://codereview.chromium.org/1106533002/diff/160001/Source/core/layout/FloatingObjects.cpp File Source/core/layout/FloatingObjects.cpp (right): https://codereview.chromium.org/1106533002/diff/160001/Source/core/layout/FloatingObjects.cpp#newcode293 Source/core/layout/FloatingObjects.cpp:293: if (lowestFloatBottomLeft > lowestFloatBottomRight) On 2015/06/02 at 23:05:41, leviw ...
5 years, 6 months ago (2015-06-03 20:30:55 UTC) #26
leviw_travelin_and_unemployed
Thanks for clearing that up :) LGTM!
5 years, 6 months ago (2015-06-03 22:36:21 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1106533002/180001
5 years, 6 months ago (2015-06-07 18:18:06 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1106533002/180001
5 years, 6 months ago (2015-06-07 18:18:39 UTC) #33
commit-bot: I haz the power
5 years, 6 months ago (2015-06-07 18:26:03 UTC) #34
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=196633

Powered by Google App Engine
This is Rietveld 408576698