diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index 7e0658f..a94977a 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1,150 +1,47 @@
-# We run tests under paint/invalidation/spv2 as --enable-slimming-paint-v2 physical suite.
-crbug.com/524134 virtual/spv2/paint/invalidation/spv2 [ Skip ]
+# Run these tests with under virtual/spv2 only.
+crbug.com/524134 paint/invalidation/spv2 [ Skip ]
 
 # TODO(wangxianzhu): Triage the failures
 crbug.com/524134 virtual/spv2/paint/invalidation/invalidate-after-composited-scroll.html [ Failure ]
 crbug.com/524134 virtual/spv2/paint/selection/text-selection-drag.html [ ImageOnlyFailure ]
 crbug.com/524134 virtual/spv2/paint/deprecatedpaintlayer/non-self-painting-layer-overrides-visibility.html [ Crash ImageOnlyFailure Timeout ]
-crbug.com/524134 paint/invalidation/spv2/destroy-scrollbar.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/focus-ring-on-continuation-move.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-self-change-keeping-geometry.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-scroll-in-empty-root-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/layout-state-only-positioned.html [ ImageOnlyFailure ]
+crbug.com/524134 virtual/spv2/paint/invalidation/spv2/focus-ring-on-continuation-move.html [ ImageOnlyFailure ]
 
-crbug.com/524236 paint/invalidation/spv2/align-self-change-keeping-geometry-grid.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/scroll-fixed-layer-no-content.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/scroll-fixed-layer-out-of-view.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/scroll-fixed-squahed-layer.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-clip-composited-overflow-scrolling-layer.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-repaint-composited-descendants.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-repaint-composited-filter.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-repaint-composited-opacity.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-repaint-composited-transform.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/should-not-repaint-composited-z-index.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/invalidate-after-composited-scroll.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/clip-path-constant-repaint.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/relative-positioned-movement-repaint.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/repaint-tile-clipped.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/updating-scrolling-content.html [ ImageOnlyFailure ]
-crbug.com/524236 paint/invalidation/spv2/scrolling-without-painting.html [ ImageOnlyFailure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/clip-path-constant-repaint-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/repaint-tile-clipped-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/updating-scrolling-content-as-text.html [ Failure ]
+crbug.com/524236 virtual/spv2/paint/invalidation/spv2/scrolling-without-painting-as-text.html [ Failure ]
 
-# TODO(wangxianzhu): These "failures" caused by https://codereview.chromium.org/1312423006/.
-# Should examine and update them after we find a good way to represent their expectations.
-crbug.com/524134 paint/invalidation/spv2/absolute-margin-change-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/absolute-position-change-containing-block.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/absolute-position-changed.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/absolute-position-moved.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/add-table-overpaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-content-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-content-distribution-change-grid.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-content-position-change-grid.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-items-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-items-overflow-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-self-change-grid.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/align-self-overflow-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/background-currentColor-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/block-shift-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/box-shadow-inset-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/change-transform.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/content-into-overflow.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/filter-invalidation-with-composited-container-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-after-scroll.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-and-absolute-position-scrolled.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-table-cell.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-table-overflow-zindex.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-table-overflow.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/fixed-to-relative-position-with-absolute-child.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/float-in-new-block-with-layout-delta.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/float-new-in-block.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/grid-item-change-column-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/grid-item-change-row-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/horizontal-bt-overflow-child.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/horizontal-bt-overflow-parent.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/horizontal-bt-overflow-same.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/hover-invalidation-table.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/inline-block-resize.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/invalidate-when-leaving-squashed-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/invalidations-with-large-negative-margin.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-content-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-content-distribution-change-grid.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-content-position-change-grid.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-content-position-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-items-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-items-legacy-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-items-overflow-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-self-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/justify-self-overflow-change.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/layer-visibility.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/margin.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-relpos-with-abspos.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-abspos-in-relpos.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-abspos.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-block.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-inline.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-overflowing-block-bt.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-overflowing-block-rl.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-relpos.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/multicol-with-text.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/negative-shadow-box-expand.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/overflow-hidden-in-overflow-hidden-scrolled.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/overflow-show.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/padding-keeping-content-size.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/padding-keeping-visual-size.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/position-change-keeping-geometry.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/reflection-invalidation-after-display.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/relative-margin-change-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/remove-inline-block-descendant-of-flex.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/remove-squashed-layer-plus-move.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/repaint-table-row-in-composited-document.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/resize-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-fixed-layer-with-no-visible-content.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-fixed-layer-with-reflection.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-fixed-layer-with-transformed-parent-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-in-clipped-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-in-fixed-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-in-transformed-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/scroll-with-transformed-parent-layer.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/selection-change-in-iframe-with-relative-parent.html [ Failure ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/selection-clear-after-move.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/selection-within-composited-scroller.html [ Failure ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/subtree-root-clip-2.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/subtree-root-clip-3.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/table-outer-border.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/table-section-overflow.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/table-section-repaint.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/transform-rotate-and-remove.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/vertical-overflow-child.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/vertical-overflow-parent.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/vertical-overflow-same.html [ ImageOnlyFailure ]
-crbug.com/524134 paint/invalidation/spv2/view-background-from-body-2.html [ ImageOnlyFailure ]
+crbug.com/524134 virtual/spv2/paint/invalidation/spv2/selection-change-in-iframe-with-relative-parent.html [ NeedsRebaseline ]
+crbug.com/524134 virtual/spv2/paint/invalidation/spv2/selection-within-composited-scroller.html [ NeedsRebaseline ]
+crbug.com/524134 virtual/spv2/paint/invalidation/spv2/percent-size-image-resize-container.html [ NeedsRebaseline ]
+crbug.com/524134 virtual/spv2/paint/invalidation/spv2/image-resize.html [ NeedsRebaseline ]
 
-crbug.com/527242 paint/invalidation/spv2/cached-cell-append.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-cell-remove.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-change-cell-border-width.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-change-col-border-width.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-change-colgroup-border-width.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-change-row-border-width.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-change-table-border-width.html [ ImageOnlyFailure ]
-crbug.com/527242 paint/invalidation/spv2/cached-change-tbody-border-width.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-cell-append.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-cell-remove.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-change-cell-border-width.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-change-col-border-width.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-change-colgroup-border-width.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-change-row-border-width.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-change-table-border-width.html [ ImageOnlyFailure ]
+crbug.com/527242 virtual/spv2/paint/invalidation/spv2/cached-change-tbody-border-width.html [ ImageOnlyFailure ]
 
 crbug.com/504613 crbug.com/524248 paint/images/image-backgrounds-not-antialiased.html [ Skip ]
 crbug.com/504613 crbug.com/524248 virtual/spv2/paint/images/image-backgrounds-not-antialiased.html [ Skip ]
 crbug.com/502531 fast/borders/border-antialiasing.html [ ImageOnlyFailure ]
 
-crbug.com/510908 paint/invalidation/spv2/background-generated.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/intermediate-layout-position-clip.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/intermediate-layout-position.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/invalidation-with-zero-size-object.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/mix-blend-mode-separate-stacking-context.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/negative-shadow-box-shrink.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/overflow-into-content.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/resize-scrollable-div.html [ ImageOnlyFailure ]
-crbug.com/510908 paint/invalidation/spv2/transform-disable-layoutstate.html [ ImageOnlyFailure ]
-
 crbug.com/417782 [ Linux Win ] virtual/rootlayerscrolls/fast/scrolling/fractional-scroll-offset-fixed-position-non-composited.html [ ImageOnlyFailure ]
 crbug.com/492664 [ Linux XP ] imported/csswg-test/css-writing-modes-3/box-offsets-rel-pos-vlr-005.xht [ ImageOnlyFailure ]
 crbug.com/492664 [ Linux XP ] imported/csswg-test/css-writing-modes-3/box-offsets-rel-pos-vrl-004.xht [ ImageOnlyFailure ]
@@ -1025,6 +922,8 @@
 crbug.com/491764 http/tests/inspector/service-workers/user-agent-override.html [ Timeout ]
 crbug.com/474798 fast/repaint/align-self-change-keeping-geometry-grid.html [ Failure ]
 crbug.com/474798 fast/repaint/justify-self-change-keeping-geometry.html [ Failure ]
+crbug.com/474798 virtual/spv2/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text.html [ Failure ]
+crbug.com/474798 virtual/spv2/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text.html [ Failure ]
 
 # Temporarily disabled after chromium change
 crbug.com/492511 [ Mac ] fast/text/atsui-negative-spacing-features.html [ ImageOnlyFailure ]
@@ -1529,9 +1428,6 @@
 crbug.com/509025 [ Yosemite ] virtual/trustedeventsdefaultaction/fast/events/context-no-deselect.html [ Failure ]
 crbug.com/509025 [ Yosemite ] virtual/prefer_compositing_to_lcd_text/compositing/overflow/theme-affects-visual-overflow.html [ Failure ]
 
-crbug.com/528431 paint/invalidation/spv2/fixed-img-src-change-after-scroll.html [ Skip ]
-crbug.com/528431 paint/invalidation/spv2/background-image-paint-invalidation.html [ Skip ]
-
 crbug.com/443596 media/sources-fallback-codecs.html [ Pass Failure ]
 
 crbug.com/464736 http/tests/xmlhttprequest/ontimeout-event-override-after-failure.html [ Pass Failure ]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-display-block-to-none.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-display-block-to-none.html
index b184418..63de14a24 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-display-block-to-none.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-display-block-to-none.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='absolute'",
-];
 function paintInvalidationTest() {
   document.getElementById('absolute').style.display = 'none';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text.html
new file mode 100644
index 0000000..eb079b3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically-as-text.html
@@ -0,0 +1,33 @@
+<!-- Based on fast/repaint/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html -->
+<!DOCTYPE html>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest()
+{
+    document.getElementById('left').style.top = '400px';
+    document.getElementById('right').style.top = '400px';
+}
+
+window.onload = runPaintInvalidationTest;
+</script>
+
+<style>
+    #left, #right {
+        position: absolute;
+        top: 200px;
+        -webkit-backface-visibility: hidden;
+    }
+    #left {
+        left: 0px;
+    }
+    #right {
+        right: 0px;
+    }
+</style>
+
+There should be no repaint when the divs are moved vertically.
+<div id="left">Left</div>
+<div id="right">Right</div>
+<pre id="result"></pre>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html
index 736e548..f0f585d0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html
@@ -2,8 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest()
 {
     document.getElementById('left').style.top = '400px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-margin-change-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-margin-change-repaint.html
index 5e0a94ff..7c1d9be 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-margin-change-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-margin-change-repaint.html
@@ -19,9 +19,6 @@
     }
 </style>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='test'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("test").style['margin-top'] = '20px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-change-containing-block.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-change-containing-block.html
index 71e43468..f5a975d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-change-containing-block.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-change-containing-block.html
@@ -4,15 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='container' class='fixed blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow DIV id='container' class='fixed blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow BODY",
-            "LayoutBlockFlow DIV id='container' class='fixed blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('container').style.position = 'static';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-changed.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-changed.html
index 5d08a8a..8b6a564 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-changed.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-changed.html
@@ -18,9 +18,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='absoluteDiv' class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('absoluteDiv').style.top = '700px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-moved.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-moved.html
index 60bcf1c..267a807 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-moved.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/absolute-position-moved.html
@@ -4,10 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='absoluteDiv' class='absolute green'",
-            "LayoutBlockFlow (positioned) DIV id='absoluteDiv' class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             var absoluteDiv = document.getElementById('absoluteDiv');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/add-table-overpaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/add-table-overpaint.html
index 3b9604d..95796db 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/add-table-overpaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/add-table-overpaint.html
@@ -21,14 +21,6 @@
 }
 addTable();
 addTable();
-window.expectedPaintInvalidationObjects = [
-  "LayoutBlockFlow DIV",
-  "LayoutTable TABLE",
-  "LayoutTableCell TD",
-  "LayoutTableSection TBODY",
-  "LayoutTableRow TR",
-  "LayoutTableCell TD",
-];
 function paintInvalidationTest() {
   addTable();
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-keeping-geometry.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-keeping-geometry.html
index 53dd1ac..0d4365a1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-keeping-geometry.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-keeping-geometry.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignContent = 'center';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-no-flex.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-no-flex.html
index b7a1ce37..0999725 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-no-flex.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change-no-flex.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignContent = 'flex-end';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change.html
index 6978f3a..cab5d93 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-change.html
@@ -2,12 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignContent = 'stretch';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-distribution-change-grid.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-distribution-change-grid.html
index c3f2b7a..b0bb520 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-distribution-change-grid.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-distribution-change-grid.html
@@ -2,15 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignContent = 'stretch';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-position-change-grid.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-position-change-grid.html
index dd5b26f..335a84ff 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-position-change-grid.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-content-position-change-grid.html
@@ -2,15 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignContent = 'end';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-change.html
index c5ae0ed6c..7219e14 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-change.html
@@ -2,18 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutFlexibleBox DIV id='container'",
-    "LayoutFlexibleBox DIV id='container'",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignItems = 'stretch';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-overflow-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-overflow-change.html
index b511175f..b4636c8 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-overflow-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-items-overflow-change.html
@@ -2,19 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow BODY",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.alignItems = 'end safe';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-grid.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-grid.html
index b703ade..51ff442 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-grid.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-grid.html
@@ -2,11 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item1')[0].style.alignSelf = 'stretch';
   document.getElementsByClassName('item2')[0].style.alignSelf = 'stretch';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-as-text.html
new file mode 100644
index 0000000..6589739
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-as-text.html
@@ -0,0 +1,32 @@
+<!-- Based on fast/repaint/align-self-change-keeping-geometry.html -->
+<!DOCTYPE HTML>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+function paintInvalidationTest() {
+  document.getElementsByClassName('item')[0].style.alignSelf = 'stretch';
+  document.getElementsByClassName('item')[1].style.alignSelf = 'stretch';
+}
+onload = runPaintInvalidationTest;
+</script>
+<style>
+.flex {
+  display: flex;
+  align-items: flex-start;
+  width: 200px;
+  height: 300px;
+  background-color: red;
+}
+.item {
+  background-color: green;
+  border: solid thin blue;
+  width: 100px;
+  height: 300px;
+}
+</style>
+<p style="height: 20px">There should be no invalidations because align-self style change causes no visual change.</p>
+<div class="flex">
+  <div class="item"></div>
+  <div class="item"></div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text.html
new file mode 100644
index 0000000..26582e8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid-as-text.html
@@ -0,0 +1,35 @@
+<!-- Based on fast/repaint/align-self-change-keeping-geometry-grid.html -->
+<!DOCTYPE HTML>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+function paintInvalidationTest() {
+  document.getElementsByClassName('item')[0].style.alignSelf = 'stretch';
+}
+onload = runPaintInvalidationTest;
+</script>
+<style>
+body {
+  margin: 0;
+}
+#container {
+  display: grid;
+  grid: 100px / 300px;
+  width: 200px;
+  height: 300px;
+  background-color: red;
+}
+.item {
+  grid-row: 1;
+  grid-column: 1;
+  align-self: start;
+  background-color: green;
+}
+</style>
+<p style="height: 20px">There should be no invalidations because align-self style change causes no visual change.</p>
+<div id="container">
+  <div class="item">
+    <div style="height: 300px"></div>
+  </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid.html
index 5467e12..fa081a3 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry-grid.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item')[0].style.alignSelf = 'stretch';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry.html
index 8b7d4806..d421d64 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-keeping-geometry.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item')[0].style.alignSelf = 'stretch';
   document.getElementsByClassName('item')[1].style.alignSelf = 'stretch';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-no-flex.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-no-flex.html
index 1d79451..1c5b5a7 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-no-flex.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change-no-flex.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item')[0].style.alignSelf = 'stretch';
   document.getElementsByClassName('item')[1].style.alignSelf = 'stretch';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change.html
index 20b899c7..12fba69 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-change.html
@@ -2,10 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV class='item'",
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item')[0].style.alignSelf = 'stretch';
   document.getElementsByClassName('item')[1].style.alignSelf = 'stretch';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-overflow-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-overflow-change.html
index b9fe1dc..d2f6546 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-overflow-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/align-self-overflow-change.html
@@ -2,13 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow BODY",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item1')[0].style.alignSelf = 'end safe';
   document.getElementsByClassName('item2')[0].style.alignSelf = 'end safe';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-currentColor-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-currentColor-repaint.html
index 6a113a4c..1b8514b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-currentColor-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-currentColor-repaint.html
@@ -23,10 +23,6 @@
 <div id="div2"></div>
 
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='div1'",
-    "LayoutBlockFlow DIV id='div2'",
-];
 function paintInvalidationTest()
 {
 	div1.style.color = 'transparent';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-generated.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-generated.html
index f5f6ce28..5469cf0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-generated.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-generated.html
@@ -3,10 +3,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV",
-            "LayoutBlockFlow DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.height = "200px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-image-paint-invalidation.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-image-paint-invalidation.html
index cd9a21f..3b0c2d0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-image-paint-invalidation.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-image-paint-invalidation.html
@@ -6,10 +6,6 @@
 <script>
 // Tests that repaint when changing a document background image invalidates the whole document, not just the part that is visible on the screen.
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutView #document",
-    "LayoutBlockFlow BODY",
-];
 function paintInvalidationTest() {
     document.body.style.background = 'url(../../../fast/repaint/resources/ducky.png)';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-misaligned.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-misaligned.html
index f85cb07c..c697ff32 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-misaligned.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-misaligned.html
@@ -1,9 +1,6 @@
 <!-- Based on fast/repaint/background-misaligned.html -->
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.display = "none";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height-expected.txt
index 8b13789..10374ca 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height-expected.txt
@@ -1 +1,23 @@
-
+["LayoutBlockFlow (positioned) DIV id='container'",
+ "LayoutBlockFlow (positioned) DIV class='test image'",
+ "LayoutBlockFlow (positioned) DIV class='test image size-cover'",
+ "LayoutBlockFlow (positioned) DIV class='test image size-contain'",
+ "LayoutBlockFlow (positioned) DIV class='test image fixed-height'",
+ "LayoutBlockFlow (positioned) DIV class='test image percent-height'",
+ "LayoutBlockFlow (positioned) DIV class='test image top'",
+ "LayoutBlockFlow (positioned) DIV class='test image bottom'",
+ "LayoutBlockFlow (positioned) DIV class='test image center'",
+ "LayoutBlockFlow (positioned) DIV class='test image no-repeat'",
+ "LayoutBlockFlow (positioned) DIV class='test image repeat-space'",
+ "LayoutBlockFlow (positioned) DIV class='test image repeat-round'",
+ "LayoutBlockFlow (positioned) DIV class='test generated'",
+ "LayoutBlockFlow (positioned) DIV class='test generated cover'",
+ "LayoutBlockFlow (positioned) DIV class='test generated contain'",
+ "LayoutBlockFlow (positioned) DIV class='test generated fixed-height'",
+ "LayoutBlockFlow (positioned) DIV class='test generated percent-height'",
+ "LayoutBlockFlow (positioned) DIV class='test generated top'",
+ "LayoutBlockFlow (positioned) DIV class='test generated bottom'",
+ "LayoutBlockFlow (positioned) DIV class='test generated center'",
+ "LayoutBlockFlow (positioned) DIV class='test generated no-repeat'",
+ "LayoutBlockFlow (positioned) DIV class='test generated repeat-space'",
+ "LayoutBlockFlow (positioned) DIV class='test generated repeat-round'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height.html
index 92a0982..bacc889f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-height.html
@@ -2,33 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
 <script>
-if (window.testRunner)
-    testRunner.dumpAsTextWithPixelResults();
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='container'",
-    "LayoutBlockFlow (positioned) DIV class='test image'",
-    "LayoutBlockFlow (positioned) DIV class='test image size-cover'",
-    "LayoutBlockFlow (positioned) DIV class='test image size-contain'",
-    "LayoutBlockFlow (positioned) DIV class='test image fixed-height'",
-    "LayoutBlockFlow (positioned) DIV class='test image percent-height'",
-    "LayoutBlockFlow (positioned) DIV class='test image top'",
-    "LayoutBlockFlow (positioned) DIV class='test image bottom'",
-    "LayoutBlockFlow (positioned) DIV class='test image center'",
-    "LayoutBlockFlow (positioned) DIV class='test image no-repeat'",
-    "LayoutBlockFlow (positioned) DIV class='test image repeat-space'",
-    "LayoutBlockFlow (positioned) DIV class='test image repeat-round'",
-    "LayoutBlockFlow (positioned) DIV class='test generated'",
-    "LayoutBlockFlow (positioned) DIV class='test generated cover'",
-    "LayoutBlockFlow (positioned) DIV class='test generated contain'",
-    "LayoutBlockFlow (positioned) DIV class='test generated fixed-height'",
-    "LayoutBlockFlow (positioned) DIV class='test generated percent-height'",
-    "LayoutBlockFlow (positioned) DIV class='test generated top'",
-    "LayoutBlockFlow (positioned) DIV class='test generated bottom'",
-    "LayoutBlockFlow (positioned) DIV class='test generated center'",
-    "LayoutBlockFlow (positioned) DIV class='test generated no-repeat'",
-    "LayoutBlockFlow (positioned) DIV class='test generated repeat-space'",
-    "LayoutBlockFlow (positioned) DIV class='test generated repeat-round'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('container').style.height = '550px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width-expected.txt
index 8b13789..bd04a8e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width-expected.txt
@@ -1 +1,23 @@
-
+["LayoutBlockFlow (positioned) DIV id='container'",
+ "LayoutBlockFlow (positioned) DIV class='test image'",
+ "LayoutBlockFlow (positioned) DIV class='test image size-cover'",
+ "LayoutBlockFlow (positioned) DIV class='test image size-contain'",
+ "LayoutBlockFlow (positioned) DIV class='test image fixed-width'",
+ "LayoutBlockFlow (positioned) DIV class='test image percent-width'",
+ "LayoutBlockFlow (positioned) DIV class='test image left'",
+ "LayoutBlockFlow (positioned) DIV class='test image right'",
+ "LayoutBlockFlow (positioned) DIV class='test image center'",
+ "LayoutBlockFlow (positioned) DIV class='test image no-repeat'",
+ "LayoutBlockFlow (positioned) DIV class='test image repeat-space'",
+ "LayoutBlockFlow (positioned) DIV class='test image repeat-round'",
+ "LayoutBlockFlow (positioned) DIV class='test generated'",
+ "LayoutBlockFlow (positioned) DIV class='test generated cover'",
+ "LayoutBlockFlow (positioned) DIV class='test generated contain'",
+ "LayoutBlockFlow (positioned) DIV class='test generated fixed-width'",
+ "LayoutBlockFlow (positioned) DIV class='test generated percent-width'",
+ "LayoutBlockFlow (positioned) DIV class='test generated left'",
+ "LayoutBlockFlow (positioned) DIV class='test generated right'",
+ "LayoutBlockFlow (positioned) DIV class='test generated center'",
+ "LayoutBlockFlow (positioned) DIV class='test generated no-repeat'",
+ "LayoutBlockFlow (positioned) DIV class='test generated repeat-space'",
+ "LayoutBlockFlow (positioned) DIV class='test generated repeat-round'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width.html
index 1ad78d7..8770c551 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-resize-width.html
@@ -2,33 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
 <script>
-if (window.testRunner)
-    testRunner.dumpAsTextWithPixelResults();
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='container'",
-    "LayoutBlockFlow (positioned) DIV class='test image'",
-    "LayoutBlockFlow (positioned) DIV class='test image size-cover'",
-    "LayoutBlockFlow (positioned) DIV class='test image size-contain'",
-    "LayoutBlockFlow (positioned) DIV class='test image fixed-width'",
-    "LayoutBlockFlow (positioned) DIV class='test image percent-width'",
-    "LayoutBlockFlow (positioned) DIV class='test image left'",
-    "LayoutBlockFlow (positioned) DIV class='test image right'",
-    "LayoutBlockFlow (positioned) DIV class='test image center'",
-    "LayoutBlockFlow (positioned) DIV class='test image no-repeat'",
-    "LayoutBlockFlow (positioned) DIV class='test image repeat-space'",
-    "LayoutBlockFlow (positioned) DIV class='test image repeat-round'",
-    "LayoutBlockFlow (positioned) DIV class='test generated'",
-    "LayoutBlockFlow (positioned) DIV class='test generated cover'",
-    "LayoutBlockFlow (positioned) DIV class='test generated contain'",
-    "LayoutBlockFlow (positioned) DIV class='test generated fixed-width'",
-    "LayoutBlockFlow (positioned) DIV class='test generated percent-width'",
-    "LayoutBlockFlow (positioned) DIV class='test generated left'",
-    "LayoutBlockFlow (positioned) DIV class='test generated right'",
-    "LayoutBlockFlow (positioned) DIV class='test generated center'",
-    "LayoutBlockFlow (positioned) DIV class='test generated no-repeat'",
-    "LayoutBlockFlow (positioned) DIV class='test generated repeat-space'",
-    "LayoutBlockFlow (positioned) DIV class='test generated repeat-round'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('container').style.width = '550px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-shorthand-with-gradient-and-height-changes.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-shorthand-with-gradient-and-height-changes.html
index 5edb167..7837fe9 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-shorthand-with-gradient-and-height-changes.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-shorthand-with-gradient-and-height-changes.html
@@ -23,10 +23,6 @@
 <script>
 //This test verifies that gradient background gets repainted properly after child box height change.
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='outer'",
-    "LayoutBlockFlow DIV id='inner'",
-];
 function paintInvalidationTest() {
     document.getElementById('inner').style.height = 300 + 'px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-size-auto-with-gradient-and-height-changes.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-size-auto-with-gradient-and-height-changes.html
index a942cb9..5af6a53 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-size-auto-with-gradient-and-height-changes.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/background-size-auto-with-gradient-and-height-changes.html
@@ -22,10 +22,6 @@
 
 <script>
 // This test verifies that gradient background gets repainted properly after child box height change.
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='outer'",
-    "LayoutBlockFlow DIV id='inner'",
-];
 function paintInvalidationTest() {
     document.getElementById('inner').style.height = '300px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/block-shift-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/block-shift-repaint.html
index 8c7a63f..2db9582 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/block-shift-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/block-shift-repaint.html
@@ -13,20 +13,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='div1' class='blue half'",
-            "LayoutBlockFlow DIV class='red half'",
-            "LayoutBlockFlow DIV class='green half'",
-            "LayoutBlockFlow DIV id='top' class='blue half'",
-            "LayoutBlockFlow DIV class='red half'",
-            "LayoutBlockFlow DIV class='green half'",
-            "LayoutBlockFlow DIV id='div2' class='zero'",
-            "LayoutBlockFlow DIV class='green half'",
-            "LayoutBlockFlow DIV class='red half'",
-            "LayoutBlockFlow DIV id='innerDiv'",
-            "LayoutBlockFlow DIV class='half'",
-            "LayoutBlockFlow DIV class='half'",
-        ];
         function paintInvalidationTest()
         {
             var div1 = document.getElementById("div1");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-outline-0.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-outline-0.html
index b0ffdf4..33c99e3b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-outline-0.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-outline-0.html
@@ -27,9 +27,6 @@
 
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='border-image'",
-];
 function paintInvalidationTest() {
     var border = document.getElementById("border");
     border.style.border = "0";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-repaint-2.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-repaint-2.html
index f69e913..1868394 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-repaint-2.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-repaint-2.html
@@ -11,14 +11,6 @@
     internals.settings.setMockScrollbarsEnabled(true);
 }
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutView #document",
-    "LayoutBlockFlow HTML",
-    "LayoutBlockFlow BODY",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV id='target'",
-];
 function paintInvalidationTest() {
     document.getElementById('target').style.height = '2px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-with-outline.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-with-outline.html
index 04332774..34254cd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-with-outline.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-with-outline.html
@@ -3,9 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
 <!-- Should full repaint because the actual border radius changes. -->
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('target').style.width = '200px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-without-border.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-without-border.html
index 93b4180..3ed021a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-without-border.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/border-radius-without-border.html
@@ -2,10 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target1'",
-    "LayoutBlockFlow (positioned) DIV id='target2'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('target1').style.width = '200px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-shadow-inset-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-shadow-inset-repaint.html
index f11c938..d3def06 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-shadow-inset-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-shadow-inset-repaint.html
@@ -10,10 +10,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='container'",
-        "LayoutBlockFlow DIV",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById('container').innerHTML = "<div style='width:100px; height:100px; background-color:green'></div>";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-border-keeping-size.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-border-keeping-size.html
index d13fee0..b40e9ae 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-border-keeping-size.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-border-keeping-size.html
@@ -2,10 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target1' class='content-box'",
-    "LayoutBlockFlow (positioned) DIV id='target2' class='border-box'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('target1').className = 'content-box';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-padding-keeping-size.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-padding-keeping-size.html
index b2ada3e..f3a4e07 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-padding-keeping-size.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing-padding-keeping-size.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest()
 {
     document.getElementById('target1').className = 'content-box';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing.html
index 57765b5..a9bb71b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/box-sizing.html
@@ -2,10 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target1' class='content-box'",
-    "LayoutBlockFlow (positioned) DIV id='target2' class='border-box'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('target1').className = 'content-box';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint-as-text.html
new file mode 100644
index 0000000..42f0b28
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint-as-text.html
@@ -0,0 +1,19 @@
+<!-- Based on fast/repaint/button-inner-no-repaint.html -->
+<!DOCTYPE html>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+function paintInvalidationTest() {
+  document.getElementsByTagName('button')[0].style.maxWidth = '1000px';
+}
+onload = runPaintInvalidationTest;
+</script>
+<style>
+button {
+  position: absolute;
+  width: 300px;
+  height: 100px;
+}
+</style>
+<button>Should not repaint on style change that doesn't change visual.</button>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint.html
index 6722443..29dbf36 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-inner-no-repaint.html
@@ -2,8 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementsByTagName('button')[0].style.maxWidth = '1000px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-spurious-layout-hint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-spurious-layout-hint.html
index 5f4ab7c1..4fe476c5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-spurious-layout-hint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/button-spurious-layout-hint.html
@@ -2,9 +2,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutButton BUTTON id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.backgroundColor = "lightpink";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-69296.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-69296.html
index c69e7f35..2983c96 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-69296.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-69296.html
@@ -25,22 +25,6 @@
         </style>
     <head>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableRow TR id='row1'",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableRow TR id='row1'",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 row = document.getElementById('row1');
                 rowRect = row.getBoundingClientRect();
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-append.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-append.html
index 9c70d14..d348641 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-append.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-append.html
@@ -9,12 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTable TABLE",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 newCell = document.createElement("td");
                 newCell.style.borderLeftWidth = "6px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-remove.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-remove.html
index 795b699..4ff2348 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-remove.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-cell-remove.html
@@ -9,17 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD id='bar'",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTable TABLE",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableSection TBODY",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 barCell = document.getElementById("bar");
                 document.getElementById("row").removeChild(barCell);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-color.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-color.html
index 466e8c82..e87b1f2f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-color.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-color.html
@@ -9,11 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD id='foo'",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD id='foo'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("foo").style.borderColor = "lime";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-width.html
index 9d29a61..7459a77 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-cell-border-width.html
@@ -9,15 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD id='foo'",
-                "LayoutTableCell TD",
-                "LayoutTable TABLE",
-                "LayoutTableSection TBODY",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD id='foo'",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("foo").style.borderWidth = "4px";
                 document.getElementById("foo").style.borderColor = "lime";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-color.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-color.html
index ff9fa3e..c59e1698 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-color.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-color.html
@@ -9,15 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCol COL id='col'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("col").style.borderColor = "yellow";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-width.html
index 981467ae..091bfa0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-col-border-width.html
@@ -9,23 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTable TABLE",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCol COL id='col'",
-                "LayoutTableSection TBODY",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("col").style.borderWidth = "4px";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-color.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-color.html
index 2d2a35d..6d32b28 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-color.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-color.html
@@ -9,19 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCol COLGROUP id='colgroup'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("colgroup").style.borderColor = "yellow";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-width.html
index f5ddd048..7b8b87f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-colgroup-border-width.html
@@ -9,23 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCol COLGROUP id='colgroup'",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("colgroup").style.borderWidth = "4px";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-color.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-color.html
index c8e13cd4..c929b82 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-color.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-color.html
@@ -9,12 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableRow TR id='row'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("row").style.borderColor = "yellow";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-width.html
index 724cebe..f0ee7d6 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-row-border-width.html
@@ -9,17 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTable TABLE",
-                "LayoutTableCell TD",
-                "LayoutTableSection TBODY",
-                "LayoutTableRow TR id='row'",
-                "LayoutTableCell TD",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("row").style.borderWidth = "4px";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-color.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-color.html
index 2efaa0a..b7fc658c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-color.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-color.html
@@ -9,10 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTable TABLE id='tbl'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("tbl").style.borderColor = "yellow";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-width.html
index 32f59457..f79e4bd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-table-border-width.html
@@ -9,13 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTable TABLE id='tbl'",
-                "LayoutTableSection TBODY",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("tbl").style.borderWidth = "4px";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-color.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-color.html
index 0d351f9..0abf3e1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-color.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-color.html
@@ -9,19 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableSection TBODY id='tbody'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("tbody").style.borderColor = "yellow";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-width.html
index bcb4de1..9d6c264 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-width.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/cached-change-tbody-border-width.html
@@ -9,30 +9,6 @@
         <link rel="stylesheet" href="../../../fast/table/border-collapsing/resources/cached.css">
         <script src="resources/paint-invalidation-test.js"></script>
         <script type="text/javascript">
-            window.expectedPaintInvalidationObjects = [
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTable TABLE",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableSection TBODY id='tbody'",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-                "LayoutTableSection TBODY",
-                "LayoutTableRow TR",
-                "LayoutTableCell TD",
-                "LayoutTableCell TD",
-            ];
             function paintInvalidationTest() {
                 document.getElementById("tbody").style.borderWidth = "4px";
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-putImageData.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-putImageData.html
index 1af7766..ce0a545 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-putImageData.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-putImageData.html
@@ -26,9 +26,6 @@
         ctx.fillRect(80, 80, 10, 10);
         window.testIsAsync = true;
         
-        window.expectedPaintInvalidationObjects = [
-            "LayoutHTMLCanvas CANVAS id='canvas'",
-        ];
         function paintInvalidationTest()
         {
             // patch up red squares with putImageData
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation-as-text-expected.txt
new file mode 100644
index 0000000..8ef80a7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation-as-text-expected.txt
@@ -0,0 +1 @@
+["LayoutHTMLCanvas (positioned) CANVAS id='canvas'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation-as-text.html
new file mode 100644
index 0000000..58bd5be
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation-as-text.html
@@ -0,0 +1,34 @@
+<!-- Based on fast/repaint/canvas-resize-no-full-invalidation.html -->
+<!DOCTYPE html>
+<style>
+canvas {
+  position: absolute;
+  width: 600px;
+  height: 500px;
+  top: 50px;
+  left: 50px;
+  /* object-fit and object-position make the content of the canvas not affected
+     by the resize in paintInvalidationTest(). */  
+  object-fit: contain;
+  object-position: 0 0;
+  background-color: #030;
+}
+</style>
+Tests paint invalidation of canvas when it's resized which doesn't affect its contents. Passes if there is only incremental invalidation for the resized background.
+<canvas id="canvas" width="500" height="500"></canvas>
+
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+function paintInvalidationTest() {
+  document.getElementById('canvas').style.width = '500px';
+}
+onload = runPaintInvalidationTest;
+
+var ctx = document.getElementById('canvas').getContext('2d');
+ctx.beginPath();
+ctx.arc(250, 250, 250, 0, 2 * Math.PI);
+ctx.fillStyle = 'green';
+ctx.fill();
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation.html
index f0c1a7bc..85f1819 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize-no-full-invalidation.html
@@ -8,9 +8,6 @@
   top: 50px;
   left: 50px;
   /* object-fit and object-position make the content of the canvas not affected
-     window.expectedPaintInvalidationObjects = [
-         "LayoutHTMLCanvas (positioned) CANVAS id='canvas'",
-     ];
      by the resize in paintInvalidationTest(). */  
   object-fit: contain;
   object-position: 0 0;
@@ -22,9 +19,6 @@
 
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-     window.expectedPaintInvalidationObjects = [
-         "LayoutHTMLCanvas (positioned) CANVAS id='canvas'",
-     ];
 function paintInvalidationTest() {
   document.getElementById('canvas').style.width = '500px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize.html
index f573f42d..61e76c79 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/canvas-resize.html
@@ -14,9 +14,6 @@
 
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutHTMLCanvas (positioned) CANVAS id='canvas'",
-];
 function paintInvalidationTest() {
   document.getElementById('canvas').style.width = '500px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/change-transform.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/change-transform.html
index c5e1fae3..1077433b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/change-transform.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/change-transform.html
@@ -3,9 +3,6 @@
 <head>
   <script src="resources/paint-invalidation-test.js"></script>
   <script type="text/javascript" charset="utf-8">
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='square'",
-    ];
     function paintInvalidationTest()
     {
         var target = document.getElementById("square");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/child-of-sub-pixel-offset-composited-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/child-of-sub-pixel-offset-composited-layer.html
index 4c5bd03..a76cf72 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/child-of-sub-pixel-offset-composited-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/child-of-sub-pixel-offset-composited-layer.html
@@ -33,9 +33,6 @@
 <script>
 // This test ensures that children of a composited element with a sub-pixel offset are properly repainted.
 // The box should have a fully green border.
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target' class='green'",
-];
 function paintInvalidationTest() {
   var target = document.getElementById('target');
   target.classList.add('green');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint-as-text.html
new file mode 100644
index 0000000..4fcd5a04
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint-as-text.html
@@ -0,0 +1,31 @@
+<!-- Based on fast/repaint/clip-path-constant-repaint.html -->
+<!DOCTYPE html>
+<html>
+<head>
+<script src="resources/paint-invalidation-test.js"></script>
+<script type="text/javascript">
+if (window.testRunner)
+    testRunner.dumpAsText();
+window.onload = function() {
+    runPaintInvalidationTest();
+};
+
+function paintInvalidationTest() {
+    document.getElementById('clip').style.transform = 'translateY(100px)';
+}
+</script>
+<style>
+#clip {
+  width: 100%;
+  height: 300px;
+  position: fixed;
+  background-color: rgba(255, 0, 0, 0.9);
+  -webkit-clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 0px 83%);
+  -webkit-backface-visibility: hidden;
+}
+</style>
+</head>
+<body>
+  <div id="clip"></div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint.html
index 4c7757e..71219f7 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clip-path-constant-repaint.html
@@ -8,8 +8,6 @@
     runPaintInvalidationTest();
 };
 
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
     document.getElementById('clip').style.transform = 'translateY(100px)';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipped-overflow-visible-subtree.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipped-overflow-visible-subtree.html
index 8ab47a5..4a1df30 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipped-overflow-visible-subtree.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipped-overflow-visible-subtree.html
@@ -2,13 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-  window.expectedPaintInvalidationObjects = [
-      "LayoutBlockFlow (floating) DIV id='node'",
-      "LayoutBlockFlow (floating) DIV",
-      "LayoutBlockFlow (floating) DIV",
-      "LayoutBlockFlow DIV",
-      "LayoutBlockFlow DIV",
-  ];
   function paintInvalidationTest()
   {
     document.getElementById('node').remove();
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text.html
new file mode 100644
index 0000000..d5f2aa7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants-as-text.html
@@ -0,0 +1,64 @@
+<!-- Based on compositing/repaint/clipping-should-not-repaint-composited-descendants.html -->
+<!DOCTYPE html>
+<style>
+    .spacer {
+        position: relative;
+        width: 300px;
+        height: 300px;
+    }
+
+    .clipping-container {
+        position: absolute;
+        height: 300px;
+        transform: translateZ(0);
+    }
+
+    .with-initial-clipping {
+        clip: rect(50px, 250px, 250px, 50px);
+    }
+
+    .clipped-composited-child {
+        width: 250px;
+        height: 250px;
+        background-color: yellow;
+        border: 1px solid black;
+        transform: translateZ(0);
+    }
+</style>
+<style id="alt1">
+    .clipping-container {
+        width: 300px;
+    }
+</style>
+<style id="alt2">
+    .clipping-container {
+        width: 100%;
+        clip: rect(100px, 200px, 200px, 100px);
+    }
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+    if (window.testRunner)
+        testRunner.dumpAsText();
+    var alt1 = document.getElementById('alt1');
+    var alt2 = document.getElementById('alt2');
+    alt2.disabled = true;
+
+    function paintInvalidationTest() {
+        alt2.disabled = false;
+        alt1.disabled = true;
+    }
+
+    runPaintInvalidationTest();
+</script>
+
+<div class="spacer">
+    <div class="clipping-container">
+        <div class="clipped-composited-child"></div>
+    </div>
+</div>
+<div class="spacer">
+    <div class="clipping-container with-initial-clipping">
+        <div class="clipped-composited-child"></div>
+    </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants.html
index a97e0a7..e2790db 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/clipping-should-not-repaint-composited-descendants.html
@@ -42,8 +42,6 @@
     var alt2 = document.getElementById('alt2');
     alt2.disabled = true;
 
-    window.expectedPaintInvalidationObjects = [
-    ];
     function paintInvalidationTest() {
         alt2.disabled = false;
         alt1.disabled = true;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/compositing-reason-removed.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/compositing-reason-removed.html
index c3cd91a..cd1c1e3 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/compositing-reason-removed.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/compositing-reason-removed.html
@@ -12,8 +12,6 @@
 
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-  window.expectedPaintInvalidationObjects = [
-  ];
   function paintInvalidationTest() {
     // Remove the div's only compositing reason. This should trigger a repaint.
     document.getElementById("square").style.webkitBackfaceVisibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/content-into-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/content-into-overflow.html
index 68a34a8..629bca4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/content-into-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/content-into-overflow.html
@@ -13,12 +13,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV",
-            "LayoutBlockFlow (positioned) DIV",
-            "LayoutBlockFlow DIV",
-            "LayoutBlockFlow DIV id='target3'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('target1').style.width = 'auto';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/destroy-scrollbar.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/destroy-scrollbar.html
index b720dab..7c164d2 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/destroy-scrollbar.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/destroy-scrollbar.html
@@ -2,10 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "VerticalScrollbar",
-    "LayoutBlockFlow (positioned) DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('content').style.height = '100px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/do-not-paint-below-image-baseline.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/do-not-paint-below-image-baseline.html
index a013dab..d50449e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/do-not-paint-below-image-baseline.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/do-not-paint-below-image-baseline.html
@@ -4,9 +4,6 @@
   <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-      window.expectedPaintInvalidationObjects = [
-          "LayoutImage IMG",
-      ];
       function paintInvalidationTest()
       {
         var things = document.getElementsByClassName("before");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html
index a6f0f2cf..a3709e23 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html
@@ -8,9 +8,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='target'",
-        ];
         function paintInvalidationTest() {
             document.getElementById('target').style.visibility = 'visible';
         }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/erase-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/erase-overflow.html
index 47f541c..c2118cf1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/erase-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/erase-overflow.html
@@ -7,10 +7,6 @@
     </style>
     <script type="text/javascript" src="resources/paint-invalidation-test.js"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='target' class='square'",
-            "LayoutBlockFlow DIV class='square'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.overflow = "hidden";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-after-display.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-after-display.html
index af33f7c..eca9f25 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-after-display.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-after-display.html
@@ -21,10 +21,6 @@
 <div class="green drop-shadowed box" id="box"></div>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='box' class='green box'",
-    "LayoutBlockFlow (positioned) DIV id='box' class='green box'",
-];
 function paintInvalidationTest() {
     var box = document.getElementById('box');
     box.classList.toggle('drop-shadowed');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-with-composited-container-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-with-composited-container-change.html
index f89ef0d..1918bc1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-with-composited-container-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-invalidation-with-composited-container-change.html
@@ -23,9 +23,6 @@
 <div class="green drop-shadowed box" id="box"></div>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='box' class='green box blurry'",
-];
 function paintInvalidationTest() {
     var box = document.getElementById('box');
     box.classList.toggle('drop-shadowed');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-child-with-filter-child.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-child-with-filter-child.html
index 2c9a0986..905d3d3 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-child-with-filter-child.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-child-with-filter-child.html
@@ -32,9 +32,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='resize' class='drop-shadow'",
-];
 function paintInvalidationTest() {
     var resizeElement = document.getElementById("resize");
     resizeElement.style.width = "100px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-on-accelerated-filter.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-on-accelerated-filter.html
index 8110664..7b52581 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-on-accelerated-filter.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-accelerated-on-accelerated-filter.html
@@ -31,9 +31,6 @@
 <script>
 window.testIsAsync = true;
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='resize' class='drop-shadow accelerated'",
-];
 function paintInvalidationTest() {
     var resizeElement = document.getElementById("resize");
     resizeElement.style.width = "100px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-on-accelerated-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-on-accelerated-layer.html
index 4a2ebc7..78140ba 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-on-accelerated-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/filter-repaint-on-accelerated-layer.html
@@ -25,9 +25,6 @@
 
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='resize' class='accelerated'",
-];
 function paintInvalidationTest() {
     var resizeElement = document.getElementById("resize");
     resizeElement.style.width = "100px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-after-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-after-scroll.html
index f893377..49f1110 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-after-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-after-scroll.html
@@ -9,10 +9,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='t' class='green absolute'",
-            "LayoutBlockFlow (positioned) DIV id='t' class='green absolute'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('t').style.position = "fixed";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-and-absolute-position-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-and-absolute-position-scrolled.html
index e8e4d79..fd9e0c0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-and-absolute-position-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-and-absolute-position-scrolled.html
@@ -4,20 +4,11 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        if (window.testRunner)
-            testRunner.dumpAsTextWithPixelResults();
-
         window.onload = function() {
             window.scrollTo(0, 500);
             runPaintInvalidationTest();
         }
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutView #document",
-            "LayoutBlockFlow HTML",
-            "LayoutBlockFlow DIV id='container' class='relative'",
-            "LayoutBlockFlow (positioned) DIV id='absoluteDiv' class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('container').style.position = 'static';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-move-after-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-move-after-scroll.html
index 20ebd27..07008c4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-move-after-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-move-after-scroll.html
@@ -10,9 +10,6 @@
           runPaintInvalidationTest();
       }
 
-      window.expectedPaintInvalidationObjects = [
-          "LayoutBlockFlow (positioned) DIV id='toMove'",
-      ];
       function paintInvalidationTest()
       {
           document.getElementById('toMove').style.left = "150px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-fixed-move-after-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-fixed-move-after-scroll.html
index 27200401..9f0658d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-fixed-move-after-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-fixed-move-after-scroll.html
@@ -9,9 +9,6 @@
           scrollBy(0, 200);
           runPaintInvalidationTest();
       }
-      window.expectedPaintInvalidationObjects = [
-          "LayoutBlockFlow (positioned) DIV id='toMove'",
-      ];
       function paintInvalidationTest()
       {
           document.getElementById('toMove').style.left = "150px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-move-after-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-move-after-scroll.html
index 3cef7819..bb8695b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-move-after-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-move-after-scroll.html
@@ -9,9 +9,6 @@
           scrollBy(0, 200);
           runPaintInvalidationTest();
       }
-      window.expectedPaintInvalidationObjects = [
-          "LayoutBlockFlow (positioned) DIV id='toMove'",
-      ];
       function paintInvalidationTest()
       {
           document.getElementById('toMove').style.left = "150px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-scrolled.html
index 8a2c857f..18a156a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-child-of-transformed-scrolled.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='fixed'",
-];
 function paintInvalidationTest() {
   document.getElementById('fixed').style.backgroundColor = 'green';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-descendant-of-transformed-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-descendant-of-transformed-scrolled.html
index 7fbd415..d8e13e7 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-descendant-of-transformed-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-descendant-of-transformed-scrolled.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='fixed'",
-];
 function paintInvalidationTest() {
   document.getElementById('fixed').style.backgroundColor = 'green';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-img-src-change-after-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-img-src-change-after-scroll.html
index 402688c..db7b375 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-img-src-change-after-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-img-src-change-after-scroll.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutImage (positioned) IMG id='img'",
-];
 function paintInvalidationTest() {
   window.scrollTo(0, 1000);
   document.getElementById('img').src = '../../../fast/images/resources/green.jpg';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-margin-change-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-margin-change-repaint.html
index bfe83a89..b892f75 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-margin-change-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-margin-change-repaint.html
@@ -19,9 +19,6 @@
     }
 </style>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='test'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("test").style['margin-top'] = '20px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-move-after-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-move-after-scroll.html
index 8f0c588..fa7303b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-move-after-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-move-after-scroll.html
@@ -9,9 +9,6 @@
           scrollBy(0, 200);
           runPaintInvalidationTest();
       }
-      window.expectedPaintInvalidationObjects = [
-          "LayoutBlockFlow (positioned) DIV id='toMove'",
-      ];
       function paintInvalidationTest()
       {
           document.getElementById('toMove').style.left = "150px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-pos-inside-composited-intermediate-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-pos-inside-composited-intermediate-layer.html
index af6a4fe..9edcb203 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-pos-inside-composited-intermediate-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-pos-inside-composited-intermediate-layer.html
@@ -40,9 +40,6 @@
             internals.settings.setPreferCompositingToLCDTextEnabled(false);
         }
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV class='fixed'",
-        ];
         function paintInvalidationTest() {
              window.scrollTo(0, 100);
         }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-position-transparency-with-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-position-transparency-with-overflow.html
index ab9f4e5..bfec871 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-position-transparency-with-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-position-transparency-with-overflow.html
@@ -4,10 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (relative positioned) DIV id='container' class='relative blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('container').style.opacity = '0.4';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scale.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scale.html
index 1940fe2..0b21e61 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scale.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scale.html
@@ -9,17 +9,11 @@
     </style>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        if (window.testRunner)
-            testRunner.dumpAsTextWithPixelResults();
-
         window.onload = function() {
             window.scrollTo(0, 200);
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='t' class='green translated'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('t').setAttribute("class", "green translated");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-in-empty-root-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-in-empty-root-layer.html
index 95bf034f..bfe09257 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-in-empty-root-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-in-empty-root-layer.html
@@ -2,10 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV",
-    "LayoutBlockFlow (positioned) DIV",
-];
 function paintInvalidationTest() {
   window.scrollBy(0, 200);
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-simple.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-simple.html
index 47bbbc4..6c69aa4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-simple.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-scroll-simple.html
@@ -4,12 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        if (window.testRunner)
-            testRunner.dumpAsTextWithPixelResults();
-
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV class='green'",
-        ];
         function paintInvalidationTest()
         {
             window.scrollTo(0, 100);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-cell.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-cell.html
index 1aa465d..cafdd3ca 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-cell.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-cell.html
@@ -14,17 +14,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTableCell TD id='moveMe' class='fixed'",
-            "LayoutTable (positioned) TABLE",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD class='red'",
-            "LayoutTableCell (anonymous)",
-            "LayoutTableSection TBODY",
-            "LayoutTableCell (anonymous)",
-            "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('moveMe').className = "fixed";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-expected.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-expected.html
index 1214053..dbac46e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-expected.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-expected.html
@@ -7,9 +7,6 @@
         td.fixed { position: fixed; left: 100px; top: 0px; }
     </style>
     <script>
-        if (window.testRunner)
-            testRunner.dumpAsTextWithPixelResults();
-
         window.onload = function() {
             window.scrollTo(0, 100);
             runRepaintTest();
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-zindex.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-zindex.html
index 4706e2f..1fa85fc 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-zindex.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow-zindex.html
@@ -14,17 +14,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTableCell TD id='moveMe' class='fixed'",
-            "LayoutTable (positioned) TABLE",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTableCell (anonymous)",
-            "LayoutTableCell TD class='red'",
-            "LayoutTableSection TBODY",
-            "LayoutTableCell (anonymous)",
-            "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('moveMe').className = "fixed";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow.html
index b720e42..5e2e71c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-table-overflow.html
@@ -14,19 +14,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (relative positioned) DIV class='green'",
-            "LayoutTableCell TD id='moveMe' class='fixed'",
-            "LayoutTable (positioned) TABLE",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD class='red'",
-            "LayoutTableCell (anonymous)",
-            "LayoutTableSection TBODY",
-            "LayoutTableCell (anonymous)",
-            "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'",
-            "LayoutBlockFlow (relative positioned) DIV class='green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('moveMe').className = "fixed";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-to-relative-position-with-absolute-child.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-to-relative-position-with-absolute-child.html
index 7d69746..6bee465 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-to-relative-position-with-absolute-child.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-to-relative-position-with-absolute-child.html
@@ -4,15 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='container' class='fixed blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow (relative positioned) DIV id='container' class='fixed blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow BODY",
-            "LayoutBlockFlow (relative positioned) DIV id='container' class='fixed blue'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('container').style.position = 'relative';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-tranformed.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-tranformed.html
index 6f382d6..af04bb3 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-tranformed.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-tranformed.html
@@ -24,9 +24,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='test'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('test').style.background='green';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-absolute-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-absolute-scrolled.html
index 7258773..5a003296 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-absolute-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-absolute-scrolled.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='fixed'",
-];
 function paintInvalidationTest() {
   document.getElementById('fixed').style.height = '200px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-fixed-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-fixed-scrolled.html
index 4b9c66a2..c720a66 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-fixed-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/fixed-under-composited-fixed-scrolled.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='fixed'",
-];
 function paintInvalidationTest() {
   document.getElementById('fixed').style.display = 'none';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-in-new-block-with-layout-delta.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-in-new-block-with-layout-delta.html
index be3caaf..025f0e5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-in-new-block-with-layout-delta.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-in-new-block-with-layout-delta.html
@@ -1,10 +1,6 @@
 <!-- Based on fast/repaint/float-in-new-block-with-layout-delta.html -->
 <script src="resources/paint-invalidation-test.js" type="text/javascript" charset="utf-8"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target'",
-        "LayoutBlockFlow (floating) DIV",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.removeProperty("display");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-new-in-block.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-new-in-block.html
index 8706db8e..cea3675f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-new-in-block.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/float-new-in-block.html
@@ -1,10 +1,6 @@
 <!-- Based on fast/repaint/float-new-in-block.html -->
 <script src="resources/paint-invalidation-test.js" type="text/javascript" charset="utf-8"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV",
-        "LayoutBlockFlow (floating) DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.removeProperty("display");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/focus-ring-on-continuation-move.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/focus-ring-on-continuation-move.html
index d2f8256..d8403de 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/focus-ring-on-continuation-move.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/focus-ring-on-continuation-move.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (relative positioned) DIV id='block'",
-];
 function paintInvalidationTest() {
   document.getElementById('block').style.left = '200px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/full-viewport-repaint-for-background-attachment-fixed.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/full-viewport-repaint-for-background-attachment-fixed.html
index 1521e60..498d6b5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/full-viewport-repaint-for-background-attachment-fixed.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/full-viewport-repaint-for-background-attachment-fixed.html
@@ -12,10 +12,6 @@
 if (window.testRunner)
     window.internals.settings.setPreferCompositingToLCDTextEnabled(false);
 
-window.expectedPaintInvalidationObjects = [
-    "##ALL##",
-    "LayoutView #document",
-];
 function paintInvalidationTest() {
     window.scrollTo(0, 1000);
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-columns-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-columns-repaint.html
index 071a4838..e94a214d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-columns-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-columns-repaint.html
@@ -3,10 +3,6 @@
 <html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutGrid DIV class='grid'",
-    "LayoutBlockFlow DIV class='sizedToGridArea'",
-];
 function paintInvalidationTest()
 {
     var gridElement = document.getElementsByClassName("grid")[0];
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-rows-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-rows-repaint.html
index 8bbe13a..bdb3fcb 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-rows-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-element-change-rows-repaint.html
@@ -3,10 +3,6 @@
 <html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutGrid DIV class='grid'",
-    "LayoutBlockFlow DIV class='sizedToGridArea'",
-];
 function paintInvalidationTest()
 {
     var gridElement = document.getElementsByClassName("grid")[0];
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-column-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-column-repaint.html
index 88a8a19..b46929b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-column-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-column-repaint.html
@@ -3,9 +3,6 @@
 <html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='sizedToGridArea'",
-];
 function paintInvalidationTest()
 {
     var gridItem = document.getElementsByClassName("sizedToGridArea")[0];
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-row-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-row-repaint.html
index aa205a6..d5fe7540 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-row-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-change-row-repaint.html
@@ -3,9 +3,6 @@
 <html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='sizedToGridArea'",
-];
 function paintInvalidationTest()
 {
     var gridItem = document.getElementsByClassName("sizedToGridArea")[0];
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-z-index-change-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-z-index-change-repaint.html
index 50655e46..04be799 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-z-index-change-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/grid-item-z-index-change-repaint.html
@@ -22,10 +22,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='item1' class='sizedToGridArea green negativeZIndex'",
-    "LayoutBlockFlow DIV id='item2' class='sizedToGridArea green'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('item1').style.zIndex = 1;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-child.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-child.html
index 4efe5c3..cc8acf8 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-child.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-child.html
@@ -35,9 +35,6 @@
     <script src="../../../resources/run-after-layout-and-paint.js"></script>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementsByClassName("target")[0];
             target.style.visibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-parent.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-parent.html
index c018ed9..f8c55ba4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-parent.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-parent.html
@@ -35,9 +35,6 @@
     <script src="../../../resources/run-after-layout-and-paint.js"></script>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementsByClassName("target")[0];
             target.style.visibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-same.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-same.html
index e702858..82dbe4b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-same.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/horizontal-bt-overflow-same.html
@@ -34,9 +34,6 @@
     <script src="../../../fast/repaint/../../resources/run-after-layout-and-paint.js"></script>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementsByClassName("target")[0];
             target.style.visibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-invalidation-table.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-invalidation-table.html
index b581966c..a9e2375 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-invalidation-table.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-invalidation-table.html
@@ -12,11 +12,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutTableCell TD id='secondRowSpan'",
-    "LayoutTableCell TD",
-    "LayoutTableRow TR class='bla'",
-];
 function paintInvalidationTest()
 {
     var secondRowSpan = document.getElementById("secondRowSpan");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders-whitespace.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders-whitespace.html
index 5b1707fd..051e42d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders-whitespace.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders-whitespace.html
@@ -23,10 +23,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='div_border'",
-        "LayoutBlockFlow DIV id='div_outline'",
-    ];
     function paintInvalidationTest() {
         if (!window.testRunner)
             return;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders.html
index 0b76dffd..1052e39 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/hover-pseudo-borders.html
@@ -27,11 +27,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='hitregion'",
-    "LayoutBlockFlow (positioned) \u003Cpseudo:after\u003E",
-    "LayoutTextFragment (anonymous)",
-];
 function paintInvalidationTest() {
   if (!window.testRunner)
     return;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize-expected.txt
index 7b0dca4..dd184de 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize-expected.txt
@@ -1 +1 @@
-The image should be fully repainted on resize. Passes if there is a whole apple after resize. 
+["LayoutImage (positioned) IMG"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize.html
index dfc9efd..ea1f6f9 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/image-resize.html
@@ -2,11 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-if (window.testRunner)
-  testRunner.dumpAsText();
-window.expectedPaintInvalidationObjects = [
-    "LayoutImage (positioned) IMG",
-];
 function paintInvalidationTest() {
   var img = document.getElementsByTagName('img')[0];
   img.style.width = '100px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-block-resize.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-block-resize.html
index 4e08cbb5..a3b27c3 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-block-resize.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-block-resize.html
@@ -7,12 +7,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "RootInlineBox",
-            "InlineBox",
-            "LayoutBlockFlow (positioned) DIV",
-            "LayoutBlockFlow DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('target').style.width = '100px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-horizontal-bt-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-horizontal-bt-overflow.html
index 2c16b5a..91abeff 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-horizontal-bt-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-horizontal-bt-overflow.html
@@ -1,10 +1,6 @@
 <!-- Based on fast/repaint/inline-horizontal-bt-overflow.html -->
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutText #text",
-        "InlineTextBox 'A\u00A0\u00A0B'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.webkitTextStrokeColor = "green";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-outline-repaint-2.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-outline-repaint-2.html
index 6a2657c..7a36653 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-outline-repaint-2.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-outline-repaint-2.html
@@ -19,12 +19,6 @@
   <span>Test</span>
 </div>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutInline SPAN",
-    "InlineFlowBox",
-    "LayoutText #text",
-    "InlineTextBox 'Test'",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.color = 'green';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-overflow.html
index ec01d22..2e8f411 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-overflow.html
@@ -1,10 +1,6 @@
 <!-- Based on fast/repaint/inline-overflow.html -->
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutText #text",
-        "InlineTextBox 'A\u00A0\u00A0B'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.webkitTextStrokeColor = "green";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-reflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-reflow.html
index 7c17f44..c87102c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-reflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-reflow.html
@@ -2,53 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "RootInlineBox",
-    "InlineTextBox 'A A A A A'",
-    "InlineTextBox 'AA AA AA'",
-    "InlineTextBox 'AA AAA AAA'",
-    "InlineTextBox 'AAA AAAA'",
-    "InlineTextBox 'AAAA AAAAA'",
-    "InlineTextBox 'AAAAA'",
-    "InlineTextBox 'AAAAAA'",
-    "InlineTextBox 'AAAAAAA'",
-    "InlineTextBox 'AAAAAA'",
-    "InlineTextBox 'AAAAA'",
-    "InlineTextBox 'AAAAA AAAA'",
-    "InlineTextBox 'AAAA AAA'",
-    "InlineTextBox 'AAA AAA AA'",
-    "InlineTextBox 'AA AA AA A'",
-    "InlineTextBox 'A A A A'",
-    "RootInlineBox",
-    "InlineTextBox 'A A A A A'",
-    "LayoutBlockFlow (positioned) DIV id='div1' class='container'",
-    "LayoutText #text",
-    "InlineTextBox 'A A A A A AA AA'",
-    "InlineTextBox 'AA AA AAA AAA'",
-    "InlineTextBox 'AAA AAAA AAAA'",
-    "InlineTextBox 'AAAAA AAAAA'",
-    "InlineTextBox 'AAAAAA AAAAAAA'",
-    "InlineTextBox 'AAAAAA AAAAA'",
-    "InlineTextBox 'AAAAA AAAA AAAA'",
-    "InlineTextBox 'AAA AAA AAA AA'",
-    "InlineTextBox 'AA AA AA A A A'",
-    "InlineTextBox 'A A'",
-    "LayoutBlockFlow (positioned) DIV id='div2' class='container'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('div1').style.width = '300px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-relative-positioned.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-relative-positioned.html
index 6e93fb9e..a198b9f9 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-relative-positioned.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-relative-positioned.html
@@ -6,13 +6,6 @@
     <div id="target" style="display: inline-block; width: 100px; height: 100px; overflow: hidden; font-family: Ahem; font-size: 100px; background: red; color: green;">p</div>
 </span>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "InlineTextBox ''",
-        "RootInlineBox",
-        "LayoutBlockFlow DIV id='target'",
-        "LayoutText #text",
-        "InlineTextBox 'a'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").firstChild.data = "a";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-lr-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-lr-overflow.html
index 2c81b82..91c4022 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-lr-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-lr-overflow.html
@@ -1,10 +1,6 @@
 <!-- Based on fast/repaint/inline-vertical-lr-overflow.html -->
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutText #text",
-        "InlineTextBox 'A\u00A0\u00A0B'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.webkitTextStrokeColor = "green";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-rl-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-rl-overflow.html
index ddfa203..4216cc98 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-rl-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/inline-vertical-rl-overflow.html
@@ -1,10 +1,6 @@
 <!-- Based on fast/repaint/inline-vertical-rl-overflow.html -->
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutText #text",
-        "InlineTextBox 'A\u00A0\u00A0B'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.webkitTextStrokeColor = "green";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position-clip.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position-clip.html
index 54e61fa..c11bbba 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position-clip.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position-clip.html
@@ -8,9 +8,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('target').style.height='20px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position.html
index 210f564..19212e1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/intermediate-layout-position.html
@@ -8,12 +8,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV",
-            "LayoutBlockFlow DIV id='target'",
-            "LayoutTable TABLE",
-            "LayoutTableCell TD id='cell'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('target').style.height='20px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text-expected.txt
new file mode 100644
index 0000000..d445254
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text-expected.txt
@@ -0,0 +1 @@
+["LayoutBlockFlow DIV id='target'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text.html
new file mode 100644
index 0000000..983f797
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-as-text.html
@@ -0,0 +1,20 @@
+<!-- Based on paint/invalidation/invalidate-after-composited-scroll.html -->
+<!doctype HTML>
+<div id="scroller" style="overflow:auto; will-change: transform; width: 200px; height: 200px; position: absolute; left: 300px; top: 300px;">
+    <div>
+        <div class="spacer" style="width: 1px; height: 2400px;"></div>
+        <div id="target" style="width: 100px; height: 100px; background: blue"></div>
+        <div class="spacer" style="width: 1px; height: 2400px;"></div>
+    </div>
+</div>
+<script src="resources/paint-invalidation-test.js"></script>
+Tests that invalidation of a div after scrolling invalidates just the div and scrollbars, and no other area.
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest() {
+    scroller.scrollTop = 2350;
+    target.style.background = "papayawhip";
+}
+onload = runPaintInvalidationTest;
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-of-window.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-of-window.html
index a0a12d61..01f2a85 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-of-window.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll-of-window.html
@@ -8,9 +8,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 Tests that invalidation of a div after scrolling invalidates just the div and no other area.
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='target'",
-];
 function paintInvalidationTest() {
     window.scrollBy(0, 2350);
     target.style.background = "papayawhip";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll.html
index 0faed43..c0e4730 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-after-composited-scroll.html
@@ -10,9 +10,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 Tests that invalidation of a div after scrolling invalidates just the div and scrollbars, and no other area.
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='target'",
-];
 function paintInvalidationTest() {
     scroller.scrollTop = 2350;
     target.style.background = "papayawhip";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-invisible-element.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-invisible-element.html
index 26fe0f1a..66887ce 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-invisible-element.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-invisible-element.html
@@ -8,9 +8,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementById('target');
             target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-for-fixed-pos-inside-iframe.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-for-fixed-pos-inside-iframe.html
index 48d0b93..bb30af4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-for-fixed-pos-inside-iframe.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-for-fixed-pos-inside-iframe.html
@@ -8,9 +8,6 @@
     runPaintInvalidationTest();
 };
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV",
-];
 function paintInvalidationTest() {
     document.getElementsByTagName('iframe')[0]
         .contentDocument
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-in-iframe-in-composited-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-in-iframe-in-composited-layer.html
index 9ee9ae81..d78caf9 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-in-iframe-in-composited-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-paint-in-iframe-in-composited-layer.html
@@ -8,9 +8,6 @@
     runPaintInvalidationTest();
 };
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
     document.getElementsByTagName('iframe')[0]
         .contentDocument
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-when-leaving-squashed-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-when-leaving-squashed-layer.html
index abf5ed5..c11ee3a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-when-leaving-squashed-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidate-when-leaving-squashed-layer.html
@@ -7,9 +7,6 @@
 <script>
 // Tests that causing a squashed layer to leave its squashing layer causes an invalidation in the squashing layer for the previous
 // location of the squashed layer.
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest() {
     var target = document.getElementById("target");
     target.style.transform = 'translateZ(0)';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-for-subpixel-offset-of-squashed-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-for-subpixel-offset-of-squashed-layer.html
index 8e37e0d..c8dcec37 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-for-subpixel-offset-of-squashed-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-for-subpixel-offset-of-squashed-layer.html
@@ -8,9 +8,6 @@
 
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest() {
     target.style.backgroundColor = 'red';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-with-zero-size-object.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-with-zero-size-object.html
index caa11eb..ec91359 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-with-zero-size-object.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidation-with-zero-size-object.html
@@ -2,9 +2,6 @@
 <!doctype html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='element'",
-    ];
     function paintInvalidationTest()
     {
       document.getElementById('element').style.width = '0';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-on-composited-layers.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-on-composited-layers.html
index d765a4d..2235310 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-on-composited-layers.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-on-composited-layers.html
@@ -28,10 +28,6 @@
   </style>
   <script src="resources/paint-invalidation-test.js"></script>
   <script>
-      window.expectedPaintInvalidationObjects = [
-          "LayoutBlockFlow DIV id='parent'",
-          "LayoutBlockFlow (relative positioned) DIV id='child'",
-      ];
       function paintInvalidationTest() {
           var parent = document.getElementById('parent');
           var child = document.getElementById('child');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-with-large-negative-margin.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-with-large-negative-margin.html
index e724f40..1d13b4e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-with-large-negative-margin.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invalidations-with-large-negative-margin.html
@@ -12,9 +12,6 @@
 <script>
 // Test that moving a Layer that is squashed relative to its squashing container repaints correctly.
 // In particular, the repaint rect needs to be recorded in the correct position relative to the squashing GraphicsLayer.
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='chip'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('chip').style.left = "400px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invisible-objects.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invisible-objects.html
index 6fb8a82..d526a697 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invisible-objects.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/invisible-objects.html
@@ -3,12 +3,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "InlineTextBox ''",
-            "RootInlineBox",
-            "LayoutText #text",
-            "InlineTextBox 'is invisible'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("block").style.height = "100px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-change.html
index 15e714d..4a8af0a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-change.html
@@ -2,12 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.justifyContent = 'space-between';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-distribution-change-grid.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-distribution-change-grid.html
index dd2e2a83..b6b3e41 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-distribution-change-grid.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-distribution-change-grid.html
@@ -2,15 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.justifyContent = 'stretch';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change-grid.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change-grid.html
index b055941..e1215cc 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change-grid.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change-grid.html
@@ -2,15 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.justifyContent = 'end';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change.html
index 252fdc7..7481a01 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-content-position-change.html
@@ -2,12 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.justifyContent = 'flex-start';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-change.html
index d589bf9..fa62f03 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-change.html
@@ -2,14 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutGrid DIV id='container'",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.justifyItems = 'start';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-legacy-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-legacy-change.html
index ec8d85f..01417f5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-legacy-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-legacy-change.html
@@ -2,20 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV id='parentContainer'",
-    "LayoutBlockFlow DIV id='parentContainer'",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('parentContainer').style.justifyItems = 'legacy center';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-overflow-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-overflow-change.html
index 1cfabcd..32858a8 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-overflow-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-items-overflow-change.html
@@ -2,20 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow HTML",
-    "LayoutBlockFlow BODY",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.justifyItems = 'end safe';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text.html
new file mode 100644
index 0000000..70f4fd9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry-as-text.html
@@ -0,0 +1,46 @@
+<!-- Based on fast/repaint/justify-self-change-keeping-geometry.html -->
+<!DOCTYPE HTML>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+function paintInvalidationTest() {
+  document.getElementsByClassName('item1')[0].style.justifySelf = 'left';
+  document.getElementsByClassName('item2')[0].style.justifySelf = 'right';
+}
+onload = runPaintInvalidationTest;
+</script>
+<style>
+body {
+  margin: 0;
+}
+#container {
+  display: grid;
+  grid: 100px 100px / 150px 150px;
+  width: 200px;
+  height: 300px;
+  background-color: red;
+}
+.item1 {
+  grid-row: 1;
+  grid-column: 1;
+  justify-self: start;
+  background-color: green;
+  width: 50px;
+}
+.item2 {
+  grid-row: 1;
+  grid-column: 2;
+  justify-self: end;
+  background-color: green;
+  width: 50px;
+</style>
+<p style="height: 20px">Tests invalidation on justify-self style change. Passes if there is no red.</p>
+<div id="container">
+  <div class="item1">
+    <div style="height: 150px"></div>
+  </div>
+  <div class="item2">
+    <div style="height: 100px"></div>
+  </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry.html
index f12e2d58..82edda6 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change-keeping-geometry.html
@@ -2,8 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item1')[0].style.justifySelf = 'left';
   document.getElementsByClassName('item2')[0].style.justifySelf = 'right';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change.html
index 8d0e10f..65b7104 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-change.html
@@ -2,12 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item1')[0].style.justifySelf = 'start';
   document.getElementsByClassName('item2')[0].style.justifySelf = 'end';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-overflow-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-overflow-change.html
index 31b9871..2025b80 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-overflow-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/justify-self-overflow-change.html
@@ -2,14 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow HTML",
-    "LayoutBlockFlow BODY",
-    "LayoutGrid DIV id='container'",
-    "LayoutBlockFlow DIV class='item1'",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV class='item2'",
-];
 function paintInvalidationTest() {
   document.getElementsByClassName('item1')[0].style.justifySelf = 'end safe';
   document.getElementsByClassName('item2')[0].style.justifySelf = 'end safe';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-full-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-full-repaint.html
index 17ad28c..15c8f85 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-full-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-full-repaint.html
@@ -18,9 +18,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (relative positioned) DIV id='test' class='selected'",
-        ];
         function paintInvalidationTest()
         {
            document.getElementById('test').className = "selected";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-hide-when-needs-layout.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-hide-when-needs-layout.html
index b36ab96..b3a70c2 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-hide-when-needs-layout.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-hide-when-needs-layout.html
@@ -4,9 +4,6 @@
     <title>Test for http://bugs.webkit.org/show_bug.cgi?id=13544</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             var div = document.getElementById("target");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-visibility.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-visibility.html
index 8561d1e0..e628bf6 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-visibility.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layer-visibility.html
@@ -13,9 +13,6 @@
         runPaintInvalidationTest();
     }
 
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         var target = document.getElementById("target");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layout-state-only-positioned.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layout-state-only-positioned.html
index 09e2b52..05dcbd3b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layout-state-only-positioned.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/layout-state-only-positioned.html
@@ -2,13 +2,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV",
-            "VerticalScrollbar",
-            "VerticalScrollbar",
-            "VerticalScrollbar",
-            "LayoutBlockFlow (positioned) DIV id='q'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("q").style.height = "200px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/margin.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/margin.html
index aa0cfa2..ba2da24 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/margin.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/margin.html
@@ -2,9 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest()
 {
     // Margin change will visually move the content of the div.
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/mix-blend-mode-separate-stacking-context.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/mix-blend-mode-separate-stacking-context.html
index 7f38ae6..8719996 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/mix-blend-mode-separate-stacking-context.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/mix-blend-mode-separate-stacking-context.html
@@ -28,16 +28,6 @@
     </div>
 
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (floating) DIV id='second'",
-            "LayoutBlockFlow (relative positioned) (floating) DIV",
-            "LayoutBlockFlow (floating) DIV id='first'",
-            "LayoutBlockFlow (relative positioned) (floating) DIV",
-            "LayoutBlockFlow (floating) DIV id='second'",
-            "LayoutBlockFlow (floating) DIV id='third'",
-            "LayoutBlockFlow (relative positioned) (floating) DIV id='fourth'",
-            "LayoutBlockFlow (floating) DIV",
-        ];
         function paintInvalidationTest() {
             document.getElementById('first').style.mixBlendMode = "multiply";
             document.getElementById('second').style.mixBlendMode = "normal";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-as-paint-container.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-as-paint-container.html
index 07848e3..97af369 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-as-paint-container.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-as-paint-container.html
@@ -3,27 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutText #text",
-        "InlineTextBox 'Lorem ipsum'",
-        "InlineTextBox 'dolor sit amet,'",
-        "InlineTextBox 'consectetur'",
-        "InlineTextBox 'adipiscing'",
-        "InlineTextBox 'elit. Fusce'",
-        "InlineTextBox 'varius, metus'",
-        "InlineTextBox 'eu fringilla'",
-        "InlineTextBox 'pulvinar, ipsum'",
-        "InlineTextBox 'sapien'",
-        "InlineTextBox 'ultricies arcu,'",
-        "InlineTextBox 'non condimentum'",
-        "InlineTextBox 'quam est eu'",
-        "InlineTextBox 'purus. Ut nisl'",
-        "InlineTextBox 'libero,'",
-        "InlineTextBox 'suscipit ut leo'",
-        "InlineTextBox 'eget, dapibus'",
-        "InlineTextBox 'ultrices dolor.'",
-        "LayoutMultiColumnSet (anonymous)",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.color = 'green';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-relpos-with-abspos.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-relpos-with-abspos.html
index 4d12a9d..0e39fba 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-relpos-with-abspos.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-relpos-with-abspos.html
@@ -3,9 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='target'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-repaint.html
index 9e326a9..99e15c4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-repaint.html
@@ -18,16 +18,6 @@
   </style>
   <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
   <script type="text/javascript">
-     window.expectedPaintInvalidationObjects = [
-         "RootInlineBox",
-         "RootInlineBox",
-         "InlineTextBox '\u00A0'",
-         "InlineTextBox '\n'",
-         "InlineTextBox ''",
-         "LayoutMultiColumnFlowThread (anonymous)",
-         "LayoutText #text",
-         "InlineTextBox 'XXXXXX'",
-     ];
      function paintInvalidationTest()
      {
          document.getElementById('a').innerHTML = 'XXXXXX';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos-in-relpos.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos-in-relpos.html
index ac4d45d..9c857d2 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos-in-relpos.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos-in-relpos.html
@@ -3,11 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='target'",
-        "LayoutText #text",
-        "InlineTextBox 'PASS'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos.html
index a229af06..48c70c378 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-abspos.html
@@ -3,11 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (positioned) DIV id='target'",
-        "LayoutText #text",
-        "InlineTextBox 'PASS'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-block.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-block.html
index 61173d87..9f2effe 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-block.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-block.html
@@ -3,11 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target'",
-        "LayoutText #text",
-        "InlineTextBox 'PASS'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-inline.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-inline.html
index 10297f81..299f3bd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-inline.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-inline.html
@@ -3,11 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutInline SPAN id='target'",
-        "LayoutText #text",
-        "InlineTextBox 'PASS'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-bt.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-bt.html
index d3bc6a4..2c409a4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-bt.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-bt.html
@@ -3,9 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='elm'",
-    ];
     function paintInvalidationTest() {
         document.getElementById('elm').style.background = 'green';
     }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-rl.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-rl.html
index ad442f8..e029290 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-rl.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-overflowing-block-rl.html
@@ -3,9 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='elm'",
-    ];
     function paintInvalidationTest() {
         document.getElementById('elm').style.background = 'green';
     }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-relpos.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-relpos.html
index 05a1492..9d293fa 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-relpos.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-relpos.html
@@ -3,9 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (relative positioned) DIV id='target'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.visibility = 'visible';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-text.html
index 5ceea203..6afb0ae1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-text.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/multicol-with-text.html
@@ -3,17 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "RootInlineBox",
-        "RootInlineBox",
-        "RootInlineBox",
-        "InlineTextBox '\n'",
-        "InlineTextBox '\n'",
-        "InlineTextBox '\n'",
-        "LayoutMultiColumnFlowThread (anonymous)",
-        "LayoutText #text",
-        "InlineTextBox 'PASS'",
-    ];
     function paintInvalidationTest() {
         var mc = document.getElementById('mc');
         mc.appendChild(document.createTextNode('PASS'));
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-expand.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-expand.html
index 1d5bc40..50359758 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-expand.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-expand.html
@@ -2,10 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='outer'",
-        "LayoutBlockFlow DIV id='inner2'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById('inner2').style.display = 'block';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-shrink.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-shrink.html
index f50de19..2b20336 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-shrink.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-shadow-box-shrink.html
@@ -2,10 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='inner2'",
-        "LayoutBlockFlow DIV id='outer'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById('inner2').style.display = 'none';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-text-indent-with-overflow-hidden.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-text-indent-with-overflow-hidden.html
index 065df93..f95138741 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-text-indent-with-overflow-hidden.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/negative-text-indent-with-overflow-hidden.html
@@ -24,9 +24,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target' class='changed'",
-    ];
     function paintInvalidationTest() {
         document.getElementById('target').classList.add('changed');
     }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/nested-fixed-iframe-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/nested-fixed-iframe-scrolled.html
index 2094425..306160c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/nested-fixed-iframe-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/nested-fixed-iframe-scrolled.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='div'",
-];
 function paintInvalidationTest() {
   frames[0].frames[0].document.getElementById('div').style.backgroundColor = 'green';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element-as-text.html
new file mode 100644
index 0000000..46b1c615
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element-as-text.html
@@ -0,0 +1,31 @@
+<!-- Based on fast/repaint/no-caret-repaint-in-non-content-editable-element.html -->
+<html>
+<head>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    // By definition, when caret browsing is enabled we always paint the caret.
+    // So, this test is only applicable when caret browsing is disabled because
+    // non-content-editable elements won't cause the caret to be drawn since they
+    // are not editable.
+    testRunner.overridePreference("WebKitEnableCaretBrowsing", false);
+}
+function paintInvalidationTest()
+{
+    if (!window.eventSender)
+        return;
+
+    var target = document.getElementById("target");
+    eventSender.mouseMoveTo(target.offsetLeft, target.offsetTop);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+}
+window.onload = runPaintInvalidationTest;
+</script>
+</head>
+<body>
+    <p>This tests that clicking on a non-content editable element does not cause a repaint of it in whole or in part.</p>
+    <p id="target">This element is not content editable.</p>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element.html
index a3429f6..e6073a1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/no-caret-repaint-in-non-content-editable-element.html
@@ -10,8 +10,6 @@
     // are not editable.
     testRunner.overridePreference("WebKitEnableCaretBrowsing", false);
 }
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest()
 {
     if (!window.eventSender)
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint-expected.txt
index c0f53d7..fe51488 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint-expected.txt
@@ -1,3 +1 @@
-
- 
-
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint.html
index 4b18cfb..1b83745 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/obscured-background-no-repaint.html
@@ -52,8 +52,6 @@
         testRunner.dumpAsText();
     }
     window.testIsAsync = true;
-    window.expectedPaintInvalidationObjects = [
-    ];
     function paintInvalidationTest()
     {
         runAfterLayoutAndPaint(finishPaintInvalidationTest);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-change-offset.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-change-offset.html
index 65269cf..98ceb1b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-change-offset.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-change-offset.html
@@ -2,10 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='indicator'",
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest() {
   document.getElementById('target').style.outlineOffset = '10px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-child-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-child-repaint.html
index b91f597d..df090ff 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-child-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/outline-child-repaint.html
@@ -3,10 +3,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='container'",
-            "LayoutBlockFlow DIV class='outlined'",
-        ];
         function paintInvalidationTest()
         {
             var container = document.getElementById('container');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-clip-subtree-layout.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-clip-subtree-layout.html
index 70388c2..ed26f21 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-clip-subtree-layout.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-clip-subtree-layout.html
@@ -3,9 +3,6 @@
     <title>Test for http://bugs.webkit.org/show_bug.cgi?id=15015 rdar://problem/5420308</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("float").appendChild(document.createElement("div"));
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-block.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-block.html
index 242f848..2fdf53d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-block.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-block.html
@@ -3,9 +3,6 @@
 <script>
     onload = runPaintInvalidationTest;
 
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.visibility = "hidden";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-table.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-table.html
index 8da7625..9d0bf12 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-table.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-flipped-writing-mode-table.html
@@ -3,9 +3,6 @@
 <script>
     onload = runPaintInvalidationTest;
 
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.visibility = "hidden";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hidden-in-overflow-hidden-scrolled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hidden-in-overflow-hidden-scrolled.html
index 3db0aef..b37739f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hidden-in-overflow-hidden-scrolled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hidden-in-overflow-hidden-scrolled.html
@@ -33,11 +33,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='innerWrapper'",
-            "LayoutBlockFlow DIV class='red'",
-            "LayoutBlockFlow DIV id='ucp' class='green'",
-        ];
         function paintInvalidationTest()
         {
             window.location.hash = "#ucp";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hide.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hide.html
index cd3ee9e..4235695 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hide.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-hide.html
@@ -4,10 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='overflowParent' class='absolute green'",
-            "LayoutBlockFlow (relative positioned) DIV class='relative red'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('overflowParent').style.overflow = "hidden";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-into-content.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-into-content.html
index 8123887..b39fbccd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-into-content.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-into-content.html
@@ -13,12 +13,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='target3'",
-            "LayoutBlockFlow (positioned) DIV",
-            "LayoutBlockFlow (positioned) DIV",
-            "LayoutBlockFlow DIV",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('target1').style.width = '';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-show.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-show.html
index 0da3f70f..95235dc 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-show.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/overflow-show.html
@@ -4,10 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='overflowParent' class='absolute green'",
-            "LayoutBlockFlow (relative positioned) DIV class='relative green'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('overflowParent').style.overflow = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-border-keeping-border-box-and-content-box.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-border-keeping-border-box-and-content-box.html
index fbb03b8..96447bd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-border-keeping-border-box-and-content-box.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-border-keeping-border-box-and-content-box.html
@@ -2,9 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest()
 {
     // Though neither border box nor content box changes, should full repaint
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-content-size.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-content-size.html
index c4c1365..741a325f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-content-size.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-content-size.html
@@ -2,11 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target1' class='outer'",
-    "LayoutBlockFlow (positioned) DIV id='target2' class='outer'",
-    "LayoutBlockFlow DIV class='inner'",
-];
 function paintInvalidationTest()
 {
     // Both targets' visual size expand. Should full repaint.
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-visual-size.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-visual-size.html
index 2fabbbfc..cf9debfb 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-visual-size.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/padding-keeping-visual-size.html
@@ -2,10 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target2' class='outer'",
-    "LayoutBlockFlow DIV class='inner'",
-];
 function paintInvalidationTest()
 {
     // No visual change. Optimally, there should be no repaint.
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paged-with-overflowing-block-rl.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paged-with-overflowing-block-rl.html
index d640ad74..3551eef 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paged-with-overflowing-block-rl.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paged-with-overflowing-block-rl.html
@@ -3,9 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='elm'",
-    ];
     function paintInvalidationTest() {
         document.getElementById('elm').style.background = 'green';
     }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent-expected.txt
index 8b13789..5e6618e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent-expected.txt
@@ -1 +1 @@
-
+["LayoutBlockFlow DIV id='editable'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent.html
index 0f91386..da9ce8cf 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-caret-in-div-with-negative-indent.html
@@ -16,11 +16,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-    if (window.testRunner)
-        testRunner.dumpAsTextWithPixelResults();
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='editable'",
-    ];
     function paintInvalidationTest() {
         document.getElementById('editable').focus();
     }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-invalidation-with-opacity.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-invalidation-with-opacity.html
index 9d7abcf..3d1c00f51 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-invalidation-with-opacity.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/paint-invalidation-with-opacity.html
@@ -3,9 +3,6 @@
 <div id="target" style="width: 100px; height: 100px; background: lightblue"></div>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='target'",
-];
 function paintInvalidationTest() {
     document.getElementById('target').style.opacity = 0.5;
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container-expected.txt
index 2105abb..afda414 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container-expected.txt
@@ -1 +1,2 @@
-The percent-sized image should be fully repainted on container's resize. Passes if there is a whole apple after resize. 
+["LayoutBlockFlow (positioned) DIV",
+ "LayoutImage (positioned) IMG"]
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container.html
index 2f2aaef..46c72aa 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/percent-size-image-resize-container.html
@@ -2,13 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-if (window.testRunner)
-  testRunner.dumpAsText();
-
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV",
-    "LayoutImage (positioned) IMG",
-];
 function paintInvalidationTest() {
   var div = document.getElementsByTagName('div')[0];
   div.style.width = '100px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/position-change-keeping-geometry.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/position-change-keeping-geometry.html
index 5b4c9744c1..3e51420 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/position-change-keeping-geometry.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/position-change-keeping-geometry.html
@@ -11,10 +11,6 @@
   target.style.left = originalLeft + 'px';
 }
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target2'",
-    "LayoutBlockFlow (positioned) DIV id='target3'",
-];
 function paintInvalidationTest()
 {
   changePositionKeepingGeometry('target1', 'absolute');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/reflection-invalidation-after-display.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/reflection-invalidation-after-display.html
index 3408414..70bb09c1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/reflection-invalidation-after-display.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/reflection-invalidation-after-display.html
@@ -21,10 +21,6 @@
 <div class="green reflected box" id="box"></div>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='box' class='green box'",
-    "LayoutBlockFlow (positioned) DIV id='box' class='green box'",
-];
 function paintInvalidationTest() {
     var box = document.getElementById('box');
     box.classList.toggle('reflected');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-margin-change-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-margin-change-repaint.html
index 736e320..e458faa7 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-margin-change-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-margin-change-repaint.html
@@ -19,11 +19,6 @@
     }
 </style>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow BODY",
-        "LayoutBlockFlow (relative positioned) DIV id='container'",
-        "LayoutBlockFlow (relative positioned) DIV id='test'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("test").style['margin-top'] = '20px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text.html
new file mode 100644
index 0000000..4c9ffc6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint-as-text.html
@@ -0,0 +1,27 @@
+<!-- Based on fast/repaint/relative-positioned-movement-repaint.html -->
+<!DOCTYPE html>
+<style>
+    #block {
+        display: block;
+        margin: 10px;
+        width: 400px;
+        height: 60px;
+        border: 1px solid black;
+        -webkit-backface-visibility: hidden;
+        position: relative;
+        left: 10px;
+    }
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+    if (window.testRunner)
+        testRunner.dumpAsText();
+    function paintInvalidationTest()
+    {
+        document.body.offsetTop;
+        var div = document.getElementById("block");
+        div.style.left = '50px';
+    }
+    window.onload = runPaintInvalidationTest;
+</script>
+<div id="block">When this layer moves it shouldn't generate a repaint rect.</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint.html
index 0e914e1..27e0f57 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/relative-positioned-movement-repaint.html
@@ -14,8 +14,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-    ];
     function paintInvalidationTest()
     {
         document.body.offsetTop;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-inline-block-descendant-of-flex.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-inline-block-descendant-of-flex.html
index a1f2de5d..ec838a5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-inline-block-descendant-of-flex.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-inline-block-descendant-of-flex.html
@@ -2,23 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "InlineTextBox '\n'",
-    "LayoutBR BR",
-    "RootInlineBox",
-    "LayoutBlockFlow DIV id='inline-block-1' class='item'",
-    "InlineBox",
-    "LayoutText #text",
-    "RootInlineBox",
-    "InlineBox",
-    "RootInlineBox",
-    "InlineBox",
-    "RootInlineBox",
-    "LayoutBlockFlow DIV",
-    "LayoutBlockFlow DIV id='inline-block-2' class='item'",
-    "LayoutBR BR",
-    "InlineTextBox '\n'",
-];
 function paintInvalidationTest() {
   document.getElementById('inline-block-1').style.display = 'none';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-squashed-layer-plus-move.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-squashed-layer-plus-move.html
index 7c29ad2..0db549f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-squashed-layer-plus-move.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/remove-squashed-layer-plus-move.html
@@ -21,21 +21,6 @@
 // the mv-tile element which is *not* removed from the DOM, but nevertheless moves to the left as the other one
 // is removed.
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (relative positioned) DIV id='foo' class='mv-tile'",
-    "InlineBox",
-    "RootInlineBox",
-    "InlineBox",
-    "RootInlineBox",
-    "LayoutBlockFlow DIV id='container'",
-    "LayoutBlockFlow DIV id='container'",
-    "LayoutBlockFlow (relative positioned) DIV class='mv-tile'",
-    "LayoutBlockFlow (anonymous)",
-    "LayoutBlockFlow (relative positioned) DIV class='mv-tile'",
-    "LayoutText #text",
-    "LayoutText #text",
-    "LayoutText #text",
-];
 function paintInvalidationTest() {
     document.querySelector("#foo").remove();
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-in-iframe.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-in-iframe.html
index 2bce94a..ebd480d5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-in-iframe.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-in-iframe.html
@@ -8,9 +8,6 @@
     runPaintInvalidationTest();
 };
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV",
-];
 function paintInvalidationTest() {
     document.getElementsByTagName('iframe')[0]
         .contentDocument
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-on-style-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-on-style-change.html
index 6c8257c..5e6eecb 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-on-style-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-on-style-change.html
@@ -5,9 +5,6 @@
     <title>Test for repaint on style change</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='box'",
-        ];
         function paintInvalidationTest()
         {
             if (!window.testRunner)
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-overflow-scrolled-squashed-content.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-overflow-scrolled-squashed-content.html
index 1349b57..f75c37ac 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-overflow-scrolled-squashed-content.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-overflow-scrolled-squashed-content.html
@@ -10,9 +10,6 @@
 // than the viewport does not receive an incorrect paint invalidation rect when it is invalidated. In particular, the invalidation
 // rect should not be clipped to the visible viewport.
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='foo'",
-];
 function paintInvalidationTest() {
     document.querySelector("#foo").style.background = 'red';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-squashed-layer-in-rect.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-squashed-layer-in-rect.html
index 78e6f9c9..1eebc1f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-squashed-layer-in-rect.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-squashed-layer-in-rect.html
@@ -12,9 +12,6 @@
 <script>
 // Test that a repaint for the rect containing the changed background image is issued in the coordinate space of the
 // squashing layer, *not* local to the div with the background image on it.
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='imgElement'",
-];
 function paintInvalidationTest() {
     var imgElement = document.querySelector("#imgElement");
     imgElement.style.backgroundImage = "url('data:image/gif;base64,R0lGODdhAgACAIABAAAAAP///ywAAAAAAgACAAACA0QCBQA7')";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-table-row-in-composited-document.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-table-row-in-composited-document.html
index f5be754..4d24e9c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-table-row-in-composited-document.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-table-row-in-composited-document.html
@@ -13,12 +13,6 @@
 }
 </style>
 <script type="text/javascript">
-window.expectedPaintInvalidationObjects = [
-    "LayoutTableCell TD id='target'",
-    "LayoutTableRow TR",
-    "LayoutTableCell TD",
-    "LayoutTableCell TD",
-];
 function paintInvalidationTest()
 {
   // The sizes on this test are deliberate to ensure that we don't trigger
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped-as-text.html
new file mode 100644
index 0000000..2abbed676
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped-as-text.html
@@ -0,0 +1,46 @@
+<!-- Based on fast/repaint/repaint-tile-clipped.html -->
+<!DOCTYPE html>
+<html>
+<head>
+    <script src="resources/paint-invalidation-test.js"></script>
+    <script>
+        if (window.testRunner)
+            testRunner.dumpAsText();
+        function paintInvalidationTest()
+        {
+            document.getElementById('ref').style.display = 'block';
+        }
+        onload = runPaintInvalidationTest;
+    </script>
+</head>
+<style>
+#ref {
+  display: none;
+  min-width: 20em;
+  height: 10em;
+  position: absolute;
+  bottom: 5px;
+  border: 1px solid;
+  background-color: #0f0;
+}
+.wrapper{
+  position: relative;
+}
+.spaced{
+  padding-top: 300px;
+  width: 10em;
+}
+</style>
+<p>
+  This tests that the repaint of absolutely positioned elements inside
+  relatively positioned inline blocks works correclty.
+  <a href="http://crbug.com/370945">crbug.com/370945</a>
+</p>
+<p>You should see a green rectangle without any missing pieces if this test passed. </p>
+
+<p class='spaced'>
+  <span class='wrapper'>
+   <span id="ref"></span>
+  </span>
+</p>
+
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped.html
index 8c190fb..aeecdc4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-tile-clipped.html
@@ -4,8 +4,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-        ];
         function paintInvalidationTest()
         {
             document.getElementById('ref').style.display = 'block';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-via-layout-offset.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-via-layout-offset.html
index 43e1df9..d8723ea2 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-via-layout-offset.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/repaint-via-layout-offset.html
@@ -28,9 +28,6 @@
   <span class="child"></span>
 </div>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) SPAN class='child embiggen'",
-];
 function paintInvalidationTest() {
     document.querySelectorAll('.child')[1].classList.add('embiggen');
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-child-within-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-child-within-overflow.html
index 9dd083ee..8c026b5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-child-within-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-child-within-overflow.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV class='container'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('child').style.width = '600px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-repaint.html
index fee3008..6598a3c1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-repaint.html
@@ -18,11 +18,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='resizing'",
-            "LayoutBlockFlow DIV",
-            "LayoutBlockFlow DIV",
-        ];
         function paintInvalidationTest()
         {
             var resizingDiv = document.getElementById('resizing');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-scrollable-div.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-scrollable-div.html
index e1b5c0d..6d86394 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-scrollable-div.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-scrollable-div.html
@@ -2,15 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "HorizontalScrollbar",
-    "VerticalScrollbar",
-    "VerticalScrollbar",
-    "VerticalScrollbar",
-    "HorizontalScrollbar",
-    "HorizontalScrollbar",
-    "LayoutBlockFlow DIV id='div'",
-];
 function paintInvalidationTest() {
   document.getElementById('div').style.width='300px';
   document.getElementById('div').style.height='300px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-skewed.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-skewed.html
index d4e296d7..09869e76 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-skewed.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-skewed.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='skewed'",
-];
 function paintInvalidationTest() {
   document.getElementById('skewed').style.width = '200px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-squashing-layer-that-needs-full-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-squashing-layer-that-needs-full-repaint.html
index cbfa386..6708faa2 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-squashing-layer-that-needs-full-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-squashing-layer-that-needs-full-repaint.html
@@ -10,9 +10,6 @@
 <script>
 // This test checks that resizing a squashing layer such that the offset of content squashed into it relative to the squashing
 // container causes a repaint of its bounds within the updated squashing layer geometry.
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='to-be-removed'",
-];
 function paintInvalidationTest() {
     document.querySelector("#to-be-removed").style.display = 'none';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-with-border.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-with-border.html
index a8bd4ff..e55d0da 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-with-border.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resize-with-border.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='div'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('div').style.width = '400px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resources/paint-invalidation-test.js b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resources/paint-invalidation-test.js
index f1e1c8d..a2d5f7c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resources/paint-invalidation-test.js
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/resources/paint-invalidation-test.js
@@ -2,8 +2,11 @@
 window.testIsAsync = false;
 
 // All paint invalidation tests are asynchronous from test-runner's point of view.
-if (window.testRunner)
+if (window.testRunner) {
     testRunner.waitUntilDone();
+    if (document.location.hash == '#as-text')
+        testRunner.dumpAsText();
+}
 
 function runPaintInvalidationTest()
 {
@@ -40,51 +43,7 @@
 
     testRunner.layoutAndPaintAsyncThen(function()
     {
-        var paintInvalidationObjects = JSON.stringify(internals.trackedPaintInvalidationObjects());
-        var expectedPaintInvalidationObjects = JSON.stringify(window.expectedPaintInvalidationObjects);
-        internals.stopTrackingPaintInvalidationObjects();
-
-        if (paintInvalidationObjects != expectedPaintInvalidationObjects) {
-            testRunner.logToStderr('Paint invalidation objects mismatch.'
-                + '\nExpected:\n' + expectedPaintInvalidationObjects.replace(/","/g, '",\n "')
-                + '\nActual:\n' + paintInvalidationObjects.replace(/","/g, '",\n "'));
-
-            if (document.rootElement && document.rootElement.nodeName == "svg") {
-                var svgns = "http://www.w3.org/2000/svg"
-                var rect = document.createElementNS(svgns, 'rect');
-                rect.setAttribute('width', '45%');
-                rect.setAttribute('height', '10%');
-                rect.setAttribute('x', '55%');
-                rect.setAttribute('fill', 'white');
-                rect.setAttribute('stroke', 'black');
-                rect.setAttribute('stroke-width', '1px');
-                document.documentElement.appendChild(rect);
-                var text = document.createElementNS(svgns, 'text');
-                text.setAttribute('x', '100%');
-                text.setAttribute('y', '5%');
-                text.setAttribute('text-anchor', 'end');
-                text.textContent = "Paint invalidation objects mismatch. See stderr for details.";
-                document.documentElement.appendChild(text);
-            } else {
-                var div = document.createElement('div');
-                div.style.zIndex = '2147483647';
-                div.style.visibility = 'visible';
-                div.style.position = 'fixed';
-                div.style.top = '0';
-                div.style.right = '0';
-                div.style.width = '350px';
-                div.style.height = '16px';
-                div.style.color = 'black';
-                div.style.fontSize = '12px';
-                div.style.lineHeight = '14px';
-                div.style.fontFamily = 'Arial';
-                div.style.border = '1px solid black';
-                div.style.background = 'white';
-                div.appendChild(document.createTextNode('Paint invalidation objects mismatch. See stderr for details.'));
-                document.body.appendChild(div);
-            }
-        }
-
+        testRunner.setCustomTextOutput(JSON.stringify(internals.trackedPaintInvalidationObjects()).replace(/","/g, '",\n "'));
         testRunner.notifyDone();
     });
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text.html
new file mode 100644
index 0000000..24698ba6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content-as-text.html
@@ -0,0 +1,22 @@
+<!-- Based on compositing/repaint/scroll-fixed-layer-no-content.html -->
+<!DOCTYPE html>
+<html>
+<head>
+    <script src="resources/paint-invalidation-test.js"></script>
+    <script type="text/javascript">
+        if (window.testRunner)
+            testRunner.dumpAsText();
+        if (window.internals)
+            internals.settings.setPreferCompositingToLCDTextEnabled(true);
+        function paintInvalidationTest()
+        {
+            window.scrollTo(0, 1000);
+            window.scrollTo(0, 100);
+        }
+    </script>
+</head>
+<body style="height:2000px" onload="runPaintInvalidationTest()">
+    <div style="position: fixed; top: 100px; left: 100px; width: 200px; height: 200px"></div>
+    There should be no repaints here:
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content.html
index 1da1074..df57216 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-no-content.html
@@ -6,8 +6,6 @@
     <script type="text/javascript">
         if (window.internals)
             internals.settings.setPreferCompositingToLCDTextEnabled(true);
-        window.expectedPaintInvalidationObjects = [
-        ];
         function paintInvalidationTest()
         {
             window.scrollTo(0, 1000);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text.html
new file mode 100644
index 0000000..f8f223e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view-as-text.html
@@ -0,0 +1,24 @@
+<!-- Based on compositing/repaint/scroll-fixed-layer-out-of-view.html -->
+<!DOCTYPE html>
+<html>
+<head>
+    <script src="resources/paint-invalidation-test.js"></script>
+    <script type="text/javascript">
+        if (window.testRunner)
+            testRunner.dumpAsText();
+        if (window.internals)
+            internals.settings.setPreferCompositingToLCDTextEnabled(true);
+
+        function paintInvalidationTest()
+        {
+            window.scrollTo(0, 1000);
+            window.scrollTo(0, 100);
+        }
+    </script>
+</head>
+<body style="height:2000px" onload="runPaintInvalidationTest()">
+    <div style="position: fixed; top: -300px; left: 100px; width: 88px; height: 88px; background-color: silver"></div>
+    <div style="position: fixed; top: 1000px; left: 100px; width: 99px; height: 99px; background-color: silver"></div>
+    There should be no repaints here:
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view.html
index ebcf1cb..9a29bab 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-out-of-view.html
@@ -7,8 +7,6 @@
         if (window.internals)
             internals.settings.setPreferCompositingToLCDTextEnabled(true);
 
-        window.expectedPaintInvalidationObjects = [
-        ];
         function paintInvalidationTest()
         {
             window.scrollTo(0, 1000);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-no-visible-content.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-no-visible-content.html
index cb95e011..4237ccc11 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-no-visible-content.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-no-visible-content.html
@@ -10,10 +10,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-reflection.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-reflection.html
index b774726..30b0e95 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-reflection.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-reflection.html
@@ -9,11 +9,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green reflected'",
-            "LayoutBlockFlow (positioned) DIV class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-transformed-parent-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-transformed-parent-layer.html
index dc88c51..049bd22 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-transformed-parent-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-layer-with-transformed-parent-layer.html
@@ -4,11 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css"></style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow (positioned) DIV class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-reflected-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-reflected-layer.html
index 2403730..ed1ff772 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-reflected-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-reflected-layer.html
@@ -9,9 +9,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='hideMe' class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("hideMe").style.zIndex = "-5";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text.html
new file mode 100644
index 0000000..3e7b3f18
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer-as-text.html
@@ -0,0 +1,41 @@
+<!-- Based on compositing/repaint/scroll-fixed-squahed-layer.html -->
+<!DOCTYPE html>
+<html>
+<head>
+<script src="resources/paint-invalidation-test.js"></script>
+<style>
+.main {
+    position: fixed;
+    top: 100px;
+    left: 100px;
+    width: 200px;
+    height: 200px;
+    background-color: lightblue;
+    will-change: transform;
+}
+
+.squahed {
+    position: fixed;
+    top: 150px;
+    left: 100px;
+    width: 200px;
+    height: 200px;
+    background-color: lightgreen;
+}
+</style>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+if (window.internals)
+    internals.settings.setPreferCompositingToLCDTextEnabled(false);
+
+function paintInvalidationTest() {
+    window.scrollTo(0, 100);
+}
+</script>
+</head>
+<body style="height:2000px" onload="runPaintInvalidationTest()">
+<div class="main"></div>
+<div class="squahed"></div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer.html
index 4b53ceb..547ea35 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-fixed-squahed-layer.html
@@ -27,8 +27,6 @@
 if (window.internals)
     internals.settings.setPreferCompositingToLCDTextEnabled(false);
 
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
     window.scrollTo(0, 100);
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-clipped-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-clipped-layer.html
index ff5b250..d39316e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-clipped-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-clipped-layer.html
@@ -4,11 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css"></style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'",
-            "LayoutBlockFlow (relative positioned) DIV class='relative green'",
-            "LayoutBlockFlow (positioned) DIV class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-fixed-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-fixed-layer.html
index 0ccf702..fa4a3a0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-fixed-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-fixed-layer.html
@@ -9,11 +9,6 @@
             runPaintInvalidationTest();
         };
 
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow (positioned) DIV class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-transformed-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-transformed-layer.html
index 32cf414..4a10d0b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-transformed-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-in-transformed-layer.html
@@ -4,11 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css"></style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped rotated'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow (positioned) DIV class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-with-transformed-parent-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-with-transformed-parent-layer.html
index ed26033..eb8fa537 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-with-transformed-parent-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scroll-with-transformed-parent-layer.html
@@ -4,11 +4,6 @@
     <link rel="stylesheet" href="../../../fast/repaint/resources/default.css"></style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'",
-            "LayoutBlockFlow (positioned) DIV class='absolute green'",
-            "LayoutBlockFlow (positioned) DIV class='absolute red'",
-        ];
         function paintInvalidationTest()
         {
             var moveMeElement = document.getElementById('moveMe');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize-with-border.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize-with-border.html
index 84a41e6..183504a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize-with-border.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize-with-border.html
@@ -2,14 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "HorizontalScrollbar",
-    "VerticalScrollbar",
-    "VerticalScrollbar",
-    "HorizontalScrollbar",
-    "HorizontalScrollbar",
-    "LayoutBlockFlow (positioned) DIV id='scrollable'",
-];
 function paintInvalidationTest() {
   document.getElementById('scrollable').style.width = '300px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize.html
index 4add426..eeed31b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrollbar-invalidation-on-resize.html
@@ -2,14 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "HorizontalScrollbar",
-    "VerticalScrollbar",
-    "VerticalScrollbar",
-    "HorizontalScrollbar",
-    "HorizontalScrollbar",
-    "LayoutBlockFlow (positioned) DIV id='scrollable'",
-];
 function paintInvalidationTest() {
   document.getElementById('scrollable').style.width = '300px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting-as-text.html
new file mode 100644
index 0000000..c0cfa21
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting-as-text.html
@@ -0,0 +1,46 @@
+<!-- Based on compositing/overflow/scrolling-without-painting.html -->
+<!DOCTYPE html>
+
+<!--
+This test checks that accelerated scrolling layers can be scrolled without
+repainting their contents. See https://bugs.webkit.org/show_bug.cgi?id=96087.
+-->
+
+<html>
+<head>
+  <style type="text/css">
+    #scroller {
+        overflow: scroll;
+        -webkit-overflow-scrolling: touch;
+        width: 200px;
+        height: 200px;
+        border: solid thin blue;
+    }
+
+    #content {
+        height: 1000px;
+        margin-top: 25px;
+    }
+  </style>
+  <script src="resources/paint-invalidation-test.js"></script>
+  <script type="text/javascript">
+      if (window.testRunner)
+          testRunner.dumpAsText();
+      if (window.internals)
+          window.internals.settings.setPreferCompositingToLCDTextEnabled(true);
+
+      function paintInvalidationTest() {
+          // Scroll down. This should not cause any more repaints to the
+          // scrolling contents.
+          document.getElementById('scroller').scrollTop = 25;
+      }
+
+      runPaintInvalidationTest();
+  </script>
+</head>
+<body>
+  <div id="scroller">
+    <div id="content"></div>
+  </div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting.html
index 80d25c4..d0196bd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/scrolling-without-painting.html
@@ -27,8 +27,6 @@
       if (window.internals)
           window.internals.settings.setPreferCompositingToLCDTextEnabled(true);
 
-      window.expectedPaintInvalidationObjects = [
-      ];
       function paintInvalidationTest() {
           // Scroll down. This should not cause any more repaints to the
           // scrolling contents.
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-change-in-iframe-with-relative-parent.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-change-in-iframe-with-relative-parent.html
index 005519ac..da3e78e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-change-in-iframe-with-relative-parent.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-change-in-iframe-with-relative-parent.html
@@ -19,29 +19,6 @@
 
 <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
 <script>
-if (window.testRunner)
-    testRunner.dumpAsTextWithPixelResults();
-
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow HTML",
-    "LayoutBlockFlow BODY",
-    "LayoutText #text",
-    "InlineTextBox 'Foo'",
-    "LayoutBR BR",
-    "InlineTextBox '\n'",
-    "LayoutBR BR",
-    "InlineTextBox '\n'",
-    "LayoutText #text",
-    "InlineTextBox 'Bar'",
-    "LayoutBR BR",
-    "InlineTextBox '\n'",
-    "LayoutBR BR",
-    "InlineTextBox '\n'",
-    "LayoutText #text",
-    "InlineTextBox 'Bazz'",
-    "LayoutBR BR",
-    "InlineTextBox '\n'",
-];
 function paintInvalidationTest()
 {
     var iframe = document.getElementsByTagName("iframe")[0];
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-clear-after-move.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-clear-after-move.html
index 2215a49cb..b744bf2 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-clear-after-move.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-clear-after-move.html
@@ -3,9 +3,6 @@
 <script src="../../../fast/repaint/../../resources/run-after-layout-and-paint.js"></script>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutImage IMG",
-];
 function paintInvalidationTest() {
   getSelection().removeAllRanges();
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-within-composited-scroller.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-within-composited-scroller.html
index bc35841..e0ccd4a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-within-composited-scroller.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/selection-within-composited-scroller.html
@@ -6,21 +6,11 @@
 </div>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-if (window.testRunner)
-    testRunner.dumpAsTextWithPixelResults();
 scroller.scrollTop = 450;
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow HTML",
-    "LayoutBlockFlow BODY",
-    "LayoutBlockFlow DIV id='scroller'",
-    "LayoutBlockFlow DIV id='target'",
-    "LayoutText #text",
-    "InlineTextBox 'test'",
-];
 function paintInvalidationTest() {
     var range = document.createRange();
     range.selectNode(target);
     window.getSelection().addRange(range);
 }
 onload = runPaintInvalidationTest;
-</script>
\ No newline at end of file
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same-expected.txt
index eb15529..fe51488 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same-expected.txt
@@ -1 +1 @@
-PASS if does not repaint.
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same.html
index a6384db..e86615a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/set-text-content-same.html
@@ -6,10 +6,8 @@
 <script type="text/javascript">
    if (window.testRunner)
        testRunner.dumpAsText();
-   window.expectedPaintInvalidationObjects = [
-   ];
    function paintInvalidationTest()
    {
-        target.textContent = "PASS if does not repaint.";
+       target.textContent = "PASS if does not repaint.";
    }
 </script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize-writing-mode.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize-writing-mode.html
index f538805e7..05b0d05 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize-writing-mode.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize-writing-mode.html
@@ -2,12 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target1'",
-    "LayoutBlockFlow (positioned) DIV id='target2'",
-    "LayoutBlockFlow (positioned) DIV id='target3'",
-    "LayoutBlockFlow (positioned) DIV id='target4'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('target1').style.width = '150px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize.html
index f740e70..e99cb70 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/shadow-box-resize.html
@@ -2,12 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target1'",
-    "LayoutBlockFlow (positioned) DIV id='target2'",
-    "LayoutBlockFlow (positioned) DIV id='target3'",
-    "LayoutBlockFlow (positioned) DIV id='target4'",
-];
 function paintInvalidationTest()
 {
     document.getElementById('target1').style.width = '150px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-overflow-scrolling-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-overflow-scrolling-layer.html
index dad6298..b88f08e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-overflow-scrolling-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-overflow-scrolling-layer.html
@@ -4,12 +4,6 @@
 <script>
 if (window.internals)
   internals.settings.setPreferCompositingToLCDTextEnabled(true);
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='content'",
-    "LayoutBlockFlow DIV id='content'",
-    "##ALL##",
-    "##ALL##",
-];
 function paintInvalidationTest() {
   document.getElementById('content').style.backgroundColor = 'green';
   var container = document.getElementById('container');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-viewport-scrolling-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-viewport-scrolling-layer.html
index 171e3cf7..ddba5ad 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-viewport-scrolling-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-clip-composited-viewport-scrolling-layer.html
@@ -4,9 +4,6 @@
 <script>
 if (window.internals)
   internals.settings.setPreferCompositingToLCDTextEnabled(true);
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='content'",
-];
 function paintInvalidationTest() {
   document.getElementById('content').style.backgroundColor = 'green';
   window.scrollTo(2000, 2000);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text-expected.txt
new file mode 100644
index 0000000..15487fd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text-expected.txt
@@ -0,0 +1,2 @@
+["LayoutBlockFlow (positioned) DIV id='composited-box'",
+ "LayoutBlockFlow DIV class='child'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text.html
new file mode 100644
index 0000000..f29376c2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-as-text.html
@@ -0,0 +1,32 @@
+<!-- Based on compositing/repaint/should-not-repaint-composited-descendants.html -->
+<!DOCTYPE html>
+<style>
+#composited-box {
+    backface-visibility: hidden;
+    position: absolute;
+    background-color: green;
+    clip: rect(40px, 110px, 110px, 40px);
+}
+.child {
+    width: 50px;
+    height: 50px;
+    background-color: green;
+}
+.composited {
+    backface-visibility: hidden;
+}
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest() {
+    // This will cause a full layer repaint, but should not include the composited child.
+    document.getElementById('composited-box').style.clip = 'rect(30px, 120px, 120px, 30px)';
+}
+window.onload = runPaintInvalidationTest;
+</script>
+<div id="composited-box">
+    <div class="child"></div>
+    <div class="composited child"></div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text-expected.txt
new file mode 100644
index 0000000..39782ca
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text-expected.txt
@@ -0,0 +1,2 @@
+["LayoutBlockFlow DIV id='overflow1'",
+ "LayoutBlockFlow DIV id='overflow2'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text.html
new file mode 100644
index 0000000..b56a036
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change-as-text.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+function paintInvalidationTest() {
+  document.getElementById('overflow1').style.overflow = "visible";
+  document.getElementById('overflow2').style.overflow = "hidden";
+}
+onload = runPaintInvalidationTest;
+</script>
+<style>
+body {
+  margin: 0;
+}
+#overflow1 {
+  overflow: hidden;
+  width: 200px;
+  height: 200px;
+}
+#overflow2 {
+  overflow: visible;
+  width: 200px;
+  height: 200px;
+}
+.composited-child {
+  width: 100px;
+  height: 100px;
+  background-color: green;
+  backface-visibility: hidden;
+}
+.overflow-child {
+  position: relative;
+  top: 50px;
+  left: 150px;
+}
+</style>
+<!-- We should not repaint composited descendants on overflow style changes (verified with the text expectation). 
+The compositor should handle any visual change caused by the change of overflow clipping (verified with the pixel expectation). -->  
+<div id="overflow1">
+  <div class="composited-child"></div>
+  <div class="composited-child overflow-child"></div>
+</div>
+<div id="overflow2">
+  <div class="composited-child"></div>
+  <div class="composited-child overflow-child"></div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change.html
index 02600b13..6512b71 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants-on-overflow-change.html
@@ -1,10 +1,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-  "LayoutBlockFlow DIV id='overflow1'",
-  "LayoutBlockFlow DIV id='overflow2'",
-];
 function paintInvalidationTest() {
   document.getElementById('overflow1').style.overflow = "visible";
   document.getElementById('overflow2').style.overflow = "hidden";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants.html
index ce3ebc8..4a8acc5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-descendants.html
@@ -18,11 +18,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "##ALL##",
-    "LayoutBlockFlow (positioned) DIV id='composited-box'",
-    "LayoutBlockFlow DIV class='child'",
-];
 function paintInvalidationTest() {
     // This will cause a full layer repaint, but should not include the composited child.
     document.getElementById('composited-box').style.clip = 'rect(30px, 120px, 120px, 30px)';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text.html
new file mode 100644
index 0000000..2261c15
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter-as-text.html
@@ -0,0 +1,21 @@
+<!-- Based on compositing/repaint/should-not-repaint-composited-filter.html -->
+<!DOCTYPE html>
+<style>
+#composited-box {
+    backface-visibility: hidden;
+    width: 100px;
+    height: 100px;
+    background-color: green;
+    -webkit-filter: invert(70%);
+}
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest() {
+    document.getElementById('composited-box').style.webkitFilter = 'invert(100%)';
+}
+window.onload = runPaintInvalidationTest;
+</script>
+<div id="composited-box"></div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter.html
index 6726d90..ad177d8 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-filter.html
@@ -11,8 +11,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
     document.getElementById('composited-box').style.webkitFilter = 'invert(100%)';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text.html
new file mode 100644
index 0000000..d09f8e91
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity-as-text.html
@@ -0,0 +1,21 @@
+<!-- Based on compositing/repaint/should-not-repaint-composited-opacity.html -->
+<!DOCTYPE html>
+<style>
+#composited-box {
+    backface-visibility: hidden;
+    width: 100px;
+    height: 100px;
+    background: green;
+    opacity: 0.8;
+}
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest() {
+    document.getElementById('composited-box').style.opacity = 0.5;
+}
+window.onload = runPaintInvalidationTest;
+</script>
+<div id="composited-box"></div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity.html
index b296604..4280c18 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-opacity.html
@@ -11,8 +11,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
     document.getElementById('composited-box').style.opacity = 0.5;
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text.html
new file mode 100644
index 0000000..7dbf910
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform-as-text.html
@@ -0,0 +1,20 @@
+<!-- Based on compositing/repaint/should-not-repaint-composited-transform.html -->
+<!DOCTYPE html>
+<style>
+#composited-box {
+    width: 100px;
+    height: 100px;
+    border: solid 1px black;
+    transform:translate3D(0, 0, 0);
+}
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest() {
+    document.getElementById('composited-box').style.webkitTransform = 'translate3D(100px, 100px, 0)';
+}
+window.onload = runPaintInvalidationTest;
+</script>
+<div id="composited-box"></div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform.html
index 9fe7f48a..692bb8e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-transform.html
@@ -10,8 +10,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
     document.getElementById('composited-box').style.webkitTransform = 'translate3D(100px, 100px, 0)';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index-as-text-expected.txt
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index-as-text-expected.txt
@@ -0,0 +1 @@
+[]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index-as-text.html
new file mode 100644
index 0000000..e468321
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index-as-text.html
@@ -0,0 +1,21 @@
+<!-- Based on compositing/repaint/should-not-repaint-composited-z-index.html -->
+<!DOCTYPE html>
+<style>
+#composited-box {
+    backface-visibility: hidden;
+    width: 100px;
+    height: 100px;
+    background-color: green;
+    z-index: 1;
+}
+</style>
+<script src="resources/paint-invalidation-test.js"></script>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+function paintInvalidationTest() {
+    document.getElementById('composited-box').style.zIndex = 2;
+}
+window.onload = runPaintInvalidationTest;
+</script>
+<div id="composited-box"></div>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index.html
index 3e369dd0..10e24825 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/should-not-repaint-composited-z-index.html
@@ -11,8 +11,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-];
 function paintInvalidationTest() {
     document.getElementById('composited-box').style.zIndex = 2;
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squash-partial-repaint-inside-squashed-layer.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squash-partial-repaint-inside-squashed-layer.html
index 6d2c229..9bb55afd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squash-partial-repaint-inside-squashed-layer.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squash-partial-repaint-inside-squashed-layer.html
@@ -53,9 +53,6 @@
 </style>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutImage (positioned) IMG id='repaintdiv' class='repaintdiv'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById('repaintdiv').style.background = 'salmon';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squashing-inside-preserve-3d-element.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squashing-inside-preserve-3d-element.html
index f3c304b..8123e7ff 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squashing-inside-preserve-3d-element.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/squashing-inside-preserve-3d-element.html
@@ -10,9 +10,6 @@
 // was added to fix, the coordinates of the squashing layer paint invalidation rects were not recorded correctly, because some of
 // the code computed transformed ancestors incorrectly (it should *not* include the preserve-3d element).
 
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (positioned) DIV id='target'",
-];
 function paintInvalidationTest() {
     var target = document.getElementById('target');
     target.style.background = 'red';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/stacking-context-lost.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/stacking-context-lost.html
index e68848c..b70916f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/stacking-context-lost.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/stacking-context-lost.html
@@ -2,12 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow (relative positioned) DIV id='outer'",
-    "LayoutBlockFlow (relative positioned) DIV id='inner'",
-    "LayoutBlockFlow (relative positioned) DIV id='inner'",
-    "LayoutBlockFlow (relative positioned) DIV id='outer'",
-];
 function paintInvalidationTest()
 {
     outer.style.zIndex = 'auto';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-2.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-2.html
index 80acba6..e7264ec 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-2.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-2.html
@@ -3,10 +3,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (floating) DIV",
-            "LayoutBlockFlow DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.width = "100px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-3.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-3.html
index 0075187..0aa620f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-3.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip-3.html
@@ -3,10 +3,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV",
-            "LayoutBlockFlow DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.width = "100px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip.html
index 8ea8540..2ac94fc 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/subtree-root-clip.html
@@ -4,10 +4,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (floating) DIV",
-            "LayoutBlockFlow DIV id='inner'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("inner").style.width = "0";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-cell-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-cell-overflow.html
index b399f176..f9a421c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-cell-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-cell-overflow.html
@@ -2,9 +2,6 @@
 <head>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("target").style.backgroundColor = "transparent";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-col-background.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-col-background.html
index fb581c5..961a7b6 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-col-background.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-col-background.html
@@ -4,10 +4,6 @@
     <title>Test for http://bugs.webkit.org/show_bug.cgi?id=5821</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTableCell TD",
-            "LayoutTableCol COL id='col'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("col").style.backgroundColor = "green";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-extra-bottom-grow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-extra-bottom-grow.html
index 32da113..9c4131b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-extra-bottom-grow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-extra-bottom-grow.html
@@ -5,8 +5,6 @@
 <head>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-    window.expectedPaintInvalidationObjects = [
-    ];
     function paintInvalidationTest()
     {
         document.getElementById("t").style.height='100px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-outer-border.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-outer-border.html
index 117ded39..50ad4b0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-outer-border.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-outer-border.html
@@ -21,24 +21,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTableCell TD",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD",
-            "LayoutTableRow TR",
-            "LayoutTableSection TBODY",
-            "LayoutTable TABLE id='table'",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTable TABLE id='table' class='green'",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTableSection TBODY",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD",
-        ];
         function paintInvalidationTest()
         {
             var container = document.getElementById('container');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row-bg-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row-bg-change.html
index c6681cc..7223af0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row-bg-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row-bg-change.html
@@ -4,12 +4,6 @@
     <title>Test for crbug.com/357291</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTableCell TD",
-            "LayoutTableRow TR id='first'",
-        ];
         function paintInvalidationTest()
         {
             var first = document.getElementById('first');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row.html
index 9c634a4..4450e71 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-row.html
@@ -4,11 +4,6 @@
     <title>Test for http://bugs.webkit.org/show_bug.cgi?id=14056</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTableCell TD",
-            "LayoutTableRow TR id='target' class='green'",
-            "LayoutTableCell TD",
-        ];
         function paintInvalidationTest()
         {
             var div = document.getElementById("target");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-overflow.html
index ea0cdf7..85bd42b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-overflow.html
@@ -4,15 +4,6 @@
     <title>Test for http://bugs.webkit.org/show_bug.cgi?id=12079</title>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='spacer'",
-            "LayoutTable TABLE",
-            "LayoutTableSection TBODY",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD",
-            "LayoutBlockFlow DIV",
-            "LayoutBlockFlow DIV",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("spacer").style.height = "50px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-repaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-repaint.html
index 7d02308e..d5171948 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-repaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-section-repaint.html
@@ -13,34 +13,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow CAPTION id='caption1' class='blue half'",
-            "LayoutTableSection TBODY",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='red half'",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='green half'",
-            "LayoutTableCell TD",
-            "LayoutBlockFlow DIV id='top' class='blue half'",
-            "LayoutTableSection TBODY",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='red half'",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='green half'",
-            "LayoutBlockFlow CAPTION id='caption2' class='zero'",
-            "LayoutTableSection TBODY",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='green half'",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='red half'",
-            "LayoutTable TABLE",
-            "LayoutBlockFlow DIV id='innerDiv'",
-            "LayoutTableSection TBODY",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='half'",
-            "LayoutTableRow TR",
-            "LayoutTableCell TD class='half'",
-        ];
         function paintInvalidationTest()
         {
             var caption1 = document.getElementById("caption1");
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-two-pass-layout-overpaint.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-two-pass-layout-overpaint.html
index 03cf4faf..128a188 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-two-pass-layout-overpaint.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/table-two-pass-layout-overpaint.html
@@ -8,9 +8,6 @@
     </style>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.width = "50px";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-color-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-color-change.html
index 890f9c7..2f351e0 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-color-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-color-change.html
@@ -2,91 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutText #text",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-    "InlineTextBox '  Text'",
-    "InlineTextBox '\n'",
-];
 function paintInvalidationTest() {
   document.getElementById('scroller').style.color = 'green';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-in-relative-positioned-inline.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-in-relative-positioned-inline.html
index b6fbc2b7..fe51fba 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-in-relative-positioned-inline.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-in-relative-positioned-inline.html
@@ -2,14 +2,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "InlineTextBox 'ab'",
-            "LayoutText #text",
-            "InlineFlowBox",
-            "LayoutInline (relative positioned) SPAN id='target'",
-            "LayoutText #text",
-            "RootInlineBox",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.display = "none";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight-expected.txt
index 864042c9..8a5bce4c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight-expected.txt
@@ -1,9 +1,16 @@
-Based on svg/custom/text-match-highlight.html. Here run it as a repaint test to check correctness of invalidation.
-Automatic test requires run-layout-test. To manually test, open this file in Chrome and find 'findme' in the page.
-There should be 9 highlighted instances of "findme". The 6th higlighted instance should be active.
-Lorum ipsum findme lorum ipsum findmefindme lorum.
-longtextfindmenoyou.
-Can you findme in this boring text?
-Findme in a typewriter!
-Findme on a path! Did you findme?
-
+["LayoutText #text",
+ "InlineTextBox 'findme'",
+ "LayoutText #text",
+ "InlineTextBox 'findme'",
+ "LayoutText #text",
+ "InlineTextBox 'findme'",
+ "LayoutText #text",
+ "InlineTextBox 'findme'",
+ "LayoutText #text",
+ "InlineTextBox 'findme'",
+ "LayoutSVGInlineText #text",
+ "InlineTextBox 'Can you findme in this boring text?'",
+ "LayoutSVGInlineText #text",
+ "InlineTextBox 'Findme in a typewriter!'",
+ "LayoutSVGInlineText #text",
+ "InlineTextBox 'Findme on a path! Did you findme?'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight.html
index f342781..1a0ff10 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/text-match-highlight.html
@@ -2,9 +2,6 @@
 <!DOCTYPE HTML>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-if (window.testRunner)
-  testRunner.dumpAsTextWithPixelResults();
-
 function highlightRange(id, start, end, active) {
   var range = document.createRange();
   var elem = document.getElementById(id).firstChild;
@@ -12,24 +9,6 @@
   range.setEnd(elem, end);
   internals.addTextMatchMarker(range, active);
 }
-window.expectedPaintInvalidationObjects = [
-    "LayoutText #text",
-    "InlineTextBox 'findme'",
-    "LayoutText #text",
-    "InlineTextBox 'findme'",
-    "LayoutText #text",
-    "InlineTextBox 'findme'",
-    "LayoutText #text",
-    "InlineTextBox 'findme'",
-    "LayoutText #text",
-    "InlineTextBox 'findme'",
-    "LayoutSVGInlineText #text",
-    "InlineTextBox 'Can you findme in this boring text?'",
-    "LayoutSVGInlineText #text",
-    "InlineTextBox 'Findme in a typewriter!'",
-    "LayoutSVGInlineText #text",
-    "InlineTextBox 'Findme on a path! Did you findme?'",
-];
 function paintInvalidationTest() {
   highlightRange('1', 0, 6, false);
   highlightRange('2', 0, 6, false);
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-appearance-none-resize-handle.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-appearance-none-resize-handle.html
index c88a6a2..51a7850 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-appearance-none-resize-handle.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-appearance-none-resize-handle.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutTextControl (positioned) TEXTAREA id='textarea'",
-];
 function paintInvalidationTest() {
   document.getElementById('textarea').style.height = '200px';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-resize-property-change.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-resize-property-change.html
index b596ce2..374e6cd 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-resize-property-change.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-resize-property-change.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutTextControl (positioned) TEXTAREA id='textarea'",
-];
 function paintInvalidationTest() {
   document.getElementById('textarea').style.resize = 'auto';
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-set-disabled.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-set-disabled.html
index f1007212..b1fae0e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-set-disabled.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/textarea-set-disabled.html
@@ -4,12 +4,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutTextControl TEXTAREA",
-            "LayoutBlockFlow DIV id='inner-editor'",
-            "LayoutTextControl TEXTAREA",
-            "LayoutBlockFlow DIV id='inner-editor'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementsByTagName('textarea')[0].disabled = true;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/trailing-floats-root-line-box-overflow.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/trailing-floats-root-line-box-overflow.html
index 14f8963..5f30b18 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/trailing-floats-root-line-box-overflow.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/trailing-floats-root-line-box-overflow.html
@@ -2,9 +2,6 @@
 <head>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow (positioned) DIV id='target'",
-        ];
         function paintInvalidationTest()
         {
             document.getElementById("target").style.display = "none";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-absolute-child.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-absolute-child.html
index 52d4c63..159221b 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-absolute-child.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-absolute-child.html
@@ -28,10 +28,6 @@
   </style>
   <script src="resources/paint-invalidation-test.js" type="text/javascript" charset="utf-8"></script>
   <script type="text/javascript" charset="utf-8">
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow (relative positioned) DIV id='box' class='rotated'",
-        "LayoutBlockFlow (positioned) DIV id='child'",
-    ];
     function paintInvalidationTest()
     {
       document.getElementById('box').className = 'rotated';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-disable-layoutstate.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-disable-layoutstate.html
index e5428e2..16c8703 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-disable-layoutstate.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-disable-layoutstate.html
@@ -4,11 +4,6 @@
 <head>
   <script src="resources/paint-invalidation-test.js" type="text/javascript" charset="utf-8"></script>
   <script type="text/javascript" charset="utf-8">
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV",
-        "LayoutBlockFlow DIV",
-        "LayoutBlockFlow DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
       document.getElementById('target').style.height='10px';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-replaced-shadows.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-replaced-shadows.html
index b5cc649..05ccc93 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-replaced-shadows.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-replaced-shadows.html
@@ -20,9 +20,6 @@
 
   <script src="resources/paint-invalidation-test.js" type="text/javascript" charset="utf-8"></script>
   <script type="text/javascript" charset="utf-8">
-    window.expectedPaintInvalidationObjects = [
-        "LayoutImage IMG id='box' class='smaller'",
-    ];
     function paintInvalidationTest()
     {
       document.getElementById('box').className = 'smaller';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-rotate-and-remove.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-rotate-and-remove.html
index 78fbda93..5097a9e3 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-rotate-and-remove.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-rotate-and-remove.html
@@ -12,10 +12,6 @@
         </style>
         <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
         <script>
-            window.expectedPaintInvalidationObjects = [
-                "LayoutBlockFlow DIV id='rel'",
-                "LayoutBlockFlow DIV id='rel'",
-            ];
             function paintInvalidationTest() {
                 document.getElementById('rel').classList.remove('rotated');
             }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-translate.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-translate.html
index 94a52ad..5f44d18 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-translate.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/transform-translate.html
@@ -8,9 +8,6 @@
 <div id="target" style="transform: translate(0, 0); width: 100px; height: 100px; background-color: yellow; border: solid;"></div>
 <script>
     var offset = 0;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutBlockFlow DIV id='target'",
-    ];
     function paintInvalidationTest()
     {
         offset += 20;
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/tricky-element-removal-crash.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/tricky-element-removal-crash.html
index dbee4da..68f4f3d5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/tricky-element-removal-crash.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/tricky-element-removal-crash.html
@@ -6,9 +6,6 @@
   <div id="target" style="width: 100px; height: 100px; transform: translateZ(0); background-color: blue">
 </div>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='target'",
-];
 function paintInvalidationTest() {
     document.querySelector('#target').remove();
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container-and-content.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container-and-content.html
index 8f710a5..b42485f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container-and-content.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container-and-content.html
@@ -2,34 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-    "LayoutText #text",
-    "InlineTextBox 'CONTENT'",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.color = "green";
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container.html
index 8aadae7..624c40d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-container.html
@@ -2,9 +2,6 @@
 <!DOCTYPE html>
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
-window.expectedPaintInvalidationObjects = [
-    "LayoutBlockFlow DIV id='container'",
-];
 function paintInvalidationTest() {
   document.getElementById('container').style.borderColor = "green";
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content-as-text-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content-as-text-expected.txt
new file mode 100644
index 0000000..37fdeae
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content-as-text-expected.txt
@@ -0,0 +1,2 @@
+["LayoutBlockFlow DIV id='indicator'",
+ "LayoutBlockFlow DIV id='indicator'"]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content-as-text.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content-as-text.html
new file mode 100644
index 0000000..68d7eed
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content-as-text.html
@@ -0,0 +1,67 @@
+<!-- Based on compositing/overflow/updating-scrolling-content.html -->
+<!DOCTYPE html>
+
+<!--
+This test checks that the contents of accelerated scrolling layers are properly
+updated also outside the current overflow clip. See
+https://bugs.webkit.org/show_bug.cgi?id=100524.
+-->
+
+<html>
+<head>
+  <style type="text/css">
+    #scroller {
+        overflow: scroll;
+        -webkit-overflow-scrolling: touch;
+        width: 200px;
+        height: 200px;
+    }
+
+    #indicator {
+        background: red;
+        height: 200px;
+    }
+
+    #content {
+        height: 1000px;
+    }
+  </style>
+  <script src="resources/paint-invalidation-test.js"></script>
+  <script type="text/javascript">
+      if (window.testRunner)
+          testRunner.dumpAsText();
+      if (window.internals)
+          window.internals.settings.setPreferCompositingToLCDTextEnabled(true);
+
+      window.addEventListener('load', function() {
+          var scroller = document.getElementById('scroller');
+          var indicator = document.getElementById('indicator');
+
+          // Make sure the scrolling content is painted before we start.
+          scroller.offsetTop;
+
+          // Scroll all the way to the bottom and change the color of the
+          // indicator (which is now outside the overflow clip).
+          scroller.scrollTop = 1000;
+
+          runPaintInvalidationTest();
+      });
+
+      function paintInvalidationTest() {
+          var scroller = document.getElementById('scroller');
+          var indicator = document.getElementById('indicator');
+
+          indicator.style.background = 'green';
+
+          // Scroll back up so that the updated (green) indicator is visible.
+          scroller.scrollTop = 0;
+      }
+  </script>
+</head>
+<body>
+  <div id="scroller">
+    <div id="indicator"></div>
+    <div id="content"></div>
+  </div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content.html
index 5a27406..2ca9b8c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/updating-scrolling-content.html
@@ -45,10 +45,6 @@
           runPaintInvalidationTest();
       });
 
-      window.expectedPaintInvalidationObjects = [
-          "LayoutBlockFlow DIV id='indicator'",
-          "LayoutBlockFlow DIV id='indicator'",
-      ];
       function paintInvalidationTest() {
           var scroller = document.getElementById('scroller');
           var indicator = document.getElementById('indicator');
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-child.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-child.html
index 9ab14a30..cb1ec42 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-child.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-child.html
@@ -35,9 +35,6 @@
     <script src="../../../fast/repaint/../../resources/run-after-layout-and-paint.js"></script>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementsByClassName("target")[0];
             target.style.visibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-parent.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-parent.html
index e08c0d4..1beea79 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-parent.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-parent.html
@@ -35,9 +35,6 @@
     <script src="../../../fast/repaint/../../resources/run-after-layout-and-paint.js"></script>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementsByClassName("target")[0];
             target.style.visibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-same.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-same.html
index 322b64a..86eb655 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-same.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-overflow-same.html
@@ -34,9 +34,6 @@
     <script src="../../../fast/repaint/../../resources/run-after-layout-and-paint.js"></script>
     <script src="resources/paint-invalidation-test.js"></script>
     <script>
-        window.expectedPaintInvalidationObjects = [
-            "LayoutBlockFlow DIV class='target'",
-        ];
         function paintInvalidationTest() {
             var target = document.getElementsByClassName("target")[0];
             target.style.visibility = "visible";
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-rl-as-paint-container.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-rl-as-paint-container.html
index d713683..918f455b9 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-rl-as-paint-container.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/vertical-rl-as-paint-container.html
@@ -3,13 +3,6 @@
 <script src="resources/paint-invalidation-test.js"></script>
 <script>
     onload = runPaintInvalidationTest;
-    window.expectedPaintInvalidationObjects = [
-        "LayoutText #text",
-        "InlineTextBox 'Lorem ipsum dolor'",
-        "InlineTextBox 'sit amet,'",
-        "InlineTextBox 'consectetur'",
-        "InlineTextBox 'adipiscing elit.'",
-    ];
     function paintInvalidationTest() {
         var target = document.getElementById('target');
         target.style.color = 'green';
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/view-background-from-body-2.html b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/view-background-from-body-2.html
index b14cc054..996fcc6 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/spv2/view-background-from-body-2.html
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/spv2/view-background-from-body-2.html
@@ -3,10 +3,6 @@
     <!-- The entire viewport should be solid blue, with no white margin. -->
     <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
     <script type="text/javascript">
-       window.expectedPaintInvalidationObjects = [
-           "LayoutView #document",
-           "LayoutBlockFlow BODY",
-       ];
        function paintInvalidationTest()
        {
             document.body.style.removeProperty("display");
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
index b79ae612..90264e9 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
@@ -1589,7 +1589,6 @@
             # For example, to turn on force-compositing-mode in the svg/ directory:
             # PhysicalTestSuite('svg', ['--force-compositing-mode']),
             PhysicalTestSuite('fast/text', ["--enable-direct-write", "--enable-font-antialiasing"]),
-            PhysicalTestSuite('paint/invalidation/spv2', ['--enable-slimming-paint-v2'])
         ]
 
     def virtual_test_suites(self):
