Text expectations of paint/invalidation/spv2

- Let paint-invalidation-test.js output custom text output;

- For most of the tests, ignore the text output and check refs;

- For tests testing over-invalidations, copy the test and dumpAsText,
  and check text expectation.

BUG=524134

Review URL: https://codereview.chromium.org/1366763002

Cr-Commit-Position: refs/heads/master@{#350869}
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..0d4365a 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):