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

Issue 538613003: Don't always full invalidate on change of align-content, align-items and align-self. (Closed)

Created:
6 years, 3 months ago by Xianzhu
Modified:
6 years, 3 months ago
CC:
blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr., rune+blink, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Don't always full invalidate on change of align-content, align-items and align-self. On change of align-content, align-items and align-self, if there are real geometry changes, the renderer can handle through the normal geometry change path. Otherwise we should not repaint. Move the cases from RenderStyle::diffNeedsFullLayoutAndPaintInvalidation() to RenderStyle::diffNeedsFullLayout Tests cover cases of align-content, align-items and align-self changes needing invalidation, and align-content and align-self changes not needing invalidation. For now any change of align-items causes reattaching of RenderObject so we still always invalidate. This change is needed for bug 408697 (position style change) because changing position:relative to position:absolute also changes align-self. BUG=375876 TEST=fast/repaint/align*.html R=dsinclair@chromium.org, jchaffraix@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181415

Patch Set 1 #

Total comments: 5

Patch Set 2 : s/repaint/invalidation/ in tests #

Patch Set 3 : Update test expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+269 lines, -0 lines) Patch
A LayoutTests/fast/repaint/align-content-change.html View 1 1 chunk +35 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/align-content-change-expected.txt View 1 2 1 chunk +21 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/align-content-change-keeping-geometry.html View 1 1 chunk +28 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/align-content-change-keeping-geometry-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
A LayoutTests/fast/repaint/align-content-change-no-flex.html View 1 1 chunk +28 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/align-content-change-no-flex-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
A LayoutTests/fast/repaint/align-items-change.html View 1 1 chunk +34 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/align-items-change-expected.txt View 1 2 1 chunk +23 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/align-self-change.html View 1 1 chunk +35 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/align-self-change-expected.txt View 1 2 1 chunk +4 lines, -1 line 0 comments Download
A LayoutTests/fast/repaint/align-self-change-keeping-geometry.html View 1 1 chunk +29 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/align-self-change-keeping-geometry-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
A LayoutTests/fast/repaint/align-self-change-no-flex.html View 1 1 chunk +29 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/align-self-change-no-flex-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
M Source/core/rendering/style/RenderStyle.cpp View 2 chunks +7 lines, -3 lines 0 comments Download

Messages

Total messages: 12 (4 generated)
Xianzhu
6 years, 3 months ago (2014-09-03 20:38:29 UTC) #2
dsinclair
https://codereview.chromium.org/538613003/diff/1/LayoutTests/fast/repaint/align-content-change.html File LayoutTests/fast/repaint/align-content-change.html (right): https://codereview.chromium.org/538613003/diff/1/LayoutTests/fast/repaint/align-content-change.html#newcode27 LayoutTests/fast/repaint/align-content-change.html:27: <p style="height: 20px">Tests repaint on align-content style change. Passes ...
6 years, 3 months ago (2014-09-03 20:48:12 UTC) #3
Xianzhu
https://codereview.chromium.org/538613003/diff/1/LayoutTests/fast/repaint/align-content-change.html File LayoutTests/fast/repaint/align-content-change.html (right): https://codereview.chromium.org/538613003/diff/1/LayoutTests/fast/repaint/align-content-change.html#newcode27 LayoutTests/fast/repaint/align-content-change.html:27: <p style="height: 20px">Tests repaint on align-content style change. Passes ...
6 years, 3 months ago (2014-09-03 21:29:20 UTC) #4
dsinclair
lgtm https://codereview.chromium.org/538613003/diff/1/LayoutTests/fast/repaint/align-content-change.html File LayoutTests/fast/repaint/align-content-change.html (right): https://codereview.chromium.org/538613003/diff/1/LayoutTests/fast/repaint/align-content-change.html#newcode27 LayoutTests/fast/repaint/align-content-change.html:27: <p style="height: 20px">Tests repaint on align-content style change. ...
6 years, 3 months ago (2014-09-04 14:10:46 UTC) #5
Julien - ping for review
lgtm
6 years, 3 months ago (2014-09-04 18:45:17 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wangxianzhu@chromium.org/538613003/40001
6 years, 3 months ago (2014-09-04 18:45:35 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wangxianzhu@chromium.org/538613003/40001
6 years, 3 months ago (2014-09-04 22:12:44 UTC) #11
Xianzhu
6 years, 3 months ago (2014-09-04 23:11:22 UTC) #12
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as 181415 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698