DescriptionUnified 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 #Messages
Total messages: 9 (0 generated)
|