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

Issue 448793002: Unified invalidation for repaint-only style change of layers (Closed)

Created:
6 years, 4 months ago by Xianzhu
Modified:
6 years, 4 months ago
CC:
darktears, blink-layers+watch_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-rendering, dstockwell, eae+blinkwatch, Eric Willigers, jchaffraix+rendering, leviw+renderwatch, Mike Lawther (Google), pdr., rjwright, rune+blink, shans, Steve Block, Timothy Loh, zoltan1
Project:
blink
Visibility:
Public.

Description

Unified invalidation for repaint-only style change of layers There are 2 issues for repaint-only style changes of layers: - repaintIncludingNonCompositingDescendants() called before style change invalidate the old locations only; - missing invalidation of the whole layer after style change. Add RenderLayer::setShouldDoFullInvalidationIncludingNonCompositingDescendants() and call it after style change. Then the old and new locations of the layer including it's non-compositing descendants will be invalidated during the next invalidateTreeIfNeeded(). Existing tests: - Some duplicated invalidations are avoided - Under repaints on transformation change are fixed: - fast/repaint/mix-blend-mode-separate-stacking-context.html - fast/repaint/transform-absolute-child.html - fast/repaint/transform-repaint-descendants.html BUG=394004, 394050 TEST=fast/repaint/requestAnimation-translation-leave-traces.html TEST=fast/repaint/transform-inline-layered-child.html Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=179757

Patch Set 1 #

Patch Set 2 : Add a test about inline layered child #

Patch Set 3 : Test expectations #

Total comments: 8

Patch Set 4 : Address review comments #

Patch Set 5 : Update requestAnimation-translation-leave-traces-expected.txt #

Unified diffs Side-by-side diffs Delta from patch set Stats (+149 lines, -12 lines) Patch
M LayoutTests/TestExpectations View 1 2 1 chunk +27 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html View 1 2 3 1 chunk +52 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/requestAnimation-translation-leave-traces-expected.txt View 1 2 3 4 1 chunk +20 lines, -0 lines 0 comments Download
A LayoutTests/fast/repaint/transform-inline-layered-child.html View 1 1 chunk +27 lines, -0 lines 0 comments Download
A + LayoutTests/fast/repaint/transform-inline-layered-child-expected.txt View 1 2 1 chunk +4 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderLayer.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderLayer.cpp View 1 2 3 1 chunk +13 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderLayerModelObject.cpp View 1 1 chunk +1 line, -9 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 9 (0 generated)
Xianzhu
This change needs https://codereview.chromium.org/434453002/ to invalidate layered inlines correctly.
6 years, 4 months ago (2014-08-06 18:37:07 UTC) #1
leviw_travelin_and_unemployed
https://codereview.chromium.org/448793002/diff/40001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/448793002/diff/40001/Source/core/rendering/RenderLayer.cpp#newcode3750 Source/core/rendering/RenderLayer.cpp:3750: if (child->compositingState() != PaintsIntoOwnBacking && child->compositingState() != PaintsIntoGroupedBacking) Nit: ...
6 years, 4 months ago (2014-08-07 18:11:30 UTC) #2
dsinclair
https://codereview.chromium.org/448793002/diff/40001/LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html File LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html (right): https://codereview.chromium.org/448793002/diff/40001/LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html#newcode2 LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html:2: <html> nit: Don't need html, head and body https://codereview.chromium.org/448793002/diff/40001/LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html#newcode23 ...
6 years, 4 months ago (2014-08-07 18:14:13 UTC) #3
Xianzhu
https://codereview.chromium.org/448793002/diff/40001/LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html File LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html (right): https://codereview.chromium.org/448793002/diff/40001/LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html#newcode2 LayoutTests/fast/repaint/requestAnimation-translation-leave-traces.html:2: <html> On 2014/08/07 18:14:13, dsinclair wrote: > nit: Don't ...
6 years, 4 months ago (2014-08-07 18:32:41 UTC) #4
leviw_travelin_and_unemployed
lgtm
6 years, 4 months ago (2014-08-07 19:13:25 UTC) #5
dsinclair
lgtm
6 years, 4 months ago (2014-08-07 19:13:35 UTC) #6
Xianzhu
The CQ bit was checked by wangxianzhu@chromium.org
6 years, 4 months ago (2014-08-07 19:35:52 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/448793002/80001
6 years, 4 months ago (2014-08-07 19:36:48 UTC) #8
commit-bot: I haz the power
6 years, 4 months ago (2014-08-07 21:28:24 UTC) #9
Message was sent while issue was closed.
Change committed as 179757

Powered by Google App Engine
This is Rietveld 408576698