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

Issue 138683005: Avoid forcing layout on children with orthogonal flow (Closed)

Created:
6 years, 11 months ago by leviw_travelin_and_unemployed
Modified:
6 years, 11 months ago
Reviewers:
abarth-chromium, ojan
CC:
blink-reviews, bemjb+rendering_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, zoltan1
Visibility:
Public.

Description

Avoid forcing layout on children with orthogonal flow Flexbox always sets an override size on its children, and keying off that, we force layout in preferredMainAxisContentExtentForChild to get the preferred logical height. This patch caches that value, and only re-lays out the child when necessary. The original version of this patch was authored by abarth, whose original patch uncovered a bug that was masked by the additional layout. resetAutoMarginsAndLogicalTopInCrossAxis previously reset the logical top but not auto margins. This would cause us to double-count cross-axis margins later on. BUG=333116 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=165162

Patch Set 1 #

Patch Set 2 : Now with expected results! #

Total comments: 2

Patch Set 3 : Addressing Ojan's comments #

Total comments: 1

Patch Set 4 : Merged to ToT #

Patch Set 5 : Updating again #

Patch Set 6 : Patch for landing (added comment) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+75 lines, -8 lines) Patch
A LayoutTests/css3/flexbox/repaint-opacity-change.html View 1 2 1 chunk +34 lines, -0 lines 0 comments Download
A LayoutTests/css3/flexbox/repaint-opacity-change-expected.txt View 1 1 chunk +7 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderFlexibleBox.h View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderFlexibleBox.cpp View 1 2 3 4 3 chunks +30 lines, -8 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
leviw_travelin_and_unemployed
6 years, 11 months ago (2014-01-14 21:56:45 UTC) #1
ojan
https://codereview.chromium.org/138683005/diff/30007/LayoutTests/css3/flexbox/repaint-opacity-change.html File LayoutTests/css3/flexbox/repaint-opacity-change.html (right): https://codereview.chromium.org/138683005/diff/30007/LayoutTests/css3/flexbox/repaint-opacity-change.html#newcode22 LayoutTests/css3/flexbox/repaint-opacity-change.html:22: .btn { Wat? https://codereview.chromium.org/138683005/diff/30007/Source/core/rendering/RenderFlexibleBox.cpp File Source/core/rendering/RenderFlexibleBox.cpp (right): https://codereview.chromium.org/138683005/diff/30007/Source/core/rendering/RenderFlexibleBox.cpp#newcode645 Source/core/rendering/RenderFlexibleBox.cpp:645: ...
6 years, 11 months ago (2014-01-14 22:05:01 UTC) #2
leviw_travelin_and_unemployed
PTAL On 2014/01/14 22:05:01, ojan wrote: > https://codereview.chromium.org/138683005/diff/30007/LayoutTests/css3/flexbox/repaint-opacity-change.html > File LayoutTests/css3/flexbox/repaint-opacity-change.html (right): > > https://codereview.chromium.org/138683005/diff/30007/LayoutTests/css3/flexbox/repaint-opacity-change.html#newcode22 ...
6 years, 11 months ago (2014-01-14 22:39:27 UTC) #3
leviw_travelin_and_unemployed
ping
6 years, 11 months ago (2014-01-15 18:35:05 UTC) #4
ojan
lgtm Huh...apparently I forgot to publish my comments. :( I blame rietveld. https://codereview.chromium.org/138683005/diff/110001/Source/core/rendering/RenderFlexibleBox.h File Source/core/rendering/RenderFlexibleBox.h ...
6 years, 11 months ago (2014-01-15 18:48:49 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/leviw@chromium.org/138683005/240001
6 years, 11 months ago (2014-01-15 19:09:16 UTC) #6
commit-bot: I haz the power
6 years, 11 months ago (2014-01-15 21:42:35 UTC) #7
Message was sent while issue was closed.
Change committed as 165162

Powered by Google App Engine
This is Rietveld 408576698