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

Issue 2136473003: [css-flexbox] Don't over-invalidate flex items (Closed)

Created:
4 years, 5 months ago by cbiesinger
Modified:
4 years, 5 months ago
Reviewers:
dgrogan, eae
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@2785
Target Ref:
refs/pending/branch-heads/2785
Project:
chromium
Visibility:
Public.

Description

[css-flexbox] Don't over-invalidate flex items dirtyForLayoutFromPercentageHeightDescendants invalidates too much. We already have code to handle this case, so remove this call. We did have a bug in that code though -- we do need to force layout on flex items even if did not lay them out already: such percentages are only resolvable if the flexbox has a definite height. However, whether the flexbox height is definite may have changed since the last layout. So, we need to relayout in either case. The similar code in applyStretchAlignment does not have this issue because percentages in the cross axis can be resolved independent of whether the flexbox height itself is definite. This is covered by an existing test; the call to dirtyForLayoutFromPercentageHeightDescendants was previously covering this case but is slower. This caused a massive performance regression (many minutes to lay out a flexbox-based website instead of a few seconds). TEST=css3/flexbox/definite-cross-sizes.html BUG=595361, 617792 R=dgrogan@chromium.org,eae@chromium.org Review-Url: https://codereview.chromium.org/2128093003 Cr-Commit-Position: refs/heads/master@{#404056} (cherry picked from commit e31affc47d4167415327e54c48da086e9152ee10) Committed: https://chromium.googlesource.com/chromium/src/+/291a41e2a82664720953ddc7bc6b3f4e86f07b83

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2 lines, -4 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp View 2 chunks +2 lines, -4 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
cbiesinger
4 years, 5 months ago (2016-07-08 16:55:37 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
291a41e2a82664720953ddc7bc6b3f4e86f07b83.

Powered by Google App Engine
This is Rietveld 408576698