This is a meta bug for all SPv2 raster invalidation bugs.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509 commit b2eb71c4a8ed302f63281ba20ce0e3e696eeb509 Author: Xianzhu Wang <wangxianzhu@chromium.org> Date: Thu Jun 22 18:12:35 2017 [SPv2] Use the first display item's id as the id of a "trailing chunk" In the following scenario: <paint-chunk-property-state id="a"> chunk a <paint-chunk-property-state id="b"> chunk b </paint-chunk-property-state> the trailing chunk </paint-chunk-property-state> As we can't use "a" as the id of the trailing chunk, previously we treated such chunks as uncacheable. Now use the id of the first display item as the id of the trailing chunk. If we did not skip cache for the display item, then we can still cache the chunk to issue proper raster invalidations instead of forced full raster invalidation for uncacheable chunks. BUG= 732609 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I346a4840941f4d7519415e9fd0b2c7c8e18d17a5 Reviewed-on: https://chromium-review.googlesource.com/540661 Reviewed-by: Chris harrelson <chrishtr@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#481604} [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/multi-layout-one-frame-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/overflow-scroll-composited-non-stacking-child-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/scroll-inside-table-cell-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/scroll-relative-table-inside-table-cell-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/scrollbar-invalidation-on-resize-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/scrollbar-invalidation-on-resize-with-border-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/circle-move-invalidation-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/platform/graphics/paint/PaintChunker.cpp [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/platform/graphics/paint/PaintChunker.h [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/platform/graphics/paint/PaintChunkerTest.cpp [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/platform/graphics/paint/PaintController.h [modify] https://crrev.com/b2eb71c4a8ed302f63281ba20ce0e3e696eeb509/third_party/WebKit/Source/platform/graphics/paint/ScopedPaintChunkProperties.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7473afd823f8e432cf31b83326555de9eb5cea4a commit 7473afd823f8e432cf31b83326555de9eb5cea4a Author: Xianzhu Wang <wangxianzhu@chromium.org> Date: Fri Sep 01 19:27:44 2017 [SPv2] Fix unexpected partial raster invalidations We should fully invalidate a resized replaced object. Remove the SPv2 condition from LayoutReplaced::UpdateLayout(). Rebaseline paint/invalidation/resize-skewed.html for SPv2. The new result is correct because SPv2 is smarter for such situation: we first generate (incremental) raster invalidation within the transformed element, then map to the squashing parent. BUG= 732609 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I8bdbef4b570ea4f2ed87ee7ee4f792d05142f791 Reviewed-on: https://chromium-review.googlesource.com/647994 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#499255} [modify] https://crrev.com/7473afd823f8e432cf31b83326555de9eb5cea4a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 [add] https://crrev.com/7473afd823f8e432cf31b83326555de9eb5cea4a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/resize-skewed-expected.txt [modify] https://crrev.com/7473afd823f8e432cf31b83326555de9eb5cea4a/third_party/WebKit/Source/core/layout/LayoutReplaced.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/32e20c1ee940bf3a15ba3f9a85b2774601640253 commit 32e20c1ee940bf3a15ba3f9a85b2774601640253 Author: Xianzhu Wang <wangxianzhu@chromium.org> Date: Wed Sep 06 23:40:12 2017 [SPv2] Call DrawingRecorder::SetKnownToBeOpaque() if background is opaque This ensures correct contentsOpaque property of composited layer if the background is opaque and covers the whole layer. Bug: 732609 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I0d6317113dd15b16cad19bc8d0a9061c9e51f247 Reviewed-on: https://chromium-review.googlesource.com/651310 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#500118} [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 [add] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/compositing/containing-block-added-expected.txt [add] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/compositing/containing-block-added-individual-expected.txt [add] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/compositing/containing-block-removed-expected.txt [add] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/compositing/containing-block-removed-individual-expected.txt [add] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/destroy-composited-scrollbar-expected.txt [add] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filter-repaint-on-accelerated-layer-expected.txt [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/mask-clip-change-stacking-child-expected.txt [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/repaint-overlay/layers-expected.txt [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/stacking-context-lost-expected.txt [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/video-mute-repaint-expected.txt [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/video-unmute-repaint-expected.txt [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/Source/core/paint/BoxPainter.cpp [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp [modify] https://crrev.com/32e20c1ee940bf3a15ba3f9a85b2774601640253/third_party/WebKit/Source/platform/testing/TestPaintArtifact.h
Comment 1 by bugdroid1@chromium.org
, Jun 22 2017