New issue
Advanced search Search tips

Issue 732609 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug


Sign in to add a comment

SPv2 raster invalidation

Project Member Reported by wangxianzhu@chromium.org, Jun 13 2017

Issue description

This is a meta bug for all SPv2 raster invalidation bugs.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 22 2017

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

Labels: -OS-Fuchsia
Blockedon: 757082
Blockedon: 757090
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 1 2017

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

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 6 2017

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

Blockedon: 771770
Blockedon: 837467

Comment 9 by wangxianzhu@chromium.org, Jan 17 (6 days ago)

Status: Fixed (was: Assigned)

Comment 10 by wangxianzhu@chromium.org, Jan 17 (6 days ago)

Blocking: 471333

Sign in to add a comment