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

Issue 1625993004: [css-align] Avoid the style Reattach whenever align-items changes. (Closed)

Created:
4 years, 11 months ago by jfernandez
Modified:
4 years, 10 months ago
Reviewers:
cbiesinger, svillar, esprehn
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-layout_chromium.org, blink-reviews-style_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, jchaffraix+rendering, jfernandez, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, Manuel Rego, rwlbuis, svillar, 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

[css-align] Avoid the style Reattach whenever align-items changes. The align-items property defines the default beahvior of children boxes with 'auto' values on the align-self property. Since the spec states that the computed style of these properties must be resolved, using different values depending on the kind of element, we have implemented this style resolution using the StyleAdjuster logic. Because of this approach in the implementation, when the value of the align-items property changes we have to recalculate the style tree, because some of the 'auto' values have been resolved already to the previous value. Hence, we need to trigger again the style resolution logic, via the StyleAdjustment, which requires the style changes to force a Reattach. There are several problems with this approach. One of them are the excessive number of style and paint invalidations when any of this alignment properties change. Another problem, which is the one reported in the bug this patch address, is that it prevents animations and transitions to be executed when they involve changes in the alignment properties. BUG=580070 Committed: https://crrev.com/89b4a2addd0e3e82a1ca8213d31323fdc2e6395a Cr-Commit-Position: refs/heads/master@{#372666}

Patch Set 1 #

Patch Set 2 : Fixed the parsing tests and skipping the rest. #

Total comments: 4

Patch Set 3 : Applied suggested changes. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -17 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/alignment/parse-align-self.html View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/alignment/parse-align-self-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp View 1 2 1 chunk +7 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp View 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutGrid.cpp View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.cpp View 1 2 2 chunks +12 lines, -2 lines 0 comments Download

Messages

Total messages: 10 (4 generated)
jfernandez
4 years, 10 months ago (2016-01-28 22:35:30 UTC) #2
esprehn
lgtm w/ a TODO to fix the broken-ness in shadow dom, and also switching to ...
4 years, 10 months ago (2016-01-29 04:20:56 UTC) #3
cbiesinger
I agree with Elliott's comments here.
4 years, 10 months ago (2016-01-29 21:18:16 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1625993004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1625993004/40001
4 years, 10 months ago (2016-02-01 14:42:06 UTC) #7
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 10 months ago (2016-02-01 15:50:05 UTC) #8
commit-bot: I haz the power
4 years, 10 months ago (2016-02-01 15:51:03 UTC) #10
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/89b4a2addd0e3e82a1ca8213d31323fdc2e6395a
Cr-Commit-Position: refs/heads/master@{#372666}

Powered by Google App Engine
This is Rietveld 408576698