diff --git a/content/browser/resources/accessibility/accessibility.js b/content/browser/resources/accessibility/accessibility.js
index 9c2e389..c805b364 100644
--- a/content/browser/resources/accessibility/accessibility.js
+++ b/content/browser/resources/accessibility/accessibility.js
@@ -8,21 +8,20 @@
   // Note: keep these values in sync with the values in
   // content/common/accessibility_mode_enums.h
   const AccessibilityMode = {
-    kOff: 0,
     kNativeAPIs: 1 << 0,
     kWebContents: 1 << 1,
     kInlineTextBoxes: 1 << 2,
     kScreenReader: 1 << 3,
     kHTML: 1 << 4,
 
-    get kComplete() {
-      return AccessibilityMode.kNativeAPIs | AccessibilityMode.kWebContents |
+    get kAccessibilityModeWebContentsOnly() {
+      return AccessibilityMode.kWebContents |
         AccessibilityMode.kInlineTextBoxes | AccessibilityMode.kScreenReader |
         AccessibilityMode.kHTML;
     },
 
-    get kWebContentsOnly() {
-      return AccessibilityMode.kWebContents |
+    get kAccessibilityModeComplete() {
+      return AccessibilityMode.kNativeAPIs | AccessibilityMode.kWebContents |
         AccessibilityMode.kInlineTextBoxes | AccessibilityMode.kScreenReader |
         AccessibilityMode.kHTML;
     }
diff --git a/content/common/PRESUBMIT.py b/content/common/PRESUBMIT.py
new file mode 100644
index 0000000..5716b45c
--- /dev/null
+++ b/content/common/PRESUBMIT.py
@@ -0,0 +1,89 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Presubmit script for content/common."""
+
+import os, re
+
+AX_JS_FILE = 'content/browser/resources/accessibility/accessibility.js'
+AX_MODE_HEADER = 'content/common/accessibility_mode.h'
+
+# Given a full path to c++ header, return an array of the first static
+# constexpr defined. (Note there can be more than one defined in a C++
+# header)
+def GetConstexprFromFile(fullpath):
+  values = []
+  for line in open(fullpath).readlines():
+    # Strip out comments
+    line = re.sub('//.*', '', line)
+
+    # Look for lines of the form "static constexpr <type> NAME "
+    m = re.search('static constexpr [\w]+ ([\w]+)', line)
+    if m:
+      values.append(m.group(1))
+
+  return values
+
+# Given a full path to js file, return the AccessibilityMode consts
+# defined
+def GetAccessibilityModesFromFile(fullpath):
+  values = []
+  inside = False
+  for line in open(fullpath).readlines():
+    # Strip out comments
+    line = re.sub('//.*', '', line)
+
+    # Look for the block of code that defines AccessibilityMode
+    m = re.search('const AccessibilityMode = {', line)
+    if m:
+      inside = True
+      continue
+
+    # Look for a "}" character signifying the end of an enum
+    if line.find('};') >= 0:
+      return values
+
+    if not inside:
+      continue
+
+    m = re.search('([\w]+):', line)
+    if m:
+      values.append(m.group(1))
+      continue
+
+    # getters
+    m = re.search('get ([\w]+)\(\)', line)
+    if m:
+      values.append(m.group(1))
+  return values
+
+# Make sure that the modes defined in the C++ header match those defined in
+# the js file. Note that this doesn't guarantee that the values are the same,
+# but does make sure if we add or remove we can signal to the developer that
+# they should be aware that this dependency exists.
+def CheckModesMatch(input_api, output_api):
+  errs = []
+  repo_root = input_api.change.RepositoryRoot()
+
+  ax_modes_in_header = GetConstexprFromFile(
+    os.path.join(repo_root,AX_MODE_HEADER))
+  ax_modes_in_js = GetAccessibilityModesFromFile(
+    os.path.join(repo_root, AX_JS_FILE))
+
+  for value in ax_modes_in_header:
+    if value not in ax_modes_in_js:
+      errs.append(output_api.PresubmitError(
+          'Found %s in %s, but did not find %s in %s' % (
+              value, AX_MODE_HEADER, value, AX_JS_FILE)))
+  return errs
+
+def CheckChangeOnUpload(input_api, output_api):
+  if AX_MODE_HEADER not in input_api.LocalPaths():
+    return []
+  return CheckModesMatch(input_api, output_api)
+
+def CheckChangeOnCommit(input_api, output_api):
+  if AX_MODE_HEADER not in input_api.LocalPaths():
+    return []
+  return CheckModesMatch(input_api, output_api)
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
index 6645f1d..76f4896 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -250,6 +250,7 @@
 crbug.com/591099 animations/display-inline-style-adjust.html [ Failure ]
 crbug.com/591099 animations/display-none-cancel-computedstyle.html [ Failure ]
 crbug.com/591099 animations/display-none-terminates-animation.html [ Failure ]
+crbug.com/591099 animations/element-animate-float-crash.html [ Failure Pass ]
 crbug.com/591099 animations/empty-keyframe-animation-composited.html [ Failure ]
 crbug.com/591099 animations/empty-keyframes-composited.html [ Failure ]
 crbug.com/591099 animations/empty-keyframes.html [ Failure ]
@@ -341,7 +342,7 @@
 crbug.com/591099 animations/interpolation/webkit-transform-origin-interpolation.html [ Crash ]
 crbug.com/591099 animations/keyframes-cssom-prefixed-02.html [ Failure ]
 crbug.com/591099 animations/keyframes-cssom-unprefixed-02.html [ Failure ]
-crbug.com/591099 animations/keyframes-iteration-count-non-integer.html [ Failure ]
+crbug.com/591099 animations/keyframes-iteration-count-non-integer.html [ Failure Pass ]
 crbug.com/591099 animations/keyframes-rule.html [ Failure ]
 crbug.com/591099 animations/lazy-detached-animation-stop.html [ Failure ]
 crbug.com/591099 animations/length-zero-percent-crash.html [ Failure Pass ]
@@ -539,7 +540,7 @@
 crbug.com/591099 compositing/color-matching/image-color-matching.html [ Failure Pass ]
 crbug.com/591099 compositing/columns/composited-in-paginated.html [ Failure Pass ]
 crbug.com/591099 compositing/columns/geometry-map-paginated-assert.html [ Failure ]
-crbug.com/591099 compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ]
+crbug.com/591099 compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure Pass ]
 crbug.com/591099 compositing/composited-negative-zindex-child.html [ Failure ]
 crbug.com/591099 compositing/compositing-visible-descendant.html [ Failure ]
 crbug.com/591099 compositing/contents-opaque/background-clip.html [ Failure Pass ]
@@ -587,7 +588,7 @@
 crbug.com/591099 compositing/geometry/fixed-position.html [ Failure ]
 crbug.com/591099 compositing/geometry/flipped-writing-mode.html [ Failure ]
 crbug.com/591099 compositing/geometry/foreground-layer.html [ Failure ]
-crbug.com/591099 compositing/geometry/foreground-offset-change.html [ Failure ]
+crbug.com/591099 compositing/geometry/foreground-offset-change.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/geometry-map-scroll-during-layout-assertion.html [ Failure ]
 crbug.com/591099 compositing/geometry/horizontal-scroll-composited.html [ Failure ]
 crbug.com/591099 compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ]
@@ -620,7 +621,6 @@
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-img-transformed.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-img.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-overflowing-text-crash.html [ Failure ]
-crbug.com/591099 compositing/gestures/gesture-tapHighlight-pixel-rotated-div.html [ Failure Pass ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-pixel-rotated-link.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-shadow-tree.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-skew-matrix.html [ Failure Pass ]
@@ -643,7 +643,7 @@
 crbug.com/591099 compositing/iframes/iframe-in-composited-layer.html [ Failure ]
 crbug.com/591099 compositing/iframes/iframe-resize.html [ Failure ]
 crbug.com/591099 compositing/iframes/iframe-size-from-zero.html [ Failure ]
-crbug.com/591099 compositing/iframes/iframe-size-to-zero.html [ Failure ]
+crbug.com/591099 compositing/iframes/iframe-size-to-zero.html [ Failure Pass ]
 crbug.com/591099 compositing/iframes/invisible-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/invisible-nested-iframe-hide.html [ Crash ]
 crbug.com/591099 compositing/iframes/invisible-nested-iframe-show.html [ Failure ]
@@ -758,7 +758,6 @@
 crbug.com/591099 compositing/overflow/remove-overflow-crash2.html [ Failure ]
 crbug.com/591099 compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ]
 crbug.com/591099 compositing/overflow/resize-painting.html [ Failure ]
-crbug.com/591099 compositing/overflow/rtl-overflow.html [ Failure Pass ]
 crbug.com/591099 compositing/overflow/scaled-mask.html [ Failure ]
 crbug.com/591099 compositing/overflow/scaled-overflow.html [ Failure ]
 crbug.com/591099 compositing/overflow/scroll-ancestor-update.html [ Failure ]
@@ -834,13 +833,13 @@
 crbug.com/591099 compositing/shadows/shadow-drawing.html [ Failure ]
 crbug.com/591099 compositing/sibling-positioning.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/add-remove-squashed-layers.html [ Failure ]
-crbug.com/591099 compositing/squashing/backing-owner-determines-scroll-parent.html [ Failure ]
+crbug.com/591099 compositing/squashing/backing-owner-determines-scroll-parent.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/clipping-ancestor.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/composited-bounds-for-negative-z.html [ Failure ]
 crbug.com/591099 compositing/squashing/do-not-squash-non-self-painting-layer.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/do-not-squash-scroll-child-with-composited-descendants.html [ Failure ]
-crbug.com/591099 compositing/squashing/dont-squash-into-animated-layers.html [ Failure ]
-crbug.com/591099 compositing/squashing/dont-squash-into-blend-mode.html [ Failure ]
+crbug.com/591099 compositing/squashing/dont-squash-into-animated-layers.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/dont-squash-into-blend-mode.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/dont-squash-into-iframes.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/dont-squash-into-videos.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/iframes-are-never-squashed.html [ Failure Pass ]
@@ -1807,6 +1806,7 @@
 crbug.com/591099 css3/flexbox/assert-generated-new-flexbox.html [ Failure ]
 crbug.com/591099 css3/flexbox/auto-height-column-with-border-and-padding.html [ Failure Pass ]
 crbug.com/591099 css3/flexbox/box-orient-button.html [ Crash ]
+crbug.com/591099 css3/flexbox/bug527039.html [ Failure ]
 crbug.com/591099 css3/flexbox/bug633212.html [ Crash ]
 crbug.com/591099 css3/flexbox/button.html [ Failure ]
 crbug.com/591099 css3/flexbox/child-overflow.html [ Failure Pass ]
@@ -3751,7 +3751,6 @@
 crbug.com/591099 editing/selection/clear-selection.html [ Failure ]
 crbug.com/591099 editing/selection/cleared-by-relayout.html [ Crash ]
 crbug.com/591099 editing/selection/click-after-nested-block.html [ Failure ]
-crbug.com/591099 editing/selection/click-below-rtl-text.html [ Failure Pass ]
 crbug.com/591099 editing/selection/click-in-focusable-link-should-not-clear-selection.html [ Failure ]
 crbug.com/591099 editing/selection/click-in-margins-inside-editable-div.html [ Failure ]
 crbug.com/591099 editing/selection/click-in-padding-with-multiple-line-boxes.html [ Failure ]
@@ -3925,7 +3924,6 @@
 crbug.com/591099 editing/selection/select-across-readonly-input-5.html [ Crash Failure ]
 crbug.com/591099 editing/selection/select-bidi-run.html [ Failure Timeout ]
 crbug.com/591099 editing/selection/select-box.html [ Failure ]
-crbug.com/591099 editing/selection/select-delete-in-event-handler.html [ Failure Pass ]
 crbug.com/591099 editing/selection/select-element-paragraph-boundary.html [ Failure ]
 crbug.com/591099 editing/selection/select-from-textfield-outwards.html [ Crash ]
 crbug.com/591099 editing/selection/select-line-break-with-opposite-directionality.html [ Crash Failure ]
@@ -4204,7 +4202,6 @@
 crbug.com/591099 external/wpt/content-security-policy/svg/svg-policy-with-resource.html [ Crash ]
 crbug.com/591099 external/wpt/cors/remote-origin.htm [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-001.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-007.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-009a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-002.xht [ Failure Pass ]
@@ -4214,20 +4211,16 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-015.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-non-replaced-width-002.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-non-replaced-width-004.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-004.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-001.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-027.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-029.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-038.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-039.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-101.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-113.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-132.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-138.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-141.xht [ Failure ]
@@ -4276,9 +4269,7 @@
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003r.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-zero-height-wrap-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-zero-height-wrap-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/linebox/empty-inline-002.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/inline-formatting-context-001.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-121.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-baseline-004a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-baseline-005a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-context-height-001.xht [ Failure ]
@@ -4301,11 +4292,6 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-percentage-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/root-box-001.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/table-in-inline-001.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-015.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-021.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-022.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-023.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-024.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-025.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-004.xht [ Failure ]
@@ -4340,12 +4326,9 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-019.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-020.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-024.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-007.xht [ Crash Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-003.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-percentage-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-relative-027.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-relative-028.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-relative-029.xht [ Failure ]
@@ -4575,6 +4558,7 @@
 crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_wrap.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/order/order-with-row-reverse.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/percentage-heights-000.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/percentage-heights-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-center.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-end.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-space-around.html [ Failure ]
@@ -5016,18 +5000,15 @@
 crbug.com/591099 external/wpt/css/css-writing-modes-3/block-flow-direction-vrl-019.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/block-flow-direction-vrl-024.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/block-flow-direction-vrl-026.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/block-override-004.html [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/block-override-isolate-004.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/block-override-004.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/block-override-isolate-004.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/block-plaintext-004.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/border-vlr-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/border-vrl-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/box-offsets-rel-pos-vlr-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/box-offsets-rel-pos-vrl-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/central-baseline-alignment-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/clearance-calculations-vrl-002.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/clearance-calculations-vrl-004.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/clearance-calculations-vrl-006.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/clearance-calculations-vrl-008.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/clip-rect-vlr-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/clip-rect-vlr-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/clip-rect-vlr-015.xht [ Failure ]
@@ -5047,15 +5028,11 @@
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-clear-vlr-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-clear-vrl-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-clear-vrl-008.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vlr-003.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vlr-005.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vlr-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vlr-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vlr-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vlr-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vrl-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vrl-004.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vrl-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vrl-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vrl-010.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-contiguous-vrl-012.xht [ Failure ]
@@ -5065,17 +5042,15 @@
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-lft-orthog-vrl-in-htb-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-rgt-orthog-htb-in-vlr-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-rgt-orthog-htb-in-vrl-003.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-003.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-005.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-007.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-005.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-009.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-011.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-011.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vlr-013.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-002.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-004.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-004.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-008.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-010.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-010.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/float-vrl-012.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/horizontal-rule-vlr-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/horizontal-rule-vrl-002.xht [ Failure ]
@@ -5098,8 +5073,6 @@
 crbug.com/591099 external/wpt/css/css-writing-modes-3/line-box-direction-vrl-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/line-box-direction-vrl-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/line-box-direction-vrl-012.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/margin-collapse-vlr-011.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-writing-modes-3/margin-collapse-vrl-010.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/margin-vlr-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/margin-vrl-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-writing-modes-3/normal-flow-overconstrained-vlr-003.xht [ Failure ]
@@ -5458,7 +5431,6 @@
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/tables/table-cell-width-s.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/tables/table-cell-width.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-fieldset-element-0/legend-block-formatting-context.html [ Crash Failure ]
-crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-fieldset-element-0/legend.html [ Failure Pass ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-hr-element-0/align.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-hr-element-0/setting-overflow-visible.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html [ Crash ]
@@ -5589,7 +5561,6 @@
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/readwrite-readonly.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/valid-invalid.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-a-element/a-download-click-404.html [ Crash ]
-crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped.html [ Failure Pass ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html [ Failure ]
 crbug.com/591099 external/wpt/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html [ Crash ]
@@ -6418,7 +6389,7 @@
 crbug.com/591099 external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/activation.https.html [ Crash ]
-crbug.com/591099 external/wpt/service-workers/service-worker/claim-fetch.https.html [ Crash ]
+crbug.com/591099 external/wpt/service-workers/service-worker/claim-fetch.https.html [ Crash Pass ]
 crbug.com/591099 external/wpt/service-workers/service-worker/claim-not-using-registration.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/client-id.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html [ Crash ]
@@ -6644,7 +6615,7 @@
 crbug.com/591099 fast/block/block-with-inline-replaced-child-following-text.html [ Crash ]
 crbug.com/591099 fast/block/borderbox-percent-padding.html [ Failure ]
 crbug.com/591099 fast/block/child-not-removed-from-parent-lineboxes-crash.html [ Crash ]
-crbug.com/591099 fast/block/crash-when-element-becomes-positioned-and-doesnt-clear-floating-objects.html [ Failure ]
+crbug.com/591099 fast/block/crash-when-element-becomes-positioned-and-doesnt-clear-floating-objects.html [ Failure Pass ]
 crbug.com/591099 fast/block/dynamic-padding-border.html [ Failure ]
 crbug.com/591099 fast/block/float/002.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/003.html [ Failure ]
@@ -6654,7 +6625,6 @@
 crbug.com/591099 fast/block/float/013.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/014.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/015.html [ Failure ]
-crbug.com/591099 fast/block/float/016.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/017.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/018.html [ Failure ]
 crbug.com/591099 fast/block/float/019.html [ Failure ]
@@ -6691,7 +6661,7 @@
 crbug.com/591099 fast/block/float/centered-float-avoidance-complexity.html [ Failure ]
 crbug.com/591099 fast/block/float/checkbox-and-radio-avoid-floats.html [ Failure ]
 crbug.com/591099 fast/block/float/clear-element-too-wide-for-containing-block.html [ Failure Pass ]
-crbug.com/591099 fast/block/float/clear-intruding-floats-when-moving-to-inline-parent-3.html [ Crash Failure ]
+crbug.com/591099 fast/block/float/clear-intruding-floats-when-moving-to-inline-parent-3.html [ Crash Failure Pass ]
 crbug.com/591099 fast/block/float/clear-to-fit.html [ Crash Failure Pass ]
 crbug.com/591099 fast/block/float/containing-block-change-compositing.html [ Failure ]
 crbug.com/591099 fast/block/float/crash-on-absolute-positioning.html [ Failure ]
@@ -6711,7 +6681,7 @@
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling-crash.html [ Failure ]
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling3.html [ Failure ]
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling5.html [ Crash Failure ]
-crbug.com/591099 fast/block/float/float-not-removed-from-pre-block.html [ Failure ]
+crbug.com/591099 fast/block/float/float-not-removed-from-pre-block.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/float-on-empty-line.html [ Failure ]
 crbug.com/591099 fast/block/float/float-on-line-large-and-small-float-below.html [ Crash ]
 crbug.com/591099 fast/block/float/float-on-line-obeys-container-padding.html [ Failure ]
@@ -6765,6 +6735,7 @@
 crbug.com/591099 fast/block/float/rubybase-children-made-inline-crash.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/rubybase-children-moved-crash-2.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/rubybase-children-moved-crash.html [ Crash Failure ]
+crbug.com/591099 fast/block/float/selection-gap-clip-out-tiger-crash.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/shrink-to-avoid-float-complexity.html [ Failure ]
 crbug.com/591099 fast/block/float/shrink-to-fit-width.html [ Failure ]
 crbug.com/591099 fast/block/float/split-inline-sibling-of-float-crash.html [ Crash ]
@@ -6807,7 +6778,7 @@
 crbug.com/591099 fast/block/margin-collapse/empty-clear-blocks.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/line-beside-float-complex-margin-collapsing.html [ Crash Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-creates-block-formatting-context.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-discards-margin.html [ Failure ]
+crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-discards-margin.html [ Failure Pass ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-with-float-descendants.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-and-float-child.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-cols-creates-block-formatting-context.html [ Failure ]
@@ -6829,7 +6800,6 @@
 crbug.com/591099 fast/block/percent-top-respects-min-height.html [ Failure ]
 crbug.com/591099 fast/block/positioned-movement-assert.html [ Failure ]
 crbug.com/591099 fast/block/positioning/047.html [ Failure ]
-crbug.com/591099 fast/block/positioning/051.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/055.html [ Failure ]
 crbug.com/591099 fast/block/positioning/056.html [ Failure ]
 crbug.com/591099 fast/block/positioning/058.html [ Crash Failure ]
@@ -6892,8 +6862,8 @@
 crbug.com/591099 fast/block/positioning/positioned-child-inside-relative-positioned-anonymous-block.html [ Failure ]
 crbug.com/591099 fast/block/positioning/positioned-container-changes-block-direction-border-with-positioned-descendant.html [ Failure ]
 crbug.com/591099 fast/block/positioning/positioned-layout-in-line.html [ Crash ]
-crbug.com/591099 fast/block/positioning/positioned-movement-layout-when-bottom-changes-to-and-from-auto-vertical.html [ Failure ]
-crbug.com/591099 fast/block/positioning/positioned-movement-layout-when-bottom-changes-to-and-from-auto.html [ Failure ]
+crbug.com/591099 fast/block/positioning/positioned-movement-layout-when-bottom-changes-to-and-from-auto-vertical.html [ Failure Pass ]
+crbug.com/591099 fast/block/positioning/positioned-movement-layout-when-bottom-changes-to-and-from-auto.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/rel-positioned-inline-changes-width.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/relative-overflow-block.html [ Failure ]
 crbug.com/591099 fast/block/positioning/relative-overflow-replaced-float.html [ Crash Failure ]
@@ -6918,7 +6888,7 @@
 crbug.com/591099 fast/block/positioning/window-height-change.html [ Failure ]
 crbug.com/591099 fast/block/scrollbar-wider-than-border-box.html [ Failure ]
 crbug.com/591099 fast/block/skip-cleaning-up-anonymous-wrappers-when-subtree-being-destroyed.html [ Crash ]
-crbug.com/591099 fast/block/sticky-position-containing-block-crash.html [ Failure ]
+crbug.com/591099 fast/block/sticky-position-containing-block-crash.html [ Failure Pass ]
 crbug.com/591099 fast/block/strip-anonymous-blocks-when-block-child-becomes-float.html [ Failure ]
 crbug.com/591099 fast/body-propagation/background-color/001-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-color/001.html [ Failure Pass ]
@@ -7026,7 +6996,6 @@
 crbug.com/591099 fast/borders/border-radius-mask-video-ratio.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-mask-video-shadow.html [ Crash Failure ]
 crbug.com/591099 fast/borders/border-radius-mask-video.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-percent.html [ Failure Pass ]
 crbug.com/591099 fast/borders/border-radius-position.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-split-inline.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-wide-border-01.html [ Failure ]
@@ -7314,7 +7283,7 @@
 crbug.com/591099 fast/css-generated-content/beforeAfter-interdocument.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/block-after.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/bug-106384.html [ Failure ]
-crbug.com/591099 fast/css-generated-content/bug91547.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/bug91547.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/crash-selection-editing-removes-pseudo.html [ Crash ]
 crbug.com/591099 fast/css-generated-content/details-before-after-content.html [ Crash Failure ]
 crbug.com/591099 fast/css-generated-content/drag-state.html [ Failure ]
@@ -7333,7 +7302,7 @@
 crbug.com/591099 fast/css-generated-content/pseudo-transition-event.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/pseudo-transition.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/quote-crash-93750.html [ Failure ]
-crbug.com/591099 fast/css-generated-content/quote-first-letter.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/quote-first-letter.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/quote-layout-focus-crash.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/reset-content-to-initial.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/spellingToolTip-assert.html [ Failure ]
@@ -7616,6 +7585,7 @@
 crbug.com/591099 fast/css-grid-layout/scrolled-grid-painting.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/setting-node-properties-to-null-during-layout-should-not-crash.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/should-not-collapse-anonymous-blocks.html [ Failure ]
+crbug.com/591099 fast/css-grid-layout/stale-grid-layout.html [ Failure Pass ]
 crbug.com/591099 fast/css-grid-layout/tracks-wider-min-track-breadth-crash.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/fill-available-with-zero-width.html [ Crash Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/fillavailable-minmax-content-inlinesize-contribution-nonreplaced-blocks.html [ Crash Failure ]
@@ -7938,6 +7908,7 @@
 crbug.com/591099 fast/css/getComputedStyle/computed-style-grid-layout.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-listing.html [ Failure Timeout ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-page-break-inside.html [ Failure ]
+crbug.com/591099 fast/css/getComputedStyle/computed-style-percentage-top-with-position-inline.html [ Failure Pass ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-properties.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-recalc.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-redistribution.html [ Failure ]
@@ -8432,7 +8403,6 @@
 crbug.com/591099 fast/css/webkit-marquee-speed-unit-in-quirksmode.html [ Crash Failure ]
 crbug.com/591099 fast/css/word-break-user-modify-allowed-values.html [ Failure ]
 crbug.com/591099 fast/css/word-space-extra.html [ Crash Failure ]
-crbug.com/591099 fast/css/word-spacing-inline-box-line-width.html [ Crash Failure Pass ]
 crbug.com/591099 fast/css/word-spacing-linebreak.html [ Failure ]
 crbug.com/591099 fast/css/xml-lang-ignored-in-html.html [ Failure ]
 crbug.com/591099 fast/css/xml-stylesheet-alternate-no-title.xhtml [ Failure ]
@@ -8457,7 +8427,7 @@
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-first-line-decoration.html [ Crash Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-cjk.html [ Crash Failure ]
-crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-out-of-flow.html [ Failure ]
+crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-out-of-flow.html [ Failure Pass ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-vertical.html [ Failure Pass ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited.html [ Failure ]
@@ -8613,8 +8583,8 @@
 crbug.com/591099 fast/dom/Element/onclick-case.html [ Failure ]
 crbug.com/591099 fast/dom/Element/parent-node-interface.html [ Failure ]
 crbug.com/591099 fast/dom/Element/remove.html [ Failure ]
-crbug.com/591099 fast/dom/Element/scroll-width-hidden.html [ Failure ]
-crbug.com/591099 fast/dom/Element/scroll-width-visible.html [ Failure ]
+crbug.com/591099 fast/dom/Element/scroll-width-hidden.html [ Failure Pass ]
+crbug.com/591099 fast/dom/Element/scroll-width-visible.html [ Failure Pass ]
 crbug.com/591099 fast/dom/Element/scrollTop-scrollLeft-body.html [ Failure ]
 crbug.com/591099 fast/dom/Element/scrollTop-scrollLeft-frameset.html [ Failure ]
 crbug.com/591099 fast/dom/Element/scrollTop-scrollLeft-strict-quirks-modes.html [ Failure ]
@@ -9471,7 +9441,6 @@
 crbug.com/591099 fast/dom/shadow/hostcontext-first-child.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/hostcontext-pseudo-class.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/iframe-shadow.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/import-rule-in-shadow-tree-needs-document-style-recalc.html [ Failure Pass ]
 crbug.com/591099 fast/dom/shadow/inner-scope-important-wins.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/input-shadow-nochange.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/move-style-scoped-to-another-shadowroot-crash.html [ Failure ]
@@ -10164,7 +10133,6 @@
 crbug.com/591099 fast/events/selectstart-prevent-selection-on-right-click.html [ Failure ]
 crbug.com/591099 fast/events/sequential-focus-navigation-starting-point.html [ Crash ]
 crbug.com/591099 fast/events/setDragImage-with-detached-node.html [ Failure ]
-crbug.com/591099 fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html [ Failure Pass ]
 crbug.com/591099 fast/events/simulated-click-by-alt-enter.html [ Failure ]
 crbug.com/591099 fast/events/simulated-click-coords.html [ Failure ]
 crbug.com/591099 fast/events/simulated-click-disabled.html [ Crash ]
@@ -10319,6 +10287,8 @@
 crbug.com/591099 fast/events/wheel/wheelevent-mousewheel-interaction.html [ Failure ]
 crbug.com/591099 fast/events/window-errorevent-01.html [ Failure ]
 crbug.com/591099 fast/events/window-errorevent-02.html [ Failure ]
+crbug.com/591099 fast/events/window-events-bubble.html [ Failure Pass ]
+crbug.com/591099 fast/events/window-events-bubble2.html [ Failure Pass ]
 crbug.com/591099 fast/events/window-events-capture.html [ Crash Failure ]
 crbug.com/591099 fast/events/window-onerror-01.html [ Failure ]
 crbug.com/591099 fast/events/window-onerror-02.html [ Failure ]
@@ -10467,16 +10437,8 @@
 crbug.com/591099 fast/forms/button/button-submit.html [ Failure Pass ]
 crbug.com/591099 fast/forms/button/button-white-space.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-with-float.html [ Crash Failure ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-ar.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-coarse.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-minimum-date.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-required.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-ru.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-step.html [ Failure Pass ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-zoom125.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-zoom200.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance.html [ Failure Pass Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-date-types.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-datetimelocal-with-step.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-datetimelocal.html [ Failure ]
@@ -10498,8 +10460,6 @@
 crbug.com/591099 fast/forms/calendar-picker/datetimelocal-picker-choose-default-value-after-set-value.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/datetimelocal-picker-events.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-open-picker-with-f4-key.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/month-picker-appearance-step.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/month-picker-appearance.html [ Failure Pass ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-ax.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-choose-default-value-after-set-value.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-key-operations.html [ Crash ]
@@ -10507,8 +10467,6 @@
 crbug.com/591099 fast/forms/calendar-picker/month-picker-touch-operations.html [ Crash Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-with-step.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/week-open-picker-with-f4-key.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/week-picker-appearance-step.html [ Failure Pass ]
-crbug.com/591099 fast/forms/calendar-picker/week-picker-appearance.html [ Failure Pass Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/week-picker-ax.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/week-picker-choose-default-value-after-set-value.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/week-picker-close-no-crash.html [ Crash ]
@@ -10580,7 +10538,6 @@
 crbug.com/591099 fast/forms/date/ValidityState-stepMismatch-date.html [ Failure ]
 crbug.com/591099 fast/forms/date/ValidityState-typeMismatch-date.html [ Failure ]
 crbug.com/591099 fast/forms/date/date-appearance-basic.html [ Crash Failure ]
-crbug.com/591099 fast/forms/date/date-appearance-l10n.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/date/date-appearance-pseudo-elements.html [ Crash Failure ]
 crbug.com/591099 fast/forms/date/date-format-warning.html [ Crash ]
 crbug.com/591099 fast/forms/date/date-input-type.html [ Failure ]
@@ -10615,7 +10572,6 @@
 crbug.com/591099 fast/forms/datetimelocal/ValidityState-stepMismatch-datetimelocal.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-appearance-basic.html [ Crash Failure ]
-crbug.com/591099 fast/forms/datetimelocal/datetimelocal-appearance-l10n.html [ Failure Pass ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-interactive-validation-required.html [ Crash Failure ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-pseudo-classes.html [ Failure ]
@@ -10841,7 +10797,6 @@
 crbug.com/591099 fast/forms/month/input-valueasdate.html [ Failure ]
 crbug.com/591099 fast/forms/month/input-valueasnumber-month.html [ Failure ]
 crbug.com/591099 fast/forms/month/month-appearance-basic.html [ Crash Failure ]
-crbug.com/591099 fast/forms/month/month-appearance-l10n.html [ Failure Pass ]
 crbug.com/591099 fast/forms/month/month-appearance-pseudo-elements.html [ Crash Failure ]
 crbug.com/591099 fast/forms/month/month-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/month/month-interactive-validation-required.html [ Crash Failure ]
@@ -11242,24 +11197,18 @@
 crbug.com/591099 fast/forms/suggested-value-after-setvalue.html [ Crash ]
 crbug.com/591099 fast/forms/suggested-value.html [ Crash ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl.html [ Crash Failure Pass ]
-crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125.html [ Crash Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200.html [ Crash Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html [ Crash Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-min-max-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-reset-value-after-reload.html [ Crash ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew.html [ Crash Failure Timeout ]
-crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure Pass ]
-crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-reset-value-after-reload.html [ Crash ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl.html [ Crash Failure Pass ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure Pass ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html [ Crash Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload.html [ Crash ]
@@ -11267,12 +11216,9 @@
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-min-max-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-step-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl.html [ Crash Failure Pass Timeout ]
-crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure Pass ]
-crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance.html [ Crash Failure Pass ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-key-operations.html [ Crash Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-min-max-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-reset-value-after-reload.html [ Crash ]
@@ -11745,6 +11691,7 @@
 crbug.com/591099 fast/html/adopt-parent-frame.html [ Failure ]
 crbug.com/591099 fast/html/clone-range.html [ Failure ]
 crbug.com/591099 fast/html/crash-style-first-letter.html [ Failure ]
+crbug.com/591099 fast/html/draggable-controls.html [ Failure ]
 crbug.com/591099 fast/html/draggable.html [ Failure ]
 crbug.com/591099 fast/html/eventhandler-attribute-non-callable.html [ Failure ]
 crbug.com/591099 fast/html/hidden-attr-dom.html [ Failure ]
@@ -11795,7 +11742,7 @@
 crbug.com/591099 fast/inline-block/float-leading-whitespace.html [ Failure Pass ]
 crbug.com/591099 fast/inline-block/inline-block-vertical-align-2.html [ Failure ]
 crbug.com/591099 fast/inline-block/inline-block-vertical-align.html [ Failure ]
-crbug.com/591099 fast/inline-block/multiple-floats-with-whitespace.html [ Crash Failure ]
+crbug.com/591099 fast/inline-block/multiple-floats-with-whitespace.html [ Crash Failure Pass ]
 crbug.com/591099 fast/inline-block/overflow-clip.html [ Failure ]
 crbug.com/591099 fast/inline-block/tricky-baseline.html [ Failure ]
 crbug.com/591099 fast/inline-block/vertical-align-top-and-bottom-2.html [ Failure ]
@@ -11829,9 +11776,7 @@
 crbug.com/591099 fast/inline/inline-fixed-position-boundingbox.html [ Failure ]
 crbug.com/591099 fast/inline/inline-focus-ring-under-absolute-enclosing-relative-div.html [ Failure ]
 crbug.com/591099 fast/inline/inline-focus-ring.html [ Failure ]
-crbug.com/591099 fast/inline/inline-offsetLeft-continuation.html [ Failure Pass ]
 crbug.com/591099 fast/inline/inline-offsetLeft-relpos.html [ Crash Failure ]
-crbug.com/591099 fast/inline/inline-padding-disables-text-quirk.html [ Failure Pass ]
 crbug.com/591099 fast/inline/inline-position-top-align.html [ Failure ]
 crbug.com/591099 fast/inline/inline-relative-offset-boundingbox.html [ Failure ]
 crbug.com/591099 fast/inline/inline-split-percent-height-object-crash.html [ Failure ]
@@ -12524,7 +12469,6 @@
 crbug.com/591099 fast/multicol/inner-multicol-moved-into-continuation.html [ Failure ]
 crbug.com/591099 fast/multicol/layers-split-across-columns.html [ Failure ]
 crbug.com/591099 fast/multicol/line-pushed-down-by-float.html [ Failure ]
-crbug.com/591099 fast/multicol/many-lines-overflow-in-single-row-inner.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/margin-bottom-and-break-after.html [ Failure ]
 crbug.com/591099 fast/multicol/min-height-greater-than-content.html [ Failure ]
 crbug.com/591099 fast/multicol/min-height-greater-than-height.html [ Failure ]
@@ -12673,8 +12617,6 @@
 crbug.com/591099 fast/multicol/span/underflow-after-spanner.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/vertical-lr.html [ Failure ]
 crbug.com/591099 fast/multicol/span/vertical-rl.html [ Failure ]
-crbug.com/591099 fast/multicol/table-caption-and-cells-fixed-width.html [ Failure Pass ]
-crbug.com/591099 fast/multicol/table-caption-and-cells.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/table-caption-with-block.html [ Failure ]
 crbug.com/591099 fast/multicol/table-cell-content-change-with-decorations.html [ Failure ]
 crbug.com/591099 fast/multicol/table-cell-content-change.html [ Failure ]
@@ -12978,13 +12920,11 @@
 crbug.com/591099 fast/replaced/002.html [ Failure ]
 crbug.com/591099 fast/replaced/003.html [ Failure ]
 crbug.com/591099 fast/replaced/005.html [ Failure Pass ]
-crbug.com/591099 fast/replaced/007.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/008.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/absolute-image-sizing.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-auto-width-and-left-and-right-and-intrinsic-width-quirks.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/absolute-position-auto-width-and-left-and-right-and-intrinsic-width.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/absolute-position-percentage-height.html [ Failure ]
-crbug.com/591099 fast/replaced/absolute-position-percentage-width.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/absolute-position-with-auto-height-and-top-and-bottom.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-with-auto-width-and-left-and-right.html [ Failure ]
 crbug.com/591099 fast/replaced/aspect-ratio-of-replaced-child-with-auto-height.html [ Failure ]
@@ -13034,7 +12974,7 @@
 crbug.com/591099 fast/replaced/percent-height-in-anonymous-block.html [ Failure ]
 crbug.com/591099 fast/replaced/percentage-height-with-dynamic-container-height.html [ Failure ]
 crbug.com/591099 fast/replaced/preferred-widths.html [ Failure ]
-crbug.com/591099 fast/replaced/render-inline-cast-to-render-box-crash.html [ Failure ]
+crbug.com/591099 fast/replaced/render-inline-cast-to-render-box-crash.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/replaced-breaking-mixture.html [ Failure ]
 crbug.com/591099 fast/replaced/replaced-breaking.html [ Failure ]
 crbug.com/591099 fast/replaced/replaced-child-of-absolute-with-auto-height.html [ Failure ]
@@ -13056,9 +12996,9 @@
 crbug.com/591099 fast/replaced/vertical-writing-mode-max-logical-width-replaced.html [ Failure ]
 crbug.com/591099 fast/replaced/width100percent-checkbox.html [ Failure ]
 crbug.com/591099 fast/replaced/width100percent-radio.html [ Failure ]
-crbug.com/591099 fast/ruby/after-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/after-doesnt-crash.html [ Crash Failure Pass ]
 crbug.com/591099 fast/ruby/base-shorter-than-text.html [ Crash Failure ]
-crbug.com/591099 fast/ruby/before-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/before-doesnt-crash.html [ Crash Failure Pass ]
 crbug.com/591099 fast/ruby/float-overhang-from-ruby-text.html [ Crash Failure ]
 crbug.com/591099 fast/ruby/floating-ruby-text.html [ Crash Failure ]
 crbug.com/591099 fast/ruby/generated-before-counter-doesnt-crash.html [ Crash Failure ]
@@ -13124,12 +13064,12 @@
 crbug.com/591099 fast/scroll-behavior/smooth-scroll/scroll-during-selection.html [ Failure ]
 crbug.com/591099 fast/scroll-behavior/smooth-scroll/track-scroll.html [ Failure ]
 crbug.com/591099 fast/scroll-behavior/subframe-interrupted-scroll.html [ Failure Pass ]
-crbug.com/591099 fast/scrolling/absolute-position-behind-scrollbar.html [ Failure ]
+crbug.com/591099 fast/scrolling/absolute-position-behind-scrollbar.html [ Failure Pass ]
 crbug.com/591099 fast/scrolling/abspos-relayout-overflow-style-change.html [ Failure ]
 crbug.com/591099 fast/scrolling/content-box-smaller-than-scrollbar.html [ Crash ]
 crbug.com/591099 fast/scrolling/custom-scrollbar-style-applied.html [ Failure ]
 crbug.com/591099 fast/scrolling/editor-command-scroll-page-scale.html [ Failure ]
-crbug.com/591099 fast/scrolling/fixed-position-behind-scrollbar.html [ Failure ]
+crbug.com/591099 fast/scrolling/fixed-position-behind-scrollbar.html [ Failure Pass ]
 crbug.com/591099 fast/scrolling/fractional-scroll-height-chaining.html [ Failure ]
 crbug.com/591099 fast/scrolling/fractional-scroll-offset-document.html [ Failure ]
 crbug.com/591099 fast/scrolling/hover-during-scroll.html [ Failure Timeout ]
@@ -13280,6 +13220,8 @@
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html [ Failure ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-iframe-inset-negative-width-crash.html [ Failure Pass ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-iframe-inset-rectangle-negative-width-crash.html [ Failure Pass ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-001.html [ Failure ]
@@ -13298,7 +13240,7 @@
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html [ Crash Failure ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html [ Failure ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html [ Failure Pass ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html [ Crash Failure ]
@@ -13669,11 +13611,9 @@
 crbug.com/591099 fast/text-autosizing/wide-child.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/wide-iframe.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/wide-in-narrow-overflow-scroll.html [ Failure ]
-crbug.com/591099 fast/text/align-center-rtl-spill.html [ Failure Pass ]
 crbug.com/591099 fast/text/apply-start-width-after-skipped-text.html [ Failure ]
 crbug.com/591099 fast/text/atsui-kerning-and-ligatures.html [ Failure ]
 crbug.com/591099 fast/text/atsui-multiple-renderers.html [ Failure ]
-crbug.com/591099 fast/text/atsui-negative-spacing-features.html [ Failure Pass ]
 crbug.com/591099 fast/text/atsui-partial-selection.html [ Failure ]
 crbug.com/591099 fast/text/atsui-small-caps-punctuation-size.html [ Failure ]
 crbug.com/591099 fast/text/atsui-spacing-features.html [ Failure ]
@@ -13687,7 +13627,6 @@
 crbug.com/591099 fast/text/bidi-embedding-pop-and-push-same.html [ Failure ]
 crbug.com/591099 fast/text/bidi-explicit-embedding-past-end.html [ Failure Pass ]
 crbug.com/591099 fast/text/bidi-isolate-embedding-crash.html [ Failure ]
-crbug.com/591099 fast/text/bidi-isolate-hang-with-neutral.html [ Failure Pass ]
 crbug.com/591099 fast/text/bidi-isolate-nextlinebreak-failure.html [ Failure Pass ]
 crbug.com/591099 fast/text/bidi-reverse-runs-crash.html [ Failure ]
 crbug.com/591099 fast/text/break-word-pre-wrap.html [ Failure ]
@@ -13735,7 +13674,7 @@
 crbug.com/591099 fast/text/emphasis-complex.html [ Failure ]
 crbug.com/591099 fast/text/emphasis-ellipsis-complextext.html [ Failure ]
 crbug.com/591099 fast/text/emphasis-overlap.html [ Failure ]
-crbug.com/591099 fast/text/empty-bdi-crash.html [ Failure ]
+crbug.com/591099 fast/text/empty-bdi-crash.html [ Failure Pass ]
 crbug.com/591099 fast/text/fake-italic.html [ Failure ]
 crbug.com/591099 fast/text/fallback-for-custom-font.html [ Failure ]
 crbug.com/591099 fast/text/find-kana.html [ Timeout ]
@@ -13760,10 +13699,9 @@
 crbug.com/591099 fast/text/hyphens/hyphens-none.html [ Failure ]
 crbug.com/591099 fast/text/in-rendered-text-rtl.html [ Failure ]
 crbug.com/591099 fast/text/insert-text-crash.html [ Crash ]
-crbug.com/591099 fast/text/international/arabic-digits.html [ Failure ]
+crbug.com/591099 fast/text/international/arabic-digits.html [ Failure Pass ]
 crbug.com/591099 fast/text/international/arabic-justify.html [ Failure ]
 crbug.com/591099 fast/text/international/arabic-vertical-offset.html [ Failure ]
-crbug.com/591099 fast/text/international/bdi-neutral-wrapped.html [ Failure Pass ]
 crbug.com/591099 fast/text/international/bidi-AN-after-empty-run.html [ Failure ]
 crbug.com/591099 fast/text/international/bidi-LDB-2-CSS.html [ Failure ]
 crbug.com/591099 fast/text/international/bidi-LDB-2-HTML.html [ Failure ]
@@ -13781,7 +13719,6 @@
 crbug.com/591099 fast/text/international/bidi-neutral-directionality-paragraph-start.html [ Failure ]
 crbug.com/591099 fast/text/international/bidi-neutral-run.html [ Failure ]
 crbug.com/591099 fast/text/international/bidi-override.html [ Failure ]
-crbug.com/591099 fast/text/international/bidi-word-spacing-rtl.html [ Failure Pass ]
 crbug.com/591099 fast/text/international/block-flow-parser-test.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/bold-bengali.html [ Failure ]
 crbug.com/591099 fast/text/international/cjk-segmentation.html [ Crash Failure ]
@@ -13790,7 +13727,7 @@
 crbug.com/591099 fast/text/international/complex-joining-using-gpos.html [ Failure ]
 crbug.com/591099 fast/text/international/danda-space.html [ Failure ]
 crbug.com/591099 fast/text/international/draw-complex-text-from-to.html [ Failure ]
-crbug.com/591099 fast/text/international/float-as-only-child-of-isolate-crash.html [ Failure ]
+crbug.com/591099 fast/text/international/float-as-only-child-of-isolate-crash.html [ Failure Pass ]
 crbug.com/591099 fast/text/international/hebrew-vowels.html [ Failure ]
 crbug.com/591099 fast/text/international/hindi-whitespace.html [ Failure ]
 crbug.com/591099 fast/text/international/iso-8859-8.html [ Failure ]
@@ -13806,8 +13743,8 @@
 crbug.com/591099 fast/text/international/text-spliced-font.html [ Failure ]
 crbug.com/591099 fast/text/international/thai-cursor-position.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/thai-offsetForPosition-inside-character.html [ Failure ]
-crbug.com/591099 fast/text/international/unicode-bidi-isolate-collapsed-whitespace.html [ Failure ]
-crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-crash.html [ Failure ]
+crbug.com/591099 fast/text/international/unicode-bidi-isolate-collapsed-whitespace.html [ Failure Pass ]
+crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-crash.html [ Failure Pass ]
 crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html [ Crash ]
 crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-with-removes.html [ Crash ]
 crbug.com/591099 fast/text/international/unicode-bidi-plaintext.html [ Failure ]
@@ -13846,7 +13783,7 @@
 crbug.com/591099 fast/text/offsetForPosition-cluster-at-zero.html [ Failure ]
 crbug.com/591099 fast/text/offsetForPosition-complex-fallback.html [ Failure ]
 crbug.com/591099 fast/text/orientation-sideways.html [ Failure ]
-crbug.com/591099 fast/text/output-isolate-at-end-of-line-crash.html [ Crash Failure ]
+crbug.com/591099 fast/text/output-isolate-at-end-of-line-crash.html [ Crash Failure Pass ]
 crbug.com/591099 fast/text/place-ellipsis-in-inline-block-adjacent-float-2.html [ Failure ]
 crbug.com/591099 fast/text/place-ellipsis-in-inline-block-adjacent-float.html [ Failure ]
 crbug.com/591099 fast/text/place-ellipsis-in-inline-blocks-2.html [ Failure ]
@@ -13872,7 +13809,6 @@
 crbug.com/591099 fast/text/place-rtl-ellipsis-in-inline-blocks.html [ Failure ]
 crbug.com/591099 fast/text/plain-text-line-breaks.html [ Failure ]
 crbug.com/591099 fast/text/regional-indicator-symobls.html [ Failure ]
-crbug.com/591099 fast/text/remove-zero-length-run.html [ Failure Pass ]
 crbug.com/591099 fast/text/reset-drag-on-mouse-down.html [ Failure Timeout ]
 crbug.com/591099 fast/text/reset-emptyRun.html [ Failure ]
 crbug.com/591099 fast/text/selection-hard-linebreak.html [ Failure ]
@@ -14084,7 +14020,7 @@
 crbug.com/591099 fast/writing-mode/background-vertical-rl.html [ Failure ]
 crbug.com/591099 fast/writing-mode/baseline-inline-replaced-002.html [ Failure ]
 crbug.com/591099 fast/writing-mode/basic-vertical-line.html [ Failure ]
-crbug.com/591099 fast/writing-mode/block-formatting-context.html [ Failure ]
+crbug.com/591099 fast/writing-mode/block-formatting-context.html [ Failure Pass ]
 crbug.com/591099 fast/writing-mode/block-level-images.html [ Failure ]
 crbug.com/591099 fast/writing-mode/border-image-vertical-lr.html [ Failure ]
 crbug.com/591099 fast/writing-mode/border-image-vertical-rl.html [ Failure ]
@@ -14302,7 +14238,7 @@
 crbug.com/591099 fullscreen/full-screen-iframe-not-allowed.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-iframe-without-allow-attribute-allowed-from-parent.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-line-boxes-crash.html [ Failure Pass ]
-crbug.com/591099 fullscreen/full-screen-no-style-sharing.html [ Failure ]
+crbug.com/591099 fullscreen/full-screen-no-style-sharing.html [ Failure Pass ]
 crbug.com/591099 fullscreen/full-screen-placeholder.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-request-removed.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-table-section.html [ Failure ]
@@ -14312,7 +14248,7 @@
 crbug.com/591099 fullscreen/video-controls-override.html [ Failure ]
 crbug.com/591099 fullscreen/video-controls-timeline.html [ Failure ]
 crbug.com/591099 fullscreen/video-fail-to-enter-full-screen.html [ Failure ]
-crbug.com/591099 fullscreen/video-fixed-at-top-left.html [ Failure ]
+crbug.com/591099 fullscreen/video-fixed-at-top-left.html [ Failure Pass ]
 crbug.com/591099 gamepad/gamepad-api.html [ Failure ]
 crbug.com/591099 gamepad/gamepad-detached-no-crash.html [ Failure ]
 crbug.com/591099 gamepad/gamepad-events-basic.html [ Failure ]
@@ -14366,6 +14302,7 @@
 crbug.com/591099 hittesting/border-hittest-with-image-fallback.html [ Crash ]
 crbug.com/591099 hittesting/border-hittest.html [ Failure ]
 crbug.com/591099 hittesting/border-radius-hittest.html [ Failure ]
+crbug.com/591099 hittesting/culled-inline-crash.html [ Failure ]
 crbug.com/591099 hittesting/culled-inline.html [ Failure ]
 crbug.com/591099 hittesting/hittest-child-of-inlineblock.html [ Crash ]
 crbug.com/591099 hittesting/hittest-overlapping-floats.html [ Failure ]
@@ -14759,6 +14696,7 @@
 crbug.com/591099 http/tests/incremental/frame-focus-before-load.html [ Failure Timeout ]
 crbug.com/591099 http/tests/incremental/slow-utf8-css.html [ Failure ]
 crbug.com/591099 http/tests/incremental/slow-utf8-html.pl [ Failure ]
+crbug.com/591099 http/tests/incremental/slow-utf8-text.pl [ Timeout ]
 crbug.com/591099 http/tests/incremental/split-hex-entities.pl [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html [ Crash Failure ]
@@ -14825,13 +14763,13 @@
 crbug.com/591099 http/tests/inspector/bindings/navigator-frame-navigate.html [ Failure ]
 crbug.com/591099 http/tests/inspector/bindings/navigator-main-frame-navigated.html [ Failure ]
 crbug.com/591099 http/tests/inspector/bindings/navigator-multiple-frames.html [ Crash Timeout ]
-crbug.com/591099 http/tests/inspector/bindings/shadowdom-bindings.html [ Failure ]
+crbug.com/591099 http/tests/inspector/bindings/shadowdom-bindings.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/bindings/shadowdom-navigator.html [ Failure Timeout ]
-crbug.com/591099 http/tests/inspector/bindings/sourcemap-bindings-multiple-frames.html [ Crash ]
+crbug.com/591099 http/tests/inspector/bindings/sourcemap-bindings-multiple-frames.html [ Crash Timeout ]
 crbug.com/591099 http/tests/inspector/bindings/sourcemap-navigator-multiple-frames.html [ Crash Timeout ]
 crbug.com/591099 http/tests/inspector/bindings/suspendtarget-bindings.html [ Crash ]
 crbug.com/591099 http/tests/inspector/bindings/suspendtarget-navigator.html [ Crash ]
-crbug.com/591099 http/tests/inspector/cache-storage/cache-data.html [ Failure ]
+crbug.com/591099 http/tests/inspector/cache-storage/cache-data.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-deletion.html [ Failure ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-entry-deletion.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-names.html [ Failure ]
@@ -14856,7 +14794,7 @@
 crbug.com/591099 http/tests/inspector/elements/html-link-import.html [ Crash ]
 crbug.com/591099 http/tests/inspector/elements/styles/edit-css-with-source-url.html [ Crash ]
 crbug.com/591099 http/tests/inspector/elements/styles/import-added-through-js-crash.html [ Crash ]
-crbug.com/591099 http/tests/inspector/elements/styles/inline-stylesheet-sourceurl-and-sourcemapurl.html [ Crash ]
+crbug.com/591099 http/tests/inspector/elements/styles/inline-stylesheet-sourceurl-and-sourcemapurl.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/elements/styles/selector-line-deprecated.html [ Crash ]
 crbug.com/591099 http/tests/inspector/elements/styles/selector-line-sourcemap-header-deprecated.html [ Crash ]
 crbug.com/591099 http/tests/inspector/elements/styles/selector-line-sourcemap-header.html [ Crash ]
@@ -14914,7 +14852,7 @@
 crbug.com/591099 http/tests/inspector/network/network-columns-visible.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-content-replacement-xhr.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-cyrillic-xhr.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-datareceived.html [ Crash Failure ]
+crbug.com/591099 http/tests/inspector/network/network-datareceived.html [ Crash Failure Timeout ]
 crbug.com/591099 http/tests/inspector/network/network-disable-cache-cors.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-disable-cache-memory.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-disable-cache-preloads.php [ Crash Failure ]
@@ -15390,6 +15328,7 @@
 crbug.com/591099 http/tests/preload/dynamic_removing_preload.html [ Failure Pass ]
 crbug.com/591099 http/tests/preload/multiple-meta-csp.html [ Crash ]
 crbug.com/591099 http/tests/preload/preload-video-cors.html [ Crash ]
+crbug.com/591099 http/tests/previews/client-lofi-sprite.html [ Failure ]
 crbug.com/591099 http/tests/security/MessagePort/event-listener-context.html [ Failure ]
 crbug.com/591099 http/tests/security/XFrameOptions/x-frame-options-cached.html [ Failure ]
 crbug.com/591099 http/tests/security/XFrameOptions/x-frame-options-deny-delete-frame-in-load-event.html [ Crash ]
@@ -16213,7 +16152,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/responsexml-type.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/send-object-tostring-check.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/serialize-document.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/set-dangerous-headers.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/set-dangerous-headers.html [ Failure Timeout ]
 crbug.com/591099 http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/simple-cross-origin-denied-events-post.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync.html [ Failure ]
@@ -16404,7 +16343,6 @@
 crbug.com/591099 images/color-profile-svg-foreign-object.html [ Failure ]
 crbug.com/591099 images/content-url-broken-image-with-alt-text.html [ Crash Pass ]
 crbug.com/591099 images/content-url-image-with-alt-text-dynamic-2.html [ Crash Pass ]
-crbug.com/591099 images/crash-when-fallback-content-deleted.html [ Crash Pass ]
 crbug.com/591099 images/cross-fade-background-size.html [ Failure ]
 crbug.com/591099 images/cross-fade-blending.html [ Failure ]
 crbug.com/591099 images/cross-fade-invalidation.html [ Failure ]
@@ -16508,7 +16446,7 @@
 crbug.com/591099 inspector-enabled/sources/debugger/script-formatter-console.html [ Failure ]
 crbug.com/591099 inspector-enabled/tabbed-pane-closeable-persistence-restore.html [ Failure ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-ignoredNodes.js [ Crash Failure Timeout ]
-crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-buttons.js [ Crash Timeout ]
+crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-buttons.js [ Crash Failure Timeout ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-img-figure.js [ Crash Failure Timeout ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-input-buttons.js [ Crash Timeout ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-input.js [ Crash Failure Timeout ]
@@ -16532,7 +16470,7 @@
 crbug.com/591099 inspector-protocol/debugger/debugger-step-into-dedicated-worker.html [ Failure ]
 crbug.com/591099 inspector-protocol/debugger/suspend-setTimeout-on-pause-in-dedicated-worker.html [ Failure ]
 crbug.com/591099 inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot.html [ Crash Failure Timeout ]
-crbug.com/591099 inspector-protocol/dom/dom-getBoxModel.html [ Failure ]
+crbug.com/591099 inspector-protocol/dom/dom-getBoxModel.html [ Failure Pass ]
 crbug.com/591099 inspector-protocol/dom/dom-ns-attr-modified.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-320-2x.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-320-only-viewport.html [ Failure ]
@@ -16582,7 +16520,7 @@
 crbug.com/591099 inspector/changes/changes-highlighter.html [ Crash Failure Timeout ]
 crbug.com/591099 inspector/changes/changes-sidebar.html [ Failure ]
 crbug.com/591099 inspector/components/chunked-file-reader.html [ Failure ]
-crbug.com/591099 inspector/components/color.html [ Failure ]
+crbug.com/591099 inspector/components/color.html [ Crash Failure ]
 crbug.com/591099 inspector/components/cookie-parser.html [ Failure ]
 crbug.com/591099 inspector/components/cookies-table.html [ Failure ]
 crbug.com/591099 inspector/components/css-shadow-model.html [ Failure ]
@@ -17113,7 +17051,7 @@
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-web-sql.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-xhrs.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-breakpoints/breakpoint-manager-listeners-count.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-breakpoints/breakpoint-manager-listeners-count.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/breakpoint-manager.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/breakpoints-in-anonymous-script-with-two-targets.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/debugger-breakpoints-not-activated-on-reload.html [ Crash Failure ]
@@ -17264,7 +17202,7 @@
 crbug.com/591099 inspector/sources/debugger/script-failed-to-parse.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger/source-frame-breakpoint-decorations.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger/source-frame-inline-breakpoint-decorations.html [ Crash Failure ]
-crbug.com/591099 inspector/sources/debugger/sources-panel-content-scripts.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger/sources-panel-content-scripts.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/formatter-css.html [ Failure ]
 crbug.com/591099 inspector/sources/formatter-js.html [ Failure ]
 crbug.com/591099 inspector/sources/inspect-function.html [ Failure ]
@@ -17666,8 +17604,6 @@
 crbug.com/591099 media/track/track-cue-rendering-horizontal.html [ Failure Pass ]
 crbug.com/591099 media/track/track-cue-rendering-on-resize.html [ Crash ]
 crbug.com/591099 media/track/track-cue-rendering-overscan.html [ Crash ]
-crbug.com/591099 media/track/track-cue-rendering-position-auto-rtl.html [ Failure Pass ]
-crbug.com/591099 media/track/track-cue-rendering-position-auto.html [ Failure Pass ]
 crbug.com/591099 media/track/track-cue-rendering-rtl.html [ Crash ]
 crbug.com/591099 media/track/track-cue-rendering-snap-to-lines-not-set.html [ Crash ]
 crbug.com/591099 media/track/track-cue-rendering-tree-is-removed-properly.html [ Crash ]
@@ -17883,6 +17819,7 @@
 crbug.com/591099 overflow/overflow-bug-chrome-ng-001.html [ Failure ]
 crbug.com/591099 overflow/overflow-position-003.html [ Failure ]
 crbug.com/591099 overflow/overflow-position-004.html [ Failure ]
+crbug.com/591099 overflow/overflow-transform-perspective.html [ Failure ]
 crbug.com/591099 paint/background/background-and-shadow.html [ Failure ]
 crbug.com/591099 paint/background/fieldset-legend-background-shadow-border-radius.html [ Failure ]
 crbug.com/591099 paint/background/rounded-clip-fractional-offset.html [ Crash Failure ]
@@ -17897,6 +17834,7 @@
 crbug.com/591099 paint/invalidation/4774354.html [ Failure ]
 crbug.com/591099 paint/invalidation/4776765.html [ Failure ]
 crbug.com/591099 paint/invalidation/absolute-display-block-to-none.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/absolute-margin-change-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/absolute-position-change-containing-block.html [ Failure ]
 crbug.com/591099 paint/invalidation/absolute-position-changed.html [ Failure Pass ]
@@ -18100,6 +18038,7 @@
 crbug.com/591099 paint/invalidation/fixed-margin-change-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-move-after-keyboard-scroll.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-move-after-scroll.html [ Failure ]
+crbug.com/591099 paint/invalidation/fixed-position-layer-moved.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-position-transparency-with-overflow.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-scale.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-scroll-simple.html [ Failure Pass ]
@@ -18294,7 +18233,6 @@
 crbug.com/591099 paint/invalidation/quotes.html [ Failure ]
 crbug.com/591099 paint/invalidation/reflection-invalidation-after-display.html [ Failure ]
 crbug.com/591099 paint/invalidation/reflection-invalidation-positioned-child.html [ Failure Pass ]
-crbug.com/591099 paint/invalidation/reflection-redraw.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/reflection-repaint-test.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/rel-positioned-inline-with-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ]
@@ -18675,7 +18613,7 @@
 crbug.com/591099 scrollbars/basic-scrollbar.html [ Failure ]
 crbug.com/591099 scrollbars/border-box-rect-clips-scrollbars.html [ Failure ]
 crbug.com/591099 scrollbars/custom-scrollbar-changing-style-relayout-body-scrollablearea.html [ Crash Pass Timeout ]
-crbug.com/591099 scrollbars/custom-scrollbar-changing-style-relayout-div-body-scrollablearea.html [ Crash Pass ]
+crbug.com/591099 scrollbars/custom-scrollbar-changing-style-relayout-div-body-scrollablearea.html [ Crash Pass Timeout ]
 crbug.com/591099 scrollbars/custom-scrollbar-enable-changes-thickness-with-iframe.html [ Failure Pass ]
 crbug.com/591099 scrollbars/custom-scrollbar-not-inherited-by-iframe.html [ Crash ]
 crbug.com/591099 scrollbars/custom-scrollbar-reconstruction-document-write.html [ Crash ]
@@ -19234,7 +19172,6 @@
 crbug.com/591099 svg/as-image/img-preserveAspectRatio-support-1.html [ Failure Pass ]
 crbug.com/591099 svg/as-image/img-preserveAspectRatio-support-2.html [ Failure Pass ]
 crbug.com/591099 svg/as-image/same-image-two-instances.html [ Failure Pass ]
-crbug.com/591099 svg/as-image/svg-as-image-actually-containing-xhtml-with-media.html [ Crash Pass ]
 crbug.com/591099 svg/as-image/svg-as-image-intrinsic-size.html [ Crash ]
 crbug.com/591099 svg/as-image/svg-as-image.html [ Failure ]
 crbug.com/591099 svg/as-image/svg-as-relative-image-with-explicit-size.html [ Failure ]
@@ -19245,6 +19182,7 @@
 crbug.com/591099 svg/as-image/svg-non-integer-scaled-image.html [ Failure ]
 crbug.com/591099 svg/as-image/svg-object-intrinsic-size.html [ Failure ]
 crbug.com/591099 svg/as-image/svgview-references-use-counters.html [ Failure ]
+crbug.com/591099 svg/as-list-image/svg-list-image-intrinsic-size-zoom.html [ Failure ]
 crbug.com/591099 svg/as-object/embedded-svg-immediate-offsetWidth-query.html [ Failure ]
 crbug.com/591099 svg/as-object/object-box-sizing-no-width-height.html [ Failure Pass ]
 crbug.com/591099 svg/as-object/svg-embedded-in-html-in-iframe.html [ Failure Pass Timeout ]
@@ -19271,7 +19209,7 @@
 crbug.com/591099 svg/css/opacity-not-supporting-percentage.html [ Failure ]
 crbug.com/591099 svg/css/parse-length.html [ Failure ]
 crbug.com/591099 svg/css/path-element.html [ Crash ]
-crbug.com/591099 svg/css/path-layout-crash.html [ Failure ]
+crbug.com/591099 svg/css/path-layout-crash.html [ Failure Pass ]
 crbug.com/591099 svg/css/rect-system-color.xhtml [ Failure ]
 crbug.com/591099 svg/css/scientific-numbers.html [ Failure ]
 crbug.com/591099 svg/css/svg-attribute-length-parsing.html [ Failure ]
@@ -20011,7 +19949,6 @@
 crbug.com/591099 tables/mozilla/bugs/bug113235-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug113235-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug11384q.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug11384s.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug12008.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug120364.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug126742.html [ Failure ]
@@ -20295,7 +20232,6 @@
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug4294.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug47163.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug51000.html [ Failure ]
-crbug.com/591099 tables/mozilla_expected_failures/bugs/bug58402-2.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug61042-1.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug61042-2.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug67915-2.html [ Failure Pass ]
@@ -20499,7 +20435,7 @@
 crbug.com/591099 virtual/android/fullscreen/full-screen-iframe-not-allowed.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-iframe-without-allow-attribute-allowed-from-parent.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-line-boxes-crash.html [ Failure Pass ]
-crbug.com/591099 virtual/android/fullscreen/full-screen-no-style-sharing.html [ Failure ]
+crbug.com/591099 virtual/android/fullscreen/full-screen-no-style-sharing.html [ Failure Pass ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-placeholder.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-request-removed.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-table-section.html [ Failure ]
@@ -20509,7 +20445,7 @@
 crbug.com/591099 virtual/android/fullscreen/video-controls-override.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/video-controls-timeline.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/video-fail-to-enter-full-screen.html [ Failure ]
-crbug.com/591099 virtual/android/fullscreen/video-fixed-at-top-left.html [ Failure ]
+crbug.com/591099 virtual/android/fullscreen/video-fixed-at-top-left.html [ Failure Pass ]
 crbug.com/591099 virtual/android/media/mediadocument/media-document-with-download-button.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/3d-corners.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/absolute-inside-out-of-view-fixed.html [ Failure Pass ]
@@ -20526,7 +20462,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/color-matching/image-color-matching.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/composited-in-paginated.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/geometry-map-paginated-assert.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/composited-negative-zindex-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/compositing-visible-descendant.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/background-clip.html [ Failure Pass ]
@@ -20574,7 +20510,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-position.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/flipped-writing-mode.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/foreground-layer.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/foreground-offset-change.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/foreground-offset-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/geometry-map-scroll-during-layout-assertion.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/horizontal-scroll-composited.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ]
@@ -20607,7 +20543,6 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img-transformed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-overflowing-text-crash.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-shadow-tree.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-skew-matrix.html [ Failure Pass ]
@@ -20630,7 +20565,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-in-composited-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-resize.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-size-from-zero.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-size-to-zero.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-size-to-zero.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-hide.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show.html [ Failure ]
@@ -20745,7 +20680,6 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/remove-overflow-crash2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/resize-painting.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/rtl-overflow.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scaled-mask.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scaled-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update.html [ Failure ]
@@ -20821,13 +20755,13 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/shadows/shadow-drawing.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/sibling-positioning.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/add-remove-squashed-layers.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/backing-owner-determines-scroll-parent.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/backing-owner-determines-scroll-parent.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/clipping-ancestor.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/composited-bounds-for-negative-z.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/do-not-squash-non-self-painting-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/do-not-squash-scroll-child-with-composited-descendants.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-animated-layers.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-blend-mode.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-animated-layers.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-blend-mode.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-iframes.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-videos.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/iframes-are-never-squashed.html [ Failure Pass ]
@@ -20899,6 +20833,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/4774354.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/4776765.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-display-block-to-none.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-margin-change-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-changed.html [ Failure Pass ]
@@ -21102,6 +21037,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-margin-change-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-keyboard-scroll.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-position-layer-moved.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-position-transparency-with-overflow.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-scale.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-scroll-simple.html [ Failure Pass ]
@@ -21296,7 +21232,6 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/quotes.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-after-display.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-positioned-child.html [ Failure Pass ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-redraw.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ]
@@ -21841,7 +21776,7 @@
 crbug.com/591099 virtual/exotic-color-space/images/percent-height-image.html [ Failure ]
 crbug.com/591099 virtual/exotic-color-space/images/pixel-crack-image-background-webkit-transform-scale.html [ Failure ]
 crbug.com/591099 virtual/exotic-color-space/images/png-extra-row-crash.html [ Failure ]
-crbug.com/591099 virtual/exotic-color-space/images/png-suite/test.html [ Crash ]
+crbug.com/591099 virtual/exotic-color-space/images/png-suite/test.html [ Crash Failure ]
 crbug.com/591099 virtual/exotic-color-space/images/png_per_row_alpha_decoding.html [ Failure ]
 crbug.com/591099 virtual/exotic-color-space/images/rendering-broken-0px-images-quirk.html [ Crash Failure ]
 crbug.com/591099 virtual/exotic-color-space/images/rendering-broken-0px-images.html [ Crash Failure ]
@@ -21900,7 +21835,6 @@
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-munsell-srgb-to-srgb.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-svg-foreign-object.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/content-url-broken-image-with-alt-text.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/content-url-image-with-alt-text-dynamic-2.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-background-size.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-blending.html [ Failure ]
@@ -22189,7 +22123,6 @@
 crbug.com/591099 virtual/gpu/fast/canvas/zero-size-fill-rect.html [ Crash ]
 crbug.com/591099 virtual/high-contrast-mode/paint/high-contrast-mode/image-filter-all/text-on-backgrounds.html [ Failure ]
 crbug.com/591099 virtual/layout_ng/external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003r.xht [ Failure Pass ]
-crbug.com/591099 virtual/layout_ng/external/wpt/css/CSS2/linebox/empty-inline-002.xht [ Crash Failure Pass ]
 crbug.com/591099 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-replaced-width-006.xht [ Failure ]
 crbug.com/591099 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/height-114.xht [ Crash Failure Pass ]
 crbug.com/591099 virtual/layout_ng/external/wpt/css/CSS2/positioning/top-019.xht [ Crash Failure ]
@@ -22213,7 +22146,7 @@
 crbug.com/591099 virtual/layout_ng/fast/block/float/002.html [ Failure ]
 crbug.com/591099 virtual/layout_ng/fast/block/float/014.html [ Crash Failure ]
 crbug.com/591099 virtual/layout_ng/fast/block/float/017.html [ Failure ]
-crbug.com/591099 virtual/layout_ng/fast/block/float/clear-intruding-floats-when-moving-to-inline-parent-3.html [ Crash Failure ]
+crbug.com/591099 virtual/layout_ng/fast/block/float/clear-intruding-floats-when-moving-to-inline-parent-3.html [ Crash Failure Pass ]
 crbug.com/591099 virtual/layout_ng/fast/block/float/formatting-context-changes.html [ Failure ]
 crbug.com/591099 virtual/layout_ng/fast/block/float/overhanging-float-add-in-static-position-block.html [ Failure ]
 crbug.com/591099 virtual/layout_ng/fast/block/float/overhanging-float-add-in-static-position-block2.html [ Failure ]
@@ -22221,21 +22154,13 @@
 crbug.com/591099 virtual/layout_ng/fast/block/float/rubybase-children-moved-crash-2.html [ Crash Failure ]
 crbug.com/591099 virtual/layout_ng/fast/block/margin-collapse/line-beside-float-complex-margin-collapsing.html [ Failure ]
 crbug.com/591099 virtual/layout_ng/fast/block/margin-collapse/self-collapsing-block-creates-block-formatting-context.html [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/network-data-length.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/network/disable-interception-midway.html [ Failure Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/network/request-interception-mock302.html [ Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/override-referrer.html [ Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/reload-memory-cache.html [ Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/request-mixed-content-status-optionally-blockable.html [ Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/request-referrer-policy.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/appcache/appcache-iframe-manifests.html [ Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/appcache/appcache-swap.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/application-panel/storage-view-reports-quota.html [ Failure Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/bindings/livelocation-main-frame-navigated.html [ Failure Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/network-filters.html [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/waterfall-images.html [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/automapping-sourcemap.html [ Failure Pass Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/workers-on-navigation.html [ Failure Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/directive-parsing-03.html [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/source-list-parsing-04.html [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/security/cors-rfc1918/addressspace-document-csp-appcache.html [ Failure Pass Timeout ]
@@ -22285,7 +22210,7 @@
 crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html [ Crash ]
 crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html [ Crash ]
 crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/activation.https.html [ Crash ]
-crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/claim-fetch.https.html [ Crash ]
+crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/claim-fetch.https.html [ Crash Pass ]
 crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/claim-not-using-registration.https.html [ Crash ]
 crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/client-id.https.html [ Crash ]
 crbug.com/591099 virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html [ Crash ]
@@ -22530,7 +22455,6 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/remove-overflow-crash2.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting.html [ Failure ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/rtl-overflow.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-mask.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-overflow.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-ancestor-update.html [ Failure ]
@@ -22557,7 +22481,7 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-appearance-property.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-changing-style-relayout-body-scrollablearea.html [ Crash Pass Timeout ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-changing-style-relayout-div-body-scrollablearea.html [ Crash Pass ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-changing-style-relayout-div-body-scrollablearea.html [ Crash Pass Timeout ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-display.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-enable-changes-thickness-with-iframe.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/custom-scrollbar-not-inherited-by-iframe.html [ Crash ]
@@ -22591,12 +22515,12 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/viewport-scrollbar-corner-with-percent-padding-crash.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/history/scroll-restoration/scroll-restoration-fragment-navigation-crossdoc.html [ Crash ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/history/scroll-restoration/scroll-restoration-navigation.html [ Crash ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/absolute-position-behind-scrollbar.html [ Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/absolute-position-behind-scrollbar.html [ Failure Pass ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/abspos-relayout-overflow-style-change.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/content-box-smaller-than-scrollbar.html [ Crash ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/custom-scrollbar-style-applied.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/editor-command-scroll-page-scale.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/fixed-position-behind-scrollbar.html [ Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/fixed-position-behind-scrollbar.html [ Failure Pass ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/fractional-scroll-height-chaining.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/fractional-scroll-offset-document.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/hover-during-scroll.html [ Failure Timeout ]
@@ -22667,12 +22591,10 @@
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/drag-image.html [ Failure ]
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/popup-menu-with-scrollbar-appearance.html [ Failure ]
-crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance.html [ Failure Pass ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance.html [ Crash Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/drag-image.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance.html [ Failure ]
-crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance.html [ Failure Pass ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance.html [ Crash Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/drag-image.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/gesture-scroll-amount.html [ Failure ]
@@ -22721,7 +22643,6 @@
 crbug.com/591099 virtual/stable/http/tests/navigation/navigation-with-detached-origin-document.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/no-referrer-reset.html [ Failure Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/onload-navigation-iframe-2.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/ping-cookie.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/ping-cross-origin.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/ping-same-origin.html [ Crash Pass Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/post-basic.html [ Crash Failure ]
@@ -22798,6 +22719,7 @@
 crbug.com/591099 virtual/threaded/animations/display-inline-style-adjust.html [ Failure Timeout ]
 crbug.com/591099 virtual/threaded/animations/display-none-cancel-computedstyle.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/display-none-terminates-animation.html [ Failure ]
+crbug.com/591099 virtual/threaded/animations/element-animate-float-crash.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/animations/empty-keyframe-animation-composited.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/empty-keyframes-composited.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/empty-keyframes.html [ Failure ]
@@ -22891,7 +22813,7 @@
 crbug.com/591099 virtual/threaded/animations/interpolation/webkit-transform-origin-interpolation.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/keyframes-cssom-prefixed-02.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/keyframes-cssom-unprefixed-02.html [ Failure ]
-crbug.com/591099 virtual/threaded/animations/keyframes-iteration-count-non-integer.html [ Failure ]
+crbug.com/591099 virtual/threaded/animations/keyframes-iteration-count-non-integer.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/animations/keyframes-rule.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/lazy-detached-animation-stop.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/length-zero-percent-crash.html [ Failure Pass ]
@@ -23328,7 +23250,3 @@
 crbug.com/591099 webmidi/send-messages.html [ Failure ]
 crbug.com/591099 webmidi/send-system-messages.html [ Failure ]
 crbug.com/591099 xmlviewer/extensions-api.html [ Failure ]
-crbug.com/591099 css3/flexbox/bug527039.html [ Failure ]
-crbug.com/591099 fast/html/draggable-controls.html [ Failure ]
-crbug.com/591099 hittesting/culled-inline-crash.html [ Failure ]
-crbug.com/591099 svg/as-list-image/svg-list-image-intrinsic-size-zoom.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
index 938bd97..8f392094 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
@@ -1528,16 +1528,6 @@
 crbug.com/644358 paint/invalidation/multi-subsequence-scrolled.html [ Failure ]
 crbug.com/644358 paint/invalidation/repaint-subsequence-on-ancestor-clip-change.html [ Failure ]
 crbug.com/644358 paint/invalidation/svg/overflow-repaint.html [ Failure ]
-crbug.com/644358 paint/invalidation/table-collapsed-border.html [ Crash ]
-crbug.com/644358 paint/invalidation/table-cell-collapsed-border.html [ Crash ]
-crbug.com/644358 paint/invalidation/table/cached-change-cell-border-color.html [ Failure ]
-crbug.com/644358 paint/invalidation/table/cached-change-cell-sl-border-color.html [ Failure ]
-crbug.com/644358 paint/invalidation/table/cached-change-col-border-color.html [ Crash ]
-crbug.com/644358 paint/invalidation/table/cached-change-colgroup-border-color.html [ Crash ]
-crbug.com/644358 paint/invalidation/table/cached-change-row-border-color.html [ Crash ]
-crbug.com/644358 paint/invalidation/table/cached-change-table-border-color.html [ Crash ]
-crbug.com/644358 paint/invalidation/table/cached-change-tbody-border-color.html [ Crash ]
-crbug.com/644358 paint/invalidation/table/collapsed-border-current-color.html [ Crash ]
 crbug.com/644358 paint/invalidation/video-paint-invalidation.html [ Crash ]
 crbug.com/644358 svg/animations/animateMotion_changingPath.html [ Failure ]
 
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-expected.png b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-expected.png
new file mode 100644
index 0000000..a08245b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-vertical-expected.png b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-vertical-expected.png
new file mode 100644
index 0000000..7af263b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-vertical-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-collapsed-border-expected.txt
new file mode 100644
index 0000000..9da0834
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-collapsed-border-expected.txt
@@ -0,0 +1,316 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 224, 108, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 338, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 286, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 154, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 102, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 99, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 132, 99, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 62, 95, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 95, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 40, 95, 22],
+          "reason": "style change"
+        },
+        {
+          "object": "InlineTextBox 'ipsum dolor'",
+          "rect": [23, 317, 76, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox 'ipsum dolor'",
+          "rect": [23, 133, 76, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox 'sit amet'",
+          "rect": [23, 339, 49, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox 'sit amet'",
+          "rect": [23, 339, 49, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox 'sit amet'",
+          "rect": [23, 155, 49, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox 'sit amet'",
+          "rect": [23, 155, 49, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox 'Lorem'",
+          "rect": [23, 295, 43, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox 'Lorem'",
+          "rect": [23, 295, 43, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox 'Lorem'",
+          "rect": [23, 111, 43, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox 'Lorem'",
+          "rect": [23, 111, 43, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox 'dolor'",
+          "rect": [23, 225, 34, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox '\u00A0'",
+          "rect": [17, 225, 4, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox '\u00A0'",
+          "rect": [17, 225, 4, 19],
+          "reason": "disappeared"
+        },
+        {
+          "object": "InlineTextBox '\u00A0'",
+          "rect": [17, 133, 4, 19],
+          "reason": "appeared"
+        },
+        {
+          "object": "InlineTextBox '\u00A0'",
+          "rect": [17, 133, 4, 19],
+          "reason": "disappeared"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTable TABLE id='t'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTable TABLE",
+      "reason": "full"
+    },
+    {
+      "object": "LayoutTableSection TBODY",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "geometry"
+    },
+    {
+      "object": "InlineTextBox 'Lorem'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "geometry"
+    },
+    {
+      "object": "InlineTextBox '\u00A0'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "geometry"
+    },
+    {
+      "object": "InlineTextBox 'sit amet'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTable TABLE",
+      "reason": "full"
+    },
+    {
+      "object": "LayoutTableSection TBODY",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "geometry"
+    },
+    {
+      "object": "InlineTextBox '\u00A0'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTable TABLE",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "geometry"
+    },
+    {
+      "object": "InlineTextBox 'Lorem'",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD id='d3'",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "appeared"
+    },
+    {
+      "object": "InlineTextBox 'ipsum dolor'",
+      "reason": "appeared"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD",
+      "reason": "geometry"
+    },
+    {
+      "object": "RootInlineBox",
+      "reason": "geometry"
+    },
+    {
+      "object": "LayoutText #text",
+      "reason": "geometry"
+    },
+    {
+      "object": "InlineTextBox 'sit amet'",
+      "reason": "geometry"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-outer-border-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-outer-border-expected.txt
index c1767010..dfbd879 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-outer-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-outer-border-expected.txt
@@ -7,58 +7,50 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 132, 149],
-          "reason": "appeared"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 132, 149],
-          "reason": "appeared"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 132, 149],
-          "reason": "disappeared"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 132, 149],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 75, 132, 82],
           "reason": "appeared"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 75, 132, 82],
           "reason": "disappeared"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 132, 82],
           "reason": "appeared"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 132, 82],
           "reason": "disappeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [15, 82, 117, 67],
+          "reason": "appeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [15, 82, 117, 67],
+          "reason": "disappeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [15, 15, 117, 67],
+          "reason": "appeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [15, 15, 117, 67],
+          "reason": "disappeared"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='table' class='green'",
       "reason": "appeared"
     },
@@ -75,20 +67,12 @@
       "reason": "appeared"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "appeared"
-    },
-    {
       "object": "LayoutTableRow TR",
       "reason": "appeared"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "appeared"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "appeared"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-section-repaint-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-section-repaint-expected.txt
index 0b2a8f3..ee62eeb 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-section-repaint-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-section-repaint-expected.txt
@@ -7,13 +7,23 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 308, 60, 83],
+          "object": "LayoutTableRow TR",
+          "rect": [8, 353, 60, 38],
           "reason": "geometry"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 308, 60, 83],
+          "object": "LayoutTableRow TR",
+          "rect": [8, 338, 60, 38],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 323, 60, 38],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 308, 60, 38],
           "reason": "geometry"
         },
         {
@@ -179,20 +189,12 @@
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableRow TR",
       "reason": "geometry"
     },
     {
       "object": "LayoutTableCell TD class='half'",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
index ffc844a..ff5fe2d 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
@@ -7,12 +7,7 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 212, 108],
-          "reason": "disappeared"
-        },
-        {
-          "object": "CollapsedBorderValues",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 212, 108],
           "reason": "disappeared"
         },
@@ -49,14 +44,6 @@
     {
       "object": "LayoutTableCell TD",
       "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
index b26b4f97..baaef3f7 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
@@ -7,12 +7,7 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 212, 108],
-          "reason": "appeared"
-        },
-        {
-          "object": "CollapsedBorderValues",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 212, 108],
           "reason": "appeared"
         },
@@ -31,14 +26,6 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='table'",
       "reason": "style change"
     },
@@ -55,16 +42,8 @@
       "reason": "style change"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "style change"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-69296-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-69296-expected.txt
index 52524a8..e194c1a 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-69296-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-69296-expected.txt
@@ -9,12 +9,12 @@
         {
           "object": "LayoutTableRow TR id='row1'",
           "rect": [20, 20, 160, 51],
-          "reason": "appeared"
+          "reason": "style change"
         },
         {
           "object": "LayoutTableRow TR id='row1'",
           "rect": [20, 20, 160, 51],
-          "reason": "disappeared"
+          "reason": "style change"
         }
       ]
     }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-cell-append-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-cell-append-expected.txt
index 3650eb0..69e5cf6 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-cell-append-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-cell-append-expected.txt
@@ -7,28 +7,15 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
+          "object": "LayoutTableRow TR id='row'",
           "rect": [8, 8, 120, 56],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 120, 56],
-          "reason": "appeared"
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "geometry"
     },
@@ -38,23 +25,15 @@
     },
     {
       "object": "LayoutTableRow TR id='row'",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "appeared"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "appeared"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-color-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-color-expected.txt
new file mode 100644
index 0000000..864156a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-color-expected.txt
@@ -0,0 +1,28 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='foo'",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-width-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-width-expected.txt
index 5d1824ef..e3552e4 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-width-expected.txt
@@ -7,28 +7,15 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 114, 54],
           "reason": "style change"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 54],
-          "reason": "geometry"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "geometry"
     },
@@ -38,23 +25,15 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD id='foo'",
       "reason": "style change"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
new file mode 100644
index 0000000..b95ed67
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -0,0 +1,42 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'",
+          "rect": [90, 30, 20, 20],
+          "reason": "full"
+        },
+        {
+          "object": "InlineTextBox 'A'",
+          "rect": [90, 30, 12, 19],
+          "reason": "disappeared"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='foo'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'",
+      "reason": "full"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-color-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-color-expected.txt
new file mode 100644
index 0000000..a417d95
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-color-expected.txt
@@ -0,0 +1,37 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 113, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 113, 53],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableCol COL id='col'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-width-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-width-expected.txt
index 9f47ff7c..85efadf 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-width-expected.txt
@@ -7,46 +7,25 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 113, 104],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 113, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 113, 104],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 113, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 113, 104],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 113, 104],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 109, 52],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "geometry"
     },
@@ -60,43 +39,27 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
new file mode 100644
index 0000000..8f0807f2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
@@ -0,0 +1,37 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 167, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 167, 53],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableCol COLGROUP id='colgroup'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
index e90ca8dab..335152d 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
@@ -7,64 +7,25 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 167, 104],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 167, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 167, 104],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 167, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 167, 104],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 167, 104],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 167, 104],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 167, 104],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 162, 52],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "geometry"
     },
@@ -78,6 +39,10 @@
     },
     {
       "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
@@ -85,27 +50,15 @@
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
@@ -113,24 +66,8 @@
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-row-border-width-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-row-border-width-expected.txt
index ccc668e..9cf3973 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-row-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-row-border-width-expected.txt
@@ -7,28 +7,20 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 60, 103],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR id='row'",
+          "rect": [8, 8, 60, 54],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 60, 103],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 60, 53],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "geometry"
     },
@@ -45,20 +37,12 @@
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-color-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-color-expected.txt
new file mode 100644
index 0000000..64fb1ac
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-color-expected.txt
@@ -0,0 +1,28 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 60, 54],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTable TABLE id='tbl'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-width-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-width-expected.txt
index 3399b2c5..aefe91b 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-width-expected.txt
@@ -7,19 +7,15 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 60, 54],
-          "reason": "geometry"
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='tbl'",
       "reason": "style change"
     },
@@ -29,15 +25,11 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-color-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
new file mode 100644
index 0000000..635dea00
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
@@ -0,0 +1,46 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 108, 114, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 114, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 53],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableSection TBODY id='tbody'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-width-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
index 9de89c9..5da5d3e 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
@@ -7,64 +7,30 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 153],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 108, 114, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 153],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 114, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 153],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 53],
+          "reason": "style change"
         },
         {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 153],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 153],
-          "reason": "geometry"
-        },
-        {
-          "object": "CollapsedBorderValues",
-          "rect": [8, 8, 114, 153],
-          "reason": "geometry"
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 109, 52],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "geometry"
     },
@@ -74,67 +40,43 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableSection TBODY",
       "reason": "geometry"
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
-    },
-    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
-    },
-    {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
index 2e8b30a..e9d4a6f 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
@@ -7,7 +7,7 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "CollapsedBorderValues",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 104, 204],
           "reason": "geometry"
         }
@@ -16,12 +16,12 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD id='target'",
+      "object": "LayoutTableRow TR",
       "reason": "geometry"
     },
     {
-      "object": "CollapsedBorderValues",
-      "reason": "geometry"
+      "object": "LayoutTableCell TD id='target'",
+      "reason": "incremental"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index d48ab11..4a2ab599 100644
--- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -8,13 +8,13 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableRow TR",
-          "rect": [0, 292, 106, 236],
+          "rect": [0, 52, 106, 238],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableRow TR",
-          "rect": [0, 100, 106, 190],
-          "reason": "incremental"
+          "rect": [0, 292, 106, 236],
+          "reason": "geometry"
         },
         {
           "object": "LayoutTableRow TR",
@@ -50,6 +50,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt
deleted file mode 100644
index cd078c63..0000000
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "layers": [
-    {
-      "name": "LayoutView #document",
-      "bounds": [800, 600],
-      "contentsOpaque": true,
-      "drawsContent": true,
-      "paintInvalidations": [
-        {
-          "object": "LayoutTableCell TD id='t3'",
-          "rect": [220, 260, 122, 110],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD id='t1'",
-          "rect": [220, 60, 122, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD id='t2'",
-          "rect": [3, 260, 118, 110],
-          "reason": "style change"
-        }
-      ]
-    }
-  ],
-  "objectPaintInvalidations": [
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t1'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t2'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t3'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t1'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t2'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t3'",
-      "reason": "style change"
-    }
-  ]
-}
-
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt
index 0c33d50..9607874 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt
@@ -27,16 +27,6 @@
           "reason": "disappeared"
         },
         {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 75, 132, 82],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 75, 132, 82],
-          "reason": "disappeared"
-        },
-        {
           "object": "LayoutTableRow TR",
           "rect": [8, 75, 132, 82],
           "reason": "appeared"
@@ -47,23 +37,33 @@
           "reason": "disappeared"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 132, 82],
           "reason": "appeared"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 132, 82],
           "reason": "disappeared"
         },
         {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 8, 132, 82],
+          "object": "LayoutTableCell TD",
+          "rect": [15, 82, 117, 67],
           "reason": "appeared"
         },
         {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 8, 132, 82],
+          "object": "LayoutTableCell TD",
+          "rect": [15, 82, 117, 67],
+          "reason": "disappeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [15, 15, 117, 67],
+          "reason": "appeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [15, 15, 117, 67],
           "reason": "disappeared"
         }
       ]
@@ -95,14 +95,6 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='table' class='green'",
       "reason": "appeared"
     },
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt
index ae0b4ca..ff360d4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt
@@ -7,22 +7,22 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "LayoutTableCell TD class='half'",
+          "object": "LayoutTableRow TR",
           "rect": [8, 353, 60, 38],
           "reason": "geometry"
         },
         {
-          "object": "LayoutTableCell TD class='half'",
+          "object": "LayoutTableRow TR",
           "rect": [8, 338, 60, 38],
           "reason": "geometry"
         },
         {
-          "object": "LayoutTableCell TD class='half'",
+          "object": "LayoutTableRow TR",
           "rect": [8, 323, 60, 38],
           "reason": "geometry"
         },
         {
-          "object": "LayoutTableCell TD class='half'",
+          "object": "LayoutTableRow TR",
           "rect": [8, 308, 60, 38],
           "reason": "geometry"
         },
@@ -105,6 +105,26 @@
           "object": "LayoutTable TABLE",
           "rect": [8, 372, 60, 19],
           "reason": "incremental"
+        },
+        {
+          "object": "LayoutTableCell TD class='half'",
+          "rect": [12, 357, 52, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD class='half'",
+          "rect": [12, 342, 52, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD class='half'",
+          "rect": [12, 327, 52, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD class='half'",
+          "rect": [12, 312, 52, 30],
+          "reason": "geometry"
         }
       ]
     }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
index 77d3a45..d15af64 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
@@ -33,18 +33,18 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [112, 8, 108, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 107, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
           "rect": [10, 10, 106, 108],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [113, 9, 105, 105],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [9, 9, 104, 105],
+          "reason": "style change"
         }
       ]
     }
@@ -69,14 +69,6 @@
     {
       "object": "LayoutTableCell TD",
       "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
index 357e9b4..d15af64 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
@@ -33,32 +33,24 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [112, 8, 108, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 107, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
           "rect": [10, 10, 106, 108],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [113, 9, 105, 105],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [9, 9, 104, 105],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='table'",
       "reason": "style change"
     },
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt
index 9081dbd6..a179df47 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt
@@ -7,23 +7,33 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR id='row'",
+          "rect": [8, 8, 120, 56],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 59, 120, 5],
           "reason": "incremental"
         },
         {
-          "object": "LayoutTableCell TD",
-          "rect": [64, 8, 64, 56],
-          "reason": "appeared"
-        },
-        {
           "object": "LayoutTable TABLE",
           "rect": [65, 8, 63, 56],
           "reason": "incremental"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 8, 62, 56],
+          "rect": [67, 11, 58, 50],
+          "reason": "appeared"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [10, 11, 57, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [10, 10, 56, 50],
           "reason": "geometry"
         }
       ]
@@ -31,20 +41,12 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "incremental"
     },
     {
       "object": "LayoutTableRow TR id='row'",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt
index 76964c5..7b11d248 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         }
       ]
@@ -16,11 +21,7 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt
index 5ef852c..5a610a60 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt
@@ -7,26 +7,36 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 58, 114, 4],
           "reason": "incremental"
         },
         {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [64, 8, 58, 54],
+          "rect": [66, 10, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [62, 8, 55, 52],
+          "rect": [62, 9, 54, 50],
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableCell TD id='foo'",
+          "rect": [9, 9, 53, 50],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [116, 8, 6, 54],
           "reason": "incremental"
@@ -36,20 +46,12 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "incremental"
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD id='foo'",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt
index 27c93b4..4938d2f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt
@@ -10,30 +10,32 @@
           "object": "LayoutTableCol COL id='col'",
           "rect": [8, 8, 113, 104],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 113, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 113, 53],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTableCol COL id='col'",
       "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt
index d385c96..22b5918 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt
@@ -17,43 +17,63 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 113, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 113, 53],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 108, 113, 4],
           "reason": "incremental"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 109, 52],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD",
-          "rect": [8, 59, 60, 53],
+          "rect": [10, 60, 56, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 8, 60, 53],
+          "rect": [10, 10, 56, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [64, 59, 57, 53],
+          "rect": [66, 60, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [64, 8, 57, 53],
+          "rect": [66, 10, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 58, 56, 52],
+          "rect": [9, 59, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [62, 8, 55, 52],
+          "rect": [9, 9, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [63, 59, 54, 51],
+          "rect": [63, 59, 53, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [63, 9, 53, 50],
           "reason": "geometry"
         },
         {
@@ -66,22 +86,6 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "incremental"
     },
@@ -95,7 +99,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
@@ -107,7 +111,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
index d599485..92a6fd75 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
@@ -10,38 +10,32 @@
           "object": "LayoutTableCol COLGROUP id='colgroup'",
           "rect": [8, 8, 167, 104],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 167, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 167, 53],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTableCol COLGROUP id='colgroup'",
       "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
index af9e7aef..d82c28e 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
@@ -17,63 +17,83 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 167, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 167, 53],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 108, 167, 4],
           "reason": "incremental"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 162, 52],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD",
-          "rect": [64, 8, 58, 53],
+          "rect": [65, 60, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 59, 58, 53],
+          "rect": [65, 10, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 8, 58, 53],
+          "rect": [10, 60, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [118, 60, 57, 52],
+          "rect": [10, 10, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [118, 8, 57, 52],
+          "rect": [120, 60, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [65, 60, 57, 52],
+          "rect": [120, 10, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 58, 56, 52],
+          "rect": [9, 59, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [62, 8, 55, 52],
+          "rect": [9, 9, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [116, 59, 54, 51],
+          "rect": [116, 59, 53, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [63, 59, 54, 51],
+          "rect": [116, 9, 53, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [116, 9, 54, 50],
+          "rect": [63, 59, 53, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [63, 9, 53, 50],
           "reason": "geometry"
         },
         {
@@ -86,30 +106,6 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "incremental"
     },
@@ -123,7 +119,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
@@ -139,7 +135,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt
index 3454bb7..07fc4bc 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt
@@ -10,22 +10,23 @@
           "object": "LayoutTableRow TR id='row'",
           "rect": [8, 8, 60, 54],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 60, 53],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTableRow TR id='row'",
       "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt
index 6082be8..a70485c89 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt
@@ -7,19 +7,14 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 60, 54],
-          "reason": "geometry"
-        },
-        {
           "object": "LayoutTableRow TR id='row'",
           "rect": [8, 8, 60, 54],
           "reason": "style change"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 58, 60, 53],
-          "reason": "geometry"
+          "reason": "style change"
         },
         {
           "object": "LayoutTable TABLE",
@@ -27,6 +22,26 @@
           "reason": "incremental"
         },
         {
+          "object": "LayoutTableCell TD",
+          "rect": [10, 60, 56, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [10, 10, 56, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [9, 59, 54, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [9, 9, 54, 50],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [62, 8, 6, 103],
           "reason": "incremental"
@@ -36,14 +51,6 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "incremental"
     },
@@ -57,7 +64,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt
index 5a9447d..40e5d56 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt
@@ -10,17 +10,22 @@
           "object": "LayoutTable TABLE id='tbl'",
           "rect": [8, 8, 60, 54],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 60, 54],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTable TABLE id='tbl'",
       "reason": "style change"
     },
     {
-      "object": "LayoutTable TABLE id='tbl'",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     }
   ]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt
index 8137f95..1e9541c1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt
@@ -12,8 +12,18 @@
           "reason": "style change"
         },
         {
-          "object": "LayoutTableCell TD",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 60, 54],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [10, 10, 56, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [9, 9, 54, 50],
           "reason": "geometry"
         }
       ]
@@ -21,16 +31,12 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='tbl'",
       "reason": "style change"
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
index a133750..e6ecc61f 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
@@ -10,38 +10,41 @@
           "object": "LayoutTableSection TBODY id='tbody'",
           "rect": [8, 8, 114, 104],
           "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 108, 114, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 114, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 53],
+          "reason": "style change"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTableSection TBODY id='tbody'",
       "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
index 9bbbb6b1..0df4da5 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
@@ -12,58 +12,88 @@
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 108, 114, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 59, 114, 53],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 53],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 159, 114, 2],
           "reason": "incremental"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 109, 52],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD",
-          "rect": [64, 8, 58, 53],
+          "rect": [65, 110, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 59, 58, 53],
+          "rect": [65, 60, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 8, 58, 53],
+          "rect": [65, 10, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [65, 108, 57, 53],
+          "rect": [10, 110, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 108, 57, 53],
+          "rect": [10, 60, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [65, 60, 57, 52],
+          "rect": [10, 10, 55, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 58, 56, 52],
+          "rect": [9, 109, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [62, 8, 55, 52],
+          "rect": [9, 59, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [63, 109, 54, 51],
+          "rect": [9, 9, 54, 50],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [63, 59, 54, 51],
+          "rect": [63, 109, 53, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [63, 59, 53, 50],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD",
+          "rect": [63, 9, 53, 50],
           "reason": "geometry"
         },
         {
@@ -76,30 +106,6 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE",
       "reason": "incremental"
     },
@@ -109,7 +115,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
@@ -121,7 +127,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
@@ -133,7 +139,7 @@
     },
     {
       "object": "LayoutTableRow TR",
-      "reason": "geometry"
+      "reason": "style change"
     },
     {
       "object": "LayoutTableCell TD",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell-expected.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell-expected.html
new file mode 100644
index 0000000..e62c10c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell-expected.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 200px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell.html
new file mode 100644
index 0000000..1f799f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black; will-change: transform }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 100px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
+<script>
+runAfterLayoutAndPaint(function() {
+  cell.style.width = '200px';
+}, true);
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row-expected.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row-expected.html
new file mode 100644
index 0000000..e62c10c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row-expected.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 200px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row.html
new file mode 100644
index 0000000..9a6ff3c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black }
+  tr { will-change: transform }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 100px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
+<script>
+runAfterLayoutAndPaint(function() {
+  cell.style.width = '200px';
+}, true);
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section-expected.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section-expected.html
new file mode 100644
index 0000000..e62c10c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section-expected.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 200px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section.html
new file mode 100644
index 0000000..a00df9a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black }
+  tbody { will-change: transform }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 100px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
+<script>
+runAfterLayoutAndPaint(function() {
+  cell.style.width = '200px';
+}, true);
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-expected.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-expected.html
new file mode 100644
index 0000000..19436104
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-expected.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<style>
+  td { border: 5px solid black }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 200px">B</td><td>C</td>
+  </tr>
+</table>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width.html b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width.html
new file mode 100644
index 0000000..869a89f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width.html
@@ -0,0 +1,15 @@
+<style>
+  td { border: 5px solid black }
+</style>
+Should repaint collapsed borders when cells resize.
+<table style="width: 300px; border-collapse: collapse">
+  <tr>
+    <td>A</td><td id="cell" style="width: 100px">B</td><td>C</td>
+  </tr>
+</table>
+<script src="../../../resources/run-after-layout-and-paint.js"></script>
+<script>
+runAfterLayoutAndPaint(function() {
+  cell.style.width = '200px';
+}, true);
+</script>
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
index 4eddcc1..5956654 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
@@ -7,17 +7,26 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
-          "object": "LayoutTableCell TD id='target'",
+          "object": "LayoutTableRow TR",
           "rect": [8, 8, 104, 204],
           "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableCell TD id='target'",
+          "rect": [8, 111, 103, 100],
+          "reason": "incremental"
         }
       ]
     }
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD id='target'",
+      "object": "LayoutTableRow TR",
       "reason": "geometry"
+    },
+    {
+      "object": "LayoutTableCell TD id='target'",
+      "reason": "incremental"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt
index 93d226b..15a6444 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt
@@ -16,7 +16,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableCell TD id='target'",
-          "rect": [0, 0, 37, 24],
+          "rect": [0, 0, 37, 23],
           "reason": "style change"
         }
       ]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt
deleted file mode 100644
index e452e1f..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "layers": [
-    {
-      "name": "LayoutView #document",
-      "bounds": [800, 600],
-      "contentsOpaque": true,
-      "drawsContent": true,
-      "paintInvalidations": [
-        {
-          "object": "LayoutTableCell TD id='t3'",
-          "rect": [220, 264, 122, 110],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD id='t1'",
-          "rect": [220, 64, 122, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD id='t2'",
-          "rect": [3, 264, 118, 110],
-          "reason": "style change"
-        }
-      ]
-    }
-  ],
-  "objectPaintInvalidations": [
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t1'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t2'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t3'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t1'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t2'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t3'",
-      "reason": "style change"
-    }
-  ]
-}
-
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt
index c67a1ad..6103ea4 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt
@@ -17,6 +17,11 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 224, 108, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 102, 99, 82],
           "reason": "full"
@@ -27,43 +32,88 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 338, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 286, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 154, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 102, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 99, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 132, 99, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE id='t'",
           "rect": [8, 10, 95, 82],
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 62, 95, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 95, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 40, 95, 22],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='d2'",
-          "rect": [22, 224, 94, 22],
+          "rect": [22, 224, 90, 22],
           "reason": "disappeared"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 338, 85, 30],
+          "rect": [22, 338, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 286, 85, 30],
+          "rect": [22, 290, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 154, 85, 30],
+          "rect": [22, 154, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 102, 85, 30],
+          "rect": [22, 106, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d3'",
-          "rect": [22, 316, 85, 22],
+          "rect": [22, 316, 81, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d'",
-          "rect": [22, 132, 85, 22],
+          "rect": [22, 132, 81, 22],
           "reason": "disappeared"
         },
         {
@@ -108,12 +158,12 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 224, 14, 22],
+          "rect": [12, 224, 10, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 132, 14, 22],
+          "rect": [12, 132, 10, 22],
           "reason": "geometry"
         },
         {
@@ -147,34 +197,22 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='t'",
       "reason": "style change"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
       "object": "LayoutTable TABLE",
       "reason": "full"
     },
@@ -183,6 +221,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -199,6 +241,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -215,6 +261,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -239,6 +289,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -259,6 +313,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -275,6 +333,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD id='d3'",
       "reason": "geometry"
     },
@@ -291,6 +353,10 @@
       "reason": "appeared"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
index eabcd5d..186df46 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
@@ -30,11 +35,7 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index 02ea162..5a492bc 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -65,6 +65,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
index 93d226b..15a6444 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
@@ -16,7 +16,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableCell TD id='target'",
-          "rect": [0, 0, 37, 24],
+          "rect": [0, 0, 37, 23],
           "reason": "style change"
         }
       ]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
index c67a1ad..6103ea4 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
@@ -17,6 +17,11 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 224, 108, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 102, 99, 82],
           "reason": "full"
@@ -27,43 +32,88 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 338, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 286, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 154, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 102, 99, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 99, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 132, 99, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE id='t'",
           "rect": [8, 10, 95, 82],
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 62, 95, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 95, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 40, 95, 22],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='d2'",
-          "rect": [22, 224, 94, 22],
+          "rect": [22, 224, 90, 22],
           "reason": "disappeared"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 338, 85, 30],
+          "rect": [22, 338, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 286, 85, 30],
+          "rect": [22, 290, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 154, 85, 30],
+          "rect": [22, 154, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 102, 85, 30],
+          "rect": [22, 106, 81, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d3'",
-          "rect": [22, 316, 85, 22],
+          "rect": [22, 316, 81, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d'",
-          "rect": [22, 132, 85, 22],
+          "rect": [22, 132, 81, 22],
           "reason": "disappeared"
         },
         {
@@ -108,12 +158,12 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 224, 14, 22],
+          "rect": [12, 224, 10, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 132, 14, 22],
+          "rect": [12, 132, 10, 22],
           "reason": "geometry"
         },
         {
@@ -147,34 +197,22 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='t'",
       "reason": "style change"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
       "object": "LayoutTable TABLE",
       "reason": "full"
     },
@@ -183,6 +221,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -199,6 +241,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -215,6 +261,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -239,6 +289,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -259,6 +313,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -275,6 +333,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD id='d3'",
       "reason": "geometry"
     },
@@ -291,6 +353,10 @@
       "reason": "appeared"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
index eabcd5d..186df46 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
@@ -30,11 +35,7 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index 02ea162..a68a906 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -8,6 +8,11 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableRow TR",
+          "rect": [0, 52, 106, 238],
+          "reason": "invalidate paint rectangle"
+        },
+        {
+          "object": "LayoutTableRow TR",
           "rect": [0, 292, 106, 236],
           "reason": "geometry"
         },
@@ -65,6 +70,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "invalidate paint rectangle"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt
index cc01d5d..bb881861 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt
@@ -16,7 +16,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableCell TD id='target'",
-          "rect": [0, 0, 38, 22],
+          "rect": [0, 0, 38, 21],
           "reason": "style change"
         }
       ]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-cell-collapsed-border-expected.txt
new file mode 100644
index 0000000..e0f1112
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-cell-collapsed-border-expected.txt
@@ -0,0 +1,78 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 260, 441, 110],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 162, 441, 108],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 360, 441, 105],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 60, 436, 108],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD id='t3'",
+          "rect": [225, 265, 112, 100],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD id='t1'",
+          "rect": [225, 65, 112, 100],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD id='t2'",
+          "rect": [8, 265, 110, 100],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='t1'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='t2'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='t3'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt
index c514c25..023ebc2f 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt
@@ -17,6 +17,11 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 210, 110, 20],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 96, 101, 76],
           "reason": "full"
@@ -27,43 +32,88 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 268, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 144, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 96, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 296, 101, 20],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 124, 101, 20],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE id='t'",
           "rect": [8, 10, 97, 76],
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 97, 28],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 97, 28],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 38, 97, 20],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='d2'",
-          "rect": [22, 210, 96, 20],
+          "rect": [22, 210, 92, 20],
           "reason": "disappeared"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 316, 87, 28],
+          "rect": [22, 316, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 268, 87, 28],
+          "rect": [22, 272, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 144, 87, 28],
+          "rect": [22, 144, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 96, 87, 28],
+          "rect": [22, 100, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d3'",
-          "rect": [22, 296, 87, 20],
+          "rect": [22, 296, 83, 20],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d'",
-          "rect": [22, 124, 87, 20],
+          "rect": [22, 124, 83, 20],
           "reason": "disappeared"
         },
         {
@@ -108,12 +158,12 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 210, 14, 20],
+          "rect": [12, 210, 10, 20],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 124, 14, 20],
+          "rect": [12, 124, 10, 20],
           "reason": "geometry"
         },
         {
@@ -147,34 +197,22 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='t'",
       "reason": "style change"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
       "object": "LayoutTable TABLE",
       "reason": "full"
     },
@@ -183,6 +221,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -199,6 +241,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -215,6 +261,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -239,6 +289,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -259,6 +313,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -275,6 +333,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD id='d3'",
       "reason": "geometry"
     },
@@ -291,6 +353,10 @@
       "reason": "appeared"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
index 120fee0..478d197 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
@@ -30,11 +35,7 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index 17feb114..d0c5787 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -65,6 +65,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
index cc01d5d..bb881861 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
@@ -16,7 +16,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableCell TD id='target'",
-          "rect": [0, 0, 38, 22],
+          "rect": [0, 0, 38, 21],
           "reason": "style change"
         }
       ]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
new file mode 100644
index 0000000..e0f1112
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
@@ -0,0 +1,78 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "drawsContent": true,
+      "paintInvalidations": [
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 260, 441, 110],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 162, 441, 108],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 360, 441, 105],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 60, 436, 108],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD id='t3'",
+          "rect": [225, 265, 112, 100],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD id='t1'",
+          "rect": [225, 65, 112, 100],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableCell TD id='t2'",
+          "rect": [8, 265, 110, 100],
+          "reason": "style change"
+        }
+      ]
+    }
+  ],
+  "objectPaintInvalidations": [
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='t1'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='t2'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableCell TD id='t3'",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
index c514c25..023ebc2f 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
@@ -17,6 +17,11 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 210, 110, 20],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 96, 101, 76],
           "reason": "full"
@@ -27,43 +32,88 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 268, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 144, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 96, 101, 28],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 296, 101, 20],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 124, 101, 20],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE id='t'",
           "rect": [8, 10, 97, 76],
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 58, 97, 28],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 97, 28],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 38, 97, 20],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='d2'",
-          "rect": [22, 210, 96, 20],
+          "rect": [22, 210, 92, 20],
           "reason": "disappeared"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 316, 87, 28],
+          "rect": [22, 316, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 268, 87, 28],
+          "rect": [22, 272, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 144, 87, 28],
+          "rect": [22, 144, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 96, 87, 28],
+          "rect": [22, 100, 83, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d3'",
-          "rect": [22, 296, 87, 20],
+          "rect": [22, 296, 83, 20],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d'",
-          "rect": [22, 124, 87, 20],
+          "rect": [22, 124, 83, 20],
           "reason": "disappeared"
         },
         {
@@ -108,12 +158,12 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 210, 14, 20],
+          "rect": [12, 210, 10, 20],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 124, 14, 20],
+          "rect": [12, 124, 10, 20],
           "reason": "geometry"
         },
         {
@@ -147,34 +197,22 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='t'",
       "reason": "style change"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
       "object": "LayoutTable TABLE",
       "reason": "full"
     },
@@ -183,6 +221,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -199,6 +241,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -215,6 +261,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -239,6 +289,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -259,6 +313,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -275,6 +333,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD id='d3'",
       "reason": "geometry"
     },
@@ -291,6 +353,10 @@
       "reason": "appeared"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
index 120fee0..478d197 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
@@ -30,11 +35,7 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index 17feb114..45f854fd 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -8,6 +8,11 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableRow TR",
+          "rect": [0, 52, 106, 238],
+          "reason": "invalidate paint rectangle"
+        },
+        {
+          "object": "LayoutTableRow TR",
           "rect": [0, 292, 106, 236],
           "reason": "geometry"
         },
@@ -65,6 +70,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "invalidate paint rectangle"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt
index b517c3b..7a21c5a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt
@@ -16,7 +16,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableCell TD id='target'",
-          "rect": [0, 0, 35, 24],
+          "rect": [0, 0, 35, 23],
           "reason": "style change"
         }
       ]
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt
index e452e1f..2221092 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt
@@ -7,18 +7,38 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 264, 441, 110],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 166, 441, 108],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 364, 441, 105],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 64, 436, 108],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='t3'",
-          "rect": [220, 264, 122, 110],
+          "rect": [225, 269, 112, 100],
           "reason": "style change"
         },
         {
           "object": "LayoutTableCell TD id='t1'",
-          "rect": [220, 64, 122, 108],
+          "rect": [225, 69, 112, 100],
           "reason": "style change"
         },
         {
           "object": "LayoutTableCell TD id='t2'",
-          "rect": [3, 264, 118, 110],
+          "rect": [8, 269, 110, 100],
           "reason": "style change"
         }
       ]
@@ -26,7 +46,7 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
@@ -34,43 +54,11 @@
       "reason": "style change"
     },
     {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t2'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t3'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t1'",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
@@ -80,6 +68,10 @@
     {
       "object": "LayoutTableCell TD id='t3'",
       "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt
index be40b56..2452b49 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt
@@ -17,6 +17,11 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 224, 103, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 102, 95, 82],
           "reason": "full"
@@ -27,43 +32,88 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 338, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 286, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 154, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 102, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 95, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 132, 95, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE id='t'",
           "rect": [8, 10, 91, 82],
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 62, 91, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 91, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 40, 91, 22],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='d2'",
-          "rect": [22, 224, 89, 22],
+          "rect": [22, 224, 85, 22],
           "reason": "disappeared"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 338, 81, 30],
+          "rect": [22, 338, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 286, 81, 30],
+          "rect": [22, 290, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 154, 81, 30],
+          "rect": [22, 154, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 102, 81, 30],
+          "rect": [22, 106, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d3'",
-          "rect": [22, 316, 81, 22],
+          "rect": [22, 316, 77, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d'",
-          "rect": [22, 132, 81, 22],
+          "rect": [22, 132, 77, 22],
           "reason": "disappeared"
         },
         {
@@ -108,12 +158,12 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 224, 14, 22],
+          "rect": [12, 224, 10, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 132, 14, 22],
+          "rect": [12, 132, 10, 22],
           "reason": "geometry"
         },
         {
@@ -147,34 +197,22 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='t'",
       "reason": "style change"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
       "object": "LayoutTable TABLE",
       "reason": "full"
     },
@@ -183,6 +221,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -199,6 +241,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -215,6 +261,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -239,6 +289,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -259,6 +313,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -275,6 +333,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD id='d3'",
       "reason": "geometry"
     },
@@ -291,6 +353,10 @@
       "reason": "appeared"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
index 10a704d..9d1fa083 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
@@ -30,11 +35,7 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index 795eae8..03737bec 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -65,6 +65,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
index b517c3b..7a21c5a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
@@ -16,7 +16,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableCell TD id='target'",
-          "rect": [0, 0, 35, 24],
+          "rect": [0, 0, 35, 23],
           "reason": "style change"
         }
       ]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
index e452e1f..2221092 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
@@ -7,18 +7,38 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 264, 441, 110],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 166, 441, 108],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [3, 364, 441, 105],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 64, 436, 108],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='t3'",
-          "rect": [220, 264, 122, 110],
+          "rect": [225, 269, 112, 100],
           "reason": "style change"
         },
         {
           "object": "LayoutTableCell TD id='t1'",
-          "rect": [220, 64, 122, 108],
+          "rect": [225, 69, 112, 100],
           "reason": "style change"
         },
         {
           "object": "LayoutTableCell TD id='t2'",
-          "rect": [3, 264, 118, 110],
+          "rect": [8, 269, 110, 100],
           "reason": "style change"
         }
       ]
@@ -26,7 +46,7 @@
   ],
   "objectPaintInvalidations": [
     {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
@@ -34,43 +54,11 @@
       "reason": "style change"
     },
     {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t2'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t3'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD id='t1'",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
@@ -80,6 +68,10 @@
     {
       "object": "LayoutTableCell TD id='t3'",
       "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
index be40b56..2452b49 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
@@ -17,6 +17,11 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR id='r2'",
+          "rect": [8, 224, 103, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE",
           "rect": [8, 102, 95, 82],
           "reason": "full"
@@ -27,43 +32,88 @@
           "reason": "geometry"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 338, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 286, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 154, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 102, 95, 30],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 316, 95, 22],
+          "reason": "geometry"
+        },
+        {
+          "object": "LayoutTableRow TR id='r'",
+          "rect": [8, 132, 95, 22],
+          "reason": "geometry"
+        },
+        {
           "object": "LayoutTable TABLE id='t'",
           "rect": [8, 10, 91, 82],
           "reason": "style change"
         },
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 62, 91, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 10, 91, 30],
+          "reason": "style change"
+        },
+        {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 40, 91, 22],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='d2'",
-          "rect": [22, 224, 89, 22],
+          "rect": [22, 224, 85, 22],
           "reason": "disappeared"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 338, 81, 30],
+          "rect": [22, 338, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 286, 81, 30],
+          "rect": [22, 290, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 154, 81, 30],
+          "rect": [22, 154, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [22, 102, 81, 30],
+          "rect": [22, 106, 77, 26],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d3'",
-          "rect": [22, 316, 81, 22],
+          "rect": [22, 316, 77, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD id='d'",
-          "rect": [22, 132, 81, 22],
+          "rect": [22, 132, 77, 22],
           "reason": "disappeared"
         },
         {
@@ -108,12 +158,12 @@
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 224, 14, 22],
+          "rect": [12, 224, 10, 22],
           "reason": "geometry"
         },
         {
           "object": "LayoutTableCell TD",
-          "rect": [8, 132, 14, 22],
+          "rect": [12, 132, 10, 22],
           "reason": "geometry"
         },
         {
@@ -147,34 +197,22 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
       "object": "LayoutTable TABLE id='t'",
       "reason": "style change"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
+      "object": "LayoutTableRow TR",
+      "reason": "style change"
+    },
+    {
       "object": "LayoutTable TABLE",
       "reason": "full"
     },
@@ -183,6 +221,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -199,6 +241,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -215,6 +261,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -239,6 +289,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR id='r2'",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -259,6 +313,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
@@ -275,6 +333,10 @@
       "reason": "geometry"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD id='d3'",
       "reason": "geometry"
     },
@@ -291,6 +353,10 @@
       "reason": "appeared"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "geometry"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
index 10a704d..9d1fa083 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
@@ -7,8 +7,13 @@
       "drawsContent": true,
       "paintInvalidations": [
         {
+          "object": "LayoutTableRow TR",
+          "rect": [8, 8, 114, 54],
+          "reason": "style change"
+        },
+        {
           "object": "LayoutTableCell TD id='foo'",
-          "rect": [8, 8, 60, 54],
+          "rect": [10, 10, 56, 50],
           "reason": "style change"
         },
         {
@@ -30,11 +35,7 @@
       "reason": "disappeared"
     },
     {
-      "object": "LayoutTableCell TD id='foo'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
+      "object": "LayoutTableRow TR",
       "reason": "style change"
     },
     {
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
index 795eae8..c2a1999e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt
@@ -8,6 +8,11 @@
       "paintInvalidations": [
         {
           "object": "LayoutTableRow TR",
+          "rect": [0, 52, 106, 238],
+          "reason": "invalidate paint rectangle"
+        },
+        {
+          "object": "LayoutTableRow TR",
           "rect": [0, 292, 106, 236],
           "reason": "geometry"
         },
@@ -65,6 +70,10 @@
       "reason": "incremental"
     },
     {
+      "object": "LayoutTableRow TR",
+      "reason": "invalidate paint rectangle"
+    },
+    {
       "object": "LayoutTableCell TD",
       "reason": "geometry"
     },
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-outer-border-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-outer-border-expected.txt
deleted file mode 100644
index 0c33d50..0000000
--- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-outer-border-expected.txt
+++ /dev/null
@@ -1,131 +0,0 @@
-{
-  "layers": [
-    {
-      "name": "LayoutView #document",
-      "bounds": [800, 600],
-      "contentsOpaque": true,
-      "drawsContent": true,
-      "paintInvalidations": [
-        {
-          "object": "LayoutTable TABLE id='table'",
-          "rect": [8, 8, 132, 149],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTable TABLE id='table' class='green'",
-          "rect": [8, 8, 132, 149],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableSection TBODY",
-          "rect": [8, 8, 132, 149],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableSection TBODY",
-          "rect": [8, 8, 132, 149],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 75, 132, 82],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 75, 132, 82],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 75, 132, 82],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 75, 132, 82],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 132, 82],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 132, 82],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 8, 132, 82],
-          "reason": "appeared"
-        },
-        {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 8, 132, 82],
-          "reason": "disappeared"
-        }
-      ]
-    }
-  ],
-  "objectPaintInvalidations": [
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableSection TBODY",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTable TABLE id='table'",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTable TABLE id='table' class='green'",
-      "reason": "appeared"
-    },
-    {
-      "object": "LayoutTableSection TBODY",
-      "reason": "appeared"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "appeared"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "appeared"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "appeared"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "appeared"
-    }
-  ]
-}
-
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-section-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-section-repaint-expected.txt
deleted file mode 100644
index ae0b4ca..0000000
--- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-section-repaint-expected.txt
+++ /dev/null
@@ -1,195 +0,0 @@
-{
-  "layers": [
-    {
-      "name": "LayoutView #document",
-      "bounds": [800, 600],
-      "contentsOpaque": true,
-      "drawsContent": true,
-      "paintInvalidations": [
-        {
-          "object": "LayoutTableCell TD class='half'",
-          "rect": [8, 353, 60, 38],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='half'",
-          "rect": [8, 338, 60, 38],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='half'",
-          "rect": [8, 323, 60, 38],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='half'",
-          "rect": [8, 308, 60, 38],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='red half'",
-          "rect": [8, 248, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='green half'",
-          "rect": [8, 218, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='red half'",
-          "rect": [8, 218, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='green half'",
-          "rect": [8, 188, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='green half'",
-          "rect": [8, 158, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='green half'",
-          "rect": [8, 128, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='red half'",
-          "rect": [8, 128, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutBlockFlow DIV id='top' class='blue half'",
-          "rect": [8, 98, 60, 30],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 98, 60, 30],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableCell TD class='red half'",
-          "rect": [8, 98, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='green half'",
-          "rect": [8, 68, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='green half'",
-          "rect": [8, 38, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableCell TD class='red half'",
-          "rect": [8, 38, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutBlockFlow CAPTION id='caption1' class='blue half'",
-          "rect": [8, 8, 60, 30],
-          "reason": "disappeared"
-        },
-        {
-          "object": "LayoutTableCell TD class='red half'",
-          "rect": [8, 8, 60, 30],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTable TABLE",
-          "rect": [8, 372, 60, 19],
-          "reason": "incremental"
-        }
-      ]
-    }
-  ],
-  "objectPaintInvalidations": [
-    {
-      "object": "LayoutBlockFlow CAPTION id='caption1' class='blue half'",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='red half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='green half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutBlockFlow DIV id='top' class='blue half'",
-      "reason": "disappeared"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='red half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='green half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='green half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='red half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTable TABLE",
-      "reason": "incremental"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='half'",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD class='half'",
-      "reason": "geometry"
-    }
-  ]
-}
-
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
deleted file mode 100644
index 357e9b4..0000000
--- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-{
-  "layers": [
-    {
-      "name": "LayoutView #document",
-      "bounds": [800, 600],
-      "contentsOpaque": true,
-      "drawsContent": true,
-      "paintInvalidations": [
-        {
-          "object": "LayoutTable TABLE id='table'",
-          "rect": [8, 8, 220, 112],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableSection TBODY",
-          "rect": [8, 8, 220, 112],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 10, 220, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableRow TR",
-          "rect": [8, 8, 212, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [118, 10, 108, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [112, 8, 108, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 107, 108],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [10, 10, 106, 108],
-          "reason": "style change"
-        }
-      ]
-    }
-  ],
-  "objectPaintInvalidations": [
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTable TABLE id='table'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableSection TBODY",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    }
-  ]
-}
-
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width-expected.txt
deleted file mode 100644
index 6082be8..0000000
--- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width-expected.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "layers": [
-    {
-      "name": "LayoutView #document",
-      "bounds": [800, 600],
-      "contentsOpaque": true,
-      "drawsContent": true,
-      "paintInvalidations": [
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 8, 60, 54],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTableRow TR id='row'",
-          "rect": [8, 8, 60, 54],
-          "reason": "style change"
-        },
-        {
-          "object": "LayoutTableCell TD",
-          "rect": [8, 58, 60, 53],
-          "reason": "geometry"
-        },
-        {
-          "object": "LayoutTable TABLE",
-          "rect": [8, 109, 60, 2],
-          "reason": "incremental"
-        },
-        {
-          "object": "LayoutTable TABLE",
-          "rect": [62, 8, 6, 103],
-          "reason": "incremental"
-        }
-      ]
-    }
-  ],
-  "objectPaintInvalidations": [
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTable TABLE",
-      "reason": "incremental"
-    },
-    {
-      "object": "LayoutTableRow TR id='row'",
-      "reason": "style change"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableRow TR",
-      "reason": "geometry"
-    },
-    {
-      "object": "LayoutTableCell TD",
-      "reason": "geometry"
-    }
-  ]
-}
-
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp
index c4169f3..da1c530 100644
--- a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp
@@ -82,7 +82,7 @@
       Serialize(isolate, value, SerializeOptions(), exception_state);
   if (exception_state.HadException())
     return NullValue();
-  return serialized.Release();
+  return serialized;
 }
 
 PassRefPtr<SerializedScriptValue> SerializedScriptValue::Create() {
diff --git a/third_party/WebKit/Source/core/animation/AnimationSimTest.cpp b/third_party/WebKit/Source/core/animation/AnimationSimTest.cpp
index d4496f3..72e66541 100644
--- a/third_party/WebKit/Source/core/animation/AnimationSimTest.cpp
+++ b/third_party/WebKit/Source/core/animation/AnimationSimTest.cpp
@@ -66,7 +66,7 @@
                                 "100%",
                                 GetDocument().ElementSheet().Contents());
   StringKeyframeVector keyframes;
-  keyframes.push_back(keyframe.Release());
+  keyframes.push_back(std::move(keyframe));
   Timing timing;
   timing.iteration_duration = 1;  // Seconds.
   ElementAnimation::animateInternal(
@@ -86,7 +86,7 @@
                                 "100%",
                                 GetDocument().ElementSheet().Contents());
   keyframes.clear();
-  keyframes.push_back(keyframe.Release());
+  keyframes.push_back(std::move(keyframe));
   timing = Timing::Defaults();
   timing.iteration_duration = 1;  // Seconds.
   ElementAnimation::animateInternal(
diff --git a/third_party/WebKit/Source/core/animation/BasicShapeInterpolationFunctions.cpp b/third_party/WebKit/Source/core/animation/BasicShapeInterpolationFunctions.cpp
index 5920ef57..82ad4bf 100644
--- a/third_party/WebKit/Source/core/animation/BasicShapeInterpolationFunctions.cpp
+++ b/third_party/WebKit/Source/core/animation/BasicShapeInterpolationFunctions.cpp
@@ -226,7 +226,7 @@
       CreateCoordinate(*list.Get(kCircleCenterYIndex), conversion_data));
   circle->SetRadius(
       CreateRadius(*list.Get(kCircleRadiusIndex), conversion_data));
-  return circle.Release();
+  return circle;
 }
 
 }  // namespace CircleFunctions
@@ -303,7 +303,7 @@
       CreateRadius(*list.Get(kEllipseRadiusXIndex), conversion_data));
   ellipse->SetRadiusY(
       CreateRadius(*list.Get(kEllipseRadiusYIndex), conversion_data));
-  return ellipse.Release();
+  return ellipse;
 }
 
 }  // namespace EllipseFunctions
@@ -442,7 +442,7 @@
   inset->SetBottomLeftRadius(CreateBorderRadius(
       *list.Get(kInsetBorderBottomLeftWidthIndex),
       *list.Get(kInsetBorderBottomLeftHeightIndex), conversion_data));
-  return inset.Release();
+  return inset;
 }
 
 }  // namespace InsetFunctions
@@ -497,7 +497,7 @@
         LengthInterpolationFunctions::CreateLength(
             *list.Get(i + 1), nullptr, conversion_data, kValueRangeAll));
   }
-  return polygon.Release();
+  return polygon;
 }
 
 }  // namespace PolygonFunctions
diff --git a/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp b/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
index b29fea5..2a1d754 100644
--- a/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
+++ b/third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
@@ -386,12 +386,12 @@
   keyframe->SetOffset(0);
   keyframe->SetPropertyValue(CSSPropertyColor, AnimatableDouble::Create(0));
   keyframe->SetPropertyValue(CSSPropertyOpacity, AnimatableDouble::Create(0));
-  frames_mixed_properties.push_back(keyframe.Release());
+  frames_mixed_properties.push_back(std::move(keyframe));
   keyframe = AnimatableValueKeyframe::Create();
   keyframe->SetOffset(1);
   keyframe->SetPropertyValue(CSSPropertyColor, AnimatableDouble::Create(1));
   keyframe->SetPropertyValue(CSSPropertyOpacity, AnimatableDouble::Create(1));
-  frames_mixed_properties.push_back(keyframe.Release());
+  frames_mixed_properties.push_back(std::move(keyframe));
   EXPECT_FALSE(CanStartEffectOnCompositor(
       timing_,
       *AnimatableValueKeyframeEffectModel::Create(frames_mixed_properties)));
diff --git a/third_party/WebKit/Source/core/animation/Keyframe.h b/third_party/WebKit/Source/core/animation/Keyframe.h
index 4c8e8528..b39b41d4 100644
--- a/third_party/WebKit/Source/core/animation/Keyframe.h
+++ b/third_party/WebKit/Source/core/animation/Keyframe.h
@@ -56,7 +56,7 @@
   PassRefPtr<Keyframe> CloneWithOffset(double offset) const {
     RefPtr<Keyframe> the_clone = Clone();
     the_clone->SetOffset(offset);
-    return the_clone.Release();
+    return the_clone;
   }
 
   virtual bool IsAnimatableValueKeyframe() const { return false; }
diff --git a/third_party/WebKit/Source/core/animation/StringKeyframe.cpp b/third_party/WebKit/Source/core/animation/StringKeyframe.cpp
index 73db4fe..cbf1578 100644
--- a/third_party/WebKit/Source/core/animation/StringKeyframe.cpp
+++ b/third_party/WebKit/Source/core/animation/StringKeyframe.cpp
@@ -143,7 +143,7 @@
   RefPtr<CSSPropertySpecificKeyframe> clone =
       Create(offset, easing_, value_.Get(), composite_);
   clone->animatable_value_cache_ = animatable_value_cache_;
-  return clone.Release();
+  return clone;
 }
 
 PassRefPtr<Keyframe::PropertySpecificKeyframe>
diff --git a/third_party/WebKit/Source/core/css/BasicShapeFunctions.cpp b/third_party/WebKit/Source/core/css/BasicShapeFunctions.cpp
index a4b0dee..89237e97 100644
--- a/third_party/WebKit/Source/core/css/BasicShapeFunctions.cpp
+++ b/third_party/WebKit/Source/core/css/BasicShapeFunctions.cpp
@@ -355,7 +355,7 @@
     NOTREACHED();
   }
 
-  return basic_shape.Release();
+  return basic_shape;
 }
 
 FloatPoint FloatPointForCenterCoordinate(
diff --git a/third_party/WebKit/Source/core/css/CSSFontFace.cpp b/third_party/WebKit/Source/core/css/CSSFontFace.cpp
index 6e82893..6553a8f9 100644
--- a/third_party/WebKit/Source/core/css/CSSFontFace.cpp
+++ b/third_party/WebKit/Source/core/css/CSSFontFace.cpp
@@ -101,7 +101,7 @@
         SetLoadStatus(FontFace::kLoading);
       if (LoadStatus() == FontFace::kLoading && source->IsLoaded())
         SetLoadStatus(FontFace::kLoaded);
-      return result.Release();
+      return result;
     }
     sources_.pop_front();
   }
diff --git a/third_party/WebKit/Source/core/css/CSSGradientValue.cpp b/third_party/WebKit/Source/core/css/CSSGradientValue.cpp
index 51f84835..d975a98 100644
--- a/third_party/WebKit/Source/core/css/CSSGradientValue.cpp
+++ b/third_party/WebKit/Source/core/css/CSSGradientValue.cpp
@@ -153,7 +153,7 @@
   if (is_cacheable_)
     PutImage(size, new_image);
 
-  return new_image.Release();
+  return new_image;
 }
 
 // Should only ever be called for deprecated gradients.
@@ -1042,7 +1042,7 @@
   // Now add the stops.
   gradient->AddColorStops(desc.stops);
 
-  return gradient.Release();
+  return gradient;
 }
 
 bool CSSLinearGradientValue::Equals(const CSSLinearGradientValue& other) const {
@@ -1416,7 +1416,7 @@
   // Now add the stops.
   gradient->AddColorStops(desc.stops);
 
-  return gradient.Release();
+  return gradient;
 }
 
 bool CSSRadialGradientValue::Equals(const CSSRadialGradientValue& other) const {
@@ -1530,7 +1530,7 @@
       position, angle, Gradient::ColorInterpolation::kPremultiplied);
   gradient->AddColorStops(desc.stops);
 
-  return gradient.Release();
+  return gradient;
 }
 
 bool CSSConicGradientValue::Equals(const CSSConicGradientValue& other) const {
diff --git a/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp b/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
index 4ca94a7..3dd5beb 100644
--- a/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
+++ b/third_party/WebKit/Source/core/css/LocalFontFaceSource.cpp
@@ -22,7 +22,7 @@
   RefPtr<SimpleFontData> font_data = FontCache::GetFontCache()->GetFontData(
       font_description, font_name_, AlternateFontName::kLocalUniqueFace);
   histograms_.Record(font_data.Get());
-  return font_data.Release();
+  return font_data;
 }
 
 void LocalFontFaceSource::LocalFontHistograms::Record(bool load_success) {
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
index 9c63a14..8af5ec4 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
@@ -106,7 +106,7 @@
     reflection->SetMask(mask);
   }
 
-  return reflection.Release();
+  return reflection;
 }
 
 Color StyleBuilderConverter::ConvertColor(StyleResolverState& state,
@@ -1066,7 +1066,7 @@
       String end_quote = ToCSSStringValue(list.Item(i + 1)).Value();
       quotes->AddPair(std::make_pair(start_quote, end_quote));
     }
-    return quotes.Release();
+    return quotes;
   }
   DCHECK_EQ(ToCSSIdentifierValue(value).GetValueID(), CSSValueNone);
   return QuotesData::Create();
@@ -1199,7 +1199,7 @@
     array->push_back(ConvertLength(state, ToCSSPrimitiveValue(dashes.Item(i))));
   }
 
-  return array.Release();
+  return array;
 }
 
 StyleColor StyleBuilderConverter::ConvertStyleColor(StyleResolverState& state,
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
index aec4122..0d8fe07 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
@@ -583,7 +583,7 @@
 
   document.SetupFontBuilder(*document_style);
 
-  return document_style.Release();
+  return document_style;
 }
 
 void StyleResolver::AdjustComputedStyle(StyleResolverState& state,
@@ -676,7 +676,7 @@
       (default_parent || element_context.ParentStyle())) {
     if (RefPtr<ComputedStyle> shared_style =
             GetDocument().GetStyleEngine().FindSharedStyle(element_context))
-      return shared_style.Release();
+      return shared_style;
   }
 
   StyleResolverState state(GetDocument(), element_context, default_parent,
@@ -1057,7 +1057,7 @@
   font_builder.SetInitial(style->EffectiveZoom());
   font_builder.CreateFont(GetDocument().GetStyleEngine().FontSelector(),
                           *style);
-  return style.Release();
+  return style;
 }
 
 PassRefPtr<ComputedStyle> StyleResolver::StyleForText(Text* text_node) {
diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp
index 6468370..d2e018e 100644
--- a/third_party/WebKit/Source/core/dom/Element.cpp
+++ b/third_party/WebKit/Source/core/dom/Element.cpp
@@ -1920,7 +1920,7 @@
   style->UpdateIsStackingContext(this == GetDocument().documentElement(),
                                  IsInTopLayer());
 
-  return style.Release();
+  return style;
 }
 
 PassRefPtr<ComputedStyle> Element::OriginalStyleForLayoutObject() {
@@ -3527,7 +3527,7 @@
         GetDocument().EnsureStyleResolver().StyleForElement(
             this, parent_style, parent_style, kDisallowStyleSharing);
     result->SetStyleType(kPseudoIdFirstLineInherited);
-    return result.Release();
+    return result;
   }
 
   return GetDocument().EnsureStyleResolver().PseudoStyleForElement(
diff --git a/third_party/WebKit/Source/core/html/FormData.cpp b/third_party/WebKit/Source/core/html/FormData.cpp
index 8314c4ea..711df366 100644
--- a/third_party/WebKit/Source/core/html/FormData.cpp
+++ b/third_party/WebKit/Source/core/html/FormData.cpp
@@ -225,7 +225,7 @@
                         : entry->Value(),
         encoding_type);
   form_data->AppendData(encoded_data.data(), encoded_data.size());
-  return form_data.Release();
+  return form_data;
 }
 
 PassRefPtr<EncodedFormData> FormData::EncodeMultiPartFormData() {
@@ -301,7 +301,7 @@
   FormDataEncoder::AddBoundaryToMultiPartHeader(
       encoded_data, form_data->Boundary().data(), true);
   form_data->AppendData(encoded_data.data(), encoded_data.size());
-  return form_data.Release();
+  return form_data;
 }
 
 PairIterable<String, FormDataEntryValue>::IterationSource*
diff --git a/third_party/WebKit/Source/core/html/HTMLVideoElement.cpp b/third_party/WebKit/Source/core/html/HTMLVideoElement.cpp
index 6bc214b..8924dc7 100644
--- a/third_party/WebKit/Source/core/html/HTMLVideoElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLVideoElement.cpp
@@ -456,7 +456,7 @@
   }
 
   *status = kNormalSourceImageStatus;
-  return snapshot.Release();
+  return snapshot;
 }
 
 bool HTMLVideoElement::WouldTaintOrigin(
diff --git a/third_party/WebKit/Source/core/html/forms/DateTimeEditElement.cpp b/third_party/WebKit/Source/core/html/forms/DateTimeEditElement.cpp
index b18e798..d65efff3 100644
--- a/third_party/WebKit/Source/core/html/forms/DateTimeEditElement.cpp
+++ b/third_party/WebKit/Source/core/html/forms/DateTimeEditElement.cpp
@@ -588,7 +588,7 @@
   }
   style->SetWidth(Length(ceilf(width), kFixed));
   style->SetUnique();
-  return style.Release();
+  return style;
 }
 
 void DateTimeEditElement::DidBlurFromField(WebFocusType focus_type) {
diff --git a/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp b/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
index 9424aeec..f5c04df 100644
--- a/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
+++ b/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
@@ -350,7 +350,7 @@
   style->SetDirection(content_direction);
   style->SetDisplay(new_display);
   style->SetUnique();
-  return style.Release();
+  return style;
 }
 
 void MultipleFieldsTemporalInputTypeView::CreateShadowSubtree() {
diff --git a/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp b/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp
index 9a41b09..10f9c53 100644
--- a/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp
+++ b/third_party/WebKit/Source/core/html/forms/TextControlInnerElements.cpp
@@ -89,7 +89,7 @@
   style->SetUserModify(EUserModify::kReadOnly);
   style->SetUnique();
 
-  return style.Release();
+  return style;
 }
 
 // ---------------------------
@@ -146,7 +146,7 @@
   // Using StyleAdjuster::adjustComputedStyle updates unwanted style. We'd like
   // to apply only editing-related and alignment-related.
   StyleAdjuster::AdjustStyleForEditing(*inner_editor_style);
-  return inner_editor_style.Release();
+  return inner_editor_style;
 }
 
 // ----------------------------
diff --git a/third_party/WebKit/Source/core/imagebitmap/ImageBitmap.cpp b/third_party/WebKit/Source/core/imagebitmap/ImageBitmap.cpp
index 806d0ef..464bf4a 100644
--- a/third_party/WebKit/Source/core/imagebitmap/ImageBitmap.cpp
+++ b/third_party/WebKit/Source/core/imagebitmap/ImageBitmap.cpp
@@ -968,7 +968,7 @@
                                       : kUnpremul_SkAlphaType);
   RefPtr<Uint8Array> dst_pixels =
       CopySkImageData(image_->ImageForCurrentFrame(), info);
-  return dst_pixels.Release();
+  return dst_pixels;
 }
 
 unsigned long ImageBitmap::width() const {
diff --git a/third_party/WebKit/Source/core/layout/CollapsedBorderValue.h b/third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
index ee0f11f..e12541e 100644
--- a/third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
+++ b/third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
@@ -26,6 +26,7 @@
 #define CollapsedBorderValue_h
 
 #include "core/style/ComputedStyle.h"
+#include "platform/geometry/LayoutRect.h"
 #include "platform/wtf/Allocator.h"
 
 namespace blink {
@@ -176,6 +177,54 @@
   unsigned precedence_ : 3;  // EBorderPrecedence
 };
 
+// Holds 4 CollapsedBorderValue's for 4 sides of a table cell.
+// The logical directions 'start', 'end', 'before', 'after' are according to
+// the table's writing mode and direction.
+// TODO(crbug.com/128227,crbug.com/727173): The direction is incorrect in some
+// cases.
+class CollapsedBorderValues {
+  USING_FAST_MALLOC(CollapsedBorderValues);
+
+ public:
+  CollapsedBorderValues(const CollapsedBorderValue& start,
+                        const CollapsedBorderValue& end,
+                        const CollapsedBorderValue& before,
+                        const CollapsedBorderValue& after) {
+    borders_[0] = start;
+    borders_[1] = end;
+    borders_[2] = before;
+    borders_[3] = after;
+  }
+
+  const CollapsedBorderValue& StartBorder() const { return borders_[0]; }
+  const CollapsedBorderValue& EndBorder() const { return borders_[1]; }
+  const CollapsedBorderValue& BeforeBorder() const { return borders_[2]; }
+  const CollapsedBorderValue& AfterBorder() const { return borders_[3]; }
+
+  // Returns all borders. The caller should not assume that the returned
+  // borders are in any particular order.
+  const CollapsedBorderValue* Borders() const { return borders_; }
+
+  LayoutRect LocalVisualRect() const { return local_visual_rect_; }
+  void SetLocalVisualRect(const LayoutRect& r) { local_visual_rect_ = r; }
+
+  bool HasNonZeroWidthBorder() const {
+    return StartBorder().Width() || EndBorder().Width() ||
+           BeforeBorder().Width() || AfterBorder().Width();
+  }
+
+  bool VisuallyEquals(const CollapsedBorderValues& other) const {
+    return StartBorder().VisuallyEquals(other.StartBorder()) &&
+           EndBorder().VisuallyEquals(other.EndBorder()) &&
+           BeforeBorder().VisuallyEquals(other.BeforeBorder()) &&
+           AfterBorder().VisuallyEquals(other.AfterBorder());
+  }
+
+ private:
+  CollapsedBorderValue borders_[4];
+  LayoutRect local_visual_rect_;
+};
+
 }  // namespace blink
 
 #endif  // CollapsedBorderValue_h
diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.cpp b/third_party/WebKit/Source/core/layout/LayoutTable.cpp
index 485ef55..2047f1c 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTable.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutTable.cpp
@@ -61,6 +61,7 @@
       needs_adjust_collapsed_border_joints_(false),
       needs_invalidate_collapsed_borders_for_all_cells_(false),
       collapsed_outer_borders_valid_(false),
+      should_paint_all_collapsed_borders_(false),
       has_col_elements_(false),
       needs_section_recalc_(false),
       column_logical_width_changed_(false),
@@ -1466,18 +1467,16 @@
   collapsed_borders_valid_ = true;
   has_collapsed_borders_ = false;
   needs_adjust_collapsed_border_joints_ = false;
+  should_paint_all_collapsed_borders_ = false;
   if (!ShouldCollapseBorders())
     return;
 
   CollapsedBorderValue first_border;
   for (auto* section = TopSection(); section; section = SectionBelow(section)) {
+    bool section_may_be_composited = section->IsPaintInvalidationContainer();
     for (auto* row = section->FirstRow(); row; row = row->NextRow()) {
       for (auto* cell = row->FirstCell(); cell; cell = cell->NextCell()) {
         DCHECK_EQ(cell->Table(), this);
-        // The cell will update its collapsed border cache, and invalidate
-        // display item client if needed.
-        cell->EnsureIsReadyForPaintInvalidation();
-
         // Determine if there are any collapsed borders, and if so set
         // has_collapsed_borders_.
         const auto* values = cell->GetCollapsedBorderValues();
@@ -1500,6 +1499,18 @@
           }
         }
       }
+
+      // Collapsed borders should always be painted on the table's backing.
+      // If any row is not on the same composited layer as the table, the table
+      // should paint all collapsed borders.
+      if (has_collapsed_borders_ &&
+          (section_may_be_composited || row->IsPaintInvalidationContainer())) {
+        // Pass the row's paint invalidation flag to the table in case that the
+        // flag was set for collapsed borders.
+        if (row->ShouldDoFullPaintInvalidation())
+          SetShouldDoFullPaintInvalidation(PaintInvalidationReason::kStyle);
+        should_paint_all_collapsed_borders_ = true;
+      }
     }
   }
 }
@@ -1633,4 +1644,9 @@
   }
 }
 
+bool LayoutTable::PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const {
+  return LayoutBlock::PaintedOutputOfObjectHasNoEffectRegardlessOfSize() &&
+         !should_paint_all_collapsed_borders_;
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.h b/third_party/WebKit/Source/core/layout/LayoutTable.h
index 4a1af8f..bccb9b9 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTable.h
+++ b/third_party/WebKit/Source/core/layout/LayoutTable.h
@@ -29,7 +29,6 @@
 #include <memory>
 #include "core/CSSPropertyNames.h"
 #include "core/CoreExport.h"
-#include "core/layout/CollapsedBorderValue.h"
 #include "core/layout/LayoutBlock.h"
 #include "platform/wtf/Vector.h"
 
@@ -388,6 +387,18 @@
     return needs_adjust_collapsed_border_joints_;
   }
 
+  // Returns true if the table has collapsed borders and any row doesn't paint
+  // onto the same compositing layer as the table (which is rare), and the table
+  // will create one display item for all collapsed borders. Otherwise each row
+  // will create one display item for collapsed borders.
+  // It always returns false for SPv2.
+  bool ShouldPaintAllCollapsedBorders() const {
+    DCHECK(collapsed_borders_valid_);
+    if (RuntimeEnabledFeatures::SlimmingPaintV2Enabled())
+      DCHECK(!should_paint_all_collapsed_borders_);
+    return should_paint_all_collapsed_borders_;
+  }
+
   bool HasSections() const { return Header() || Footer() || FirstBody(); }
 
   void RecalcSectionsIfNeeded() const {
@@ -447,6 +458,7 @@
       const PaintInvalidationState&) override;
   PaintInvalidationReason InvalidatePaint(
       const PaintInvalidatorContext&) const override;
+  bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override;
 
  private:
   bool IsOfType(LayoutObjectType type) const override {
@@ -565,6 +577,8 @@
   bool needs_invalidate_collapsed_borders_for_all_cells_ : 1;
   mutable bool collapsed_outer_borders_valid_ : 1;
 
+  bool should_paint_all_collapsed_borders_ : 1;
+
   mutable bool has_col_elements_ : 1;
   mutable bool needs_section_recalc_ : 1;
 
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp b/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
index 297d797..fce3e6afa 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
@@ -61,7 +61,6 @@
       absolute_column_index_(kUnsetColumnIndex),
       cell_width_changed_(false),
       collapsed_border_values_valid_(false),
-      collapsed_borders_visually_changed_(false),
       intrinsic_padding_before_(0),
       intrinsic_padding_after_(0) {
   // We only update the flags when notified of DOM changes in
@@ -70,14 +69,6 @@
   UpdateColAndRowSpanFlags();
 }
 
-String LayoutTableCell::CollapsedBorderValues::DebugName() const {
-  return "CollapsedBorderValues";
-}
-
-LayoutRect LayoutTableCell::CollapsedBorderValues::VisualRect() const {
-  return cell_.Table()->VisualRect();
-}
-
 void LayoutTableCell::WillBeRemovedFromTree() {
   LayoutBlockFlow::WillBeRemovedFromTree();
 
@@ -453,13 +444,6 @@
   collapsed_border_values_->SetLocalVisualRect(rect);
 }
 
-LayoutRect LayoutTableCell::LocalVisualRect() const {
-  LayoutRect rect = SelfVisualOverflowRect();
-  if (collapsed_border_values_)
-    rect.Unite(collapsed_border_values_->LocalVisualRect());
-  return rect;
-}
-
 int LayoutTableCell::CellBaselinePosition() const {
   // <http://www.w3.org/TR/2007/CR-CSS21-20070719/tables.html#height-layout>:
   // The baseline of a cell is the baseline of the first in-flow line box in the
@@ -1234,56 +1218,41 @@
 }
 
 void LayoutTableCell::UpdateCollapsedBorderValues() const {
+  bool changed = false;
+
   if (!Table()->ShouldCollapseBorders()) {
     if (collapsed_border_values_) {
-      collapsed_borders_visually_changed_ = true;
+      changed = true;
       collapsed_border_values_ = nullptr;
     }
-    return;
-  }
+  } else {
+    Table()->InvalidateCollapsedBordersForAllCellsIfNeeded();
+    if (collapsed_border_values_valid_)
+      return;
 
-  Table()->InvalidateCollapsedBordersForAllCellsIfNeeded();
-  if (collapsed_border_values_valid_)
-    return;
+    collapsed_border_values_valid_ = true;
 
-  collapsed_border_values_valid_ = true;
+    auto new_values = WTF::MakeUnique<CollapsedBorderValues>(
+        ComputeCollapsedStartBorder(), ComputeCollapsedEndBorder(),
+        ComputeCollapsedBeforeBorder(), ComputeCollapsedAfterBorder());
 
-  CollapsedBorderValues new_values(
-      *this, ComputeCollapsedStartBorder(), ComputeCollapsedEndBorder(),
-      ComputeCollapsedBeforeBorder(), ComputeCollapsedAfterBorder());
-
-  // We need to save collapsed border if has a non-zero width even if it's
-  // invisible because the width affects table layout.
-  if (!new_values.StartBorder().Width() && !new_values.EndBorder().Width() &&
-      !new_values.BeforeBorder().Width() && !new_values.AfterBorder().Width()) {
-    if (collapsed_border_values_) {
-      collapsed_borders_visually_changed_ = true;
-      collapsed_border_values_ = nullptr;
+    // We need to save collapsed border if has a non-zero width even if it's
+    // invisible because the width affects table layout.
+    if (!new_values->HasNonZeroWidthBorder()) {
+      if (collapsed_border_values_) {
+        changed = true;
+        collapsed_border_values_ = nullptr;
+      }
+    } else if (!collapsed_border_values_ ||
+               !collapsed_border_values_->VisuallyEquals(*new_values)) {
+      changed = true;
+      collapsed_border_values_ = std::move(new_values);
     }
-    return;
   }
 
-  if (!collapsed_border_values_) {
-    collapsed_borders_visually_changed_ = true;
-    collapsed_border_values_ = WTF::WrapUnique(new CollapsedBorderValues(
-        *this, new_values.StartBorder(), new_values.EndBorder(),
-        new_values.BeforeBorder(), new_values.AfterBorder()));
-    return;
-  }
-
-  // We check VisuallyEquals so that the table cell is invalidated only if a
-  // changed collapsed border is visible in the first place.
-  if (!collapsed_border_values_->StartBorder().VisuallyEquals(
-          new_values.StartBorder()) ||
-      !collapsed_border_values_->EndBorder().VisuallyEquals(
-          new_values.EndBorder()) ||
-      !collapsed_border_values_->BeforeBorder().VisuallyEquals(
-          new_values.BeforeBorder()) ||
-      !collapsed_border_values_->AfterBorder().VisuallyEquals(
-          new_values.AfterBorder())) {
-    collapsed_border_values_->SetBorders(new_values);
-    collapsed_borders_visually_changed_ = true;
-  }
+  // Invalidate the row which will paint the collapsed borders.
+  if (changed)
+    Row()->SetShouldDoFullPaintInvalidation(PaintInvalidationReason::kStyle);
 }
 
 void LayoutTableCell::PaintBoxDecorationBackground(
@@ -1362,26 +1331,6 @@
   return LayoutBlockFlow::BackgroundIsKnownToBeOpaqueInRect(local_rect);
 }
 
-bool LayoutTableCell::UsesCompositedCellDisplayItemClients() const {
-  // In certain cases such as collapsed borders for composited table cells we
-  // paint content for the cell into the table graphics layer backing and so
-  // must use the table's visual rect.
-  return (HasLayer() && Layer()->GetCompositingState() != kNotComposited) ||
-         RuntimeEnabledFeatures::SlimmingPaintV2Enabled();
-}
-
-void LayoutTableCell::InvalidateDisplayItemClients(
-    PaintInvalidationReason reason) const {
-  LayoutBlockFlow::InvalidateDisplayItemClients(reason);
-
-  if (!UsesCompositedCellDisplayItemClients())
-    return;
-
-  ObjectPaintInvalidator invalidator(*this);
-  if (collapsed_border_values_)
-    invalidator.InvalidateDisplayItemClient(*collapsed_border_values_, reason);
-}
-
 // TODO(loonybear): Deliberately dump the "inner" box of table cells, since that
 // is what current results reflect.  We'd like to clean up the results to dump
 // both the outer box and the intrinsic padding so that both bits of information
@@ -1409,20 +1358,6 @@
   return LayoutBlock::HasLineIfEmpty();
 }
 
-void LayoutTableCell::EnsureIsReadyForPaintInvalidation() {
-  LayoutBlockFlow::EnsureIsReadyForPaintInvalidation();
-
-  UpdateCollapsedBorderValues();
-  // If collapsed borders changed, invalidate the cell's display item client on
-  // the table's backing.
-  if (collapsed_borders_visually_changed_) {
-    ObjectPaintInvalidator(*Table())
-        .SlowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(
-            *this, PaintInvalidationReason::kStyle);
-    collapsed_borders_visually_changed_ = false;
-  }
-}
-
 PaintInvalidationReason LayoutTableCell::InvalidatePaint(
     const PaintInvalidatorContext& context) const {
   return TableCellPaintInvalidator(*this, context).InvalidatePaint();
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCell.h b/third_party/WebKit/Source/core/layout/LayoutTableCell.h
index 1c0bf1dc..1c968b43 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTableCell.h
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.h
@@ -26,16 +26,17 @@
 #ifndef LayoutTableCell_h
 #define LayoutTableCell_h
 
+#include <memory>
 #include "core/CoreExport.h"
+#include "core/layout/CollapsedBorderValue.h"
 #include "core/layout/LayoutBlockFlow.h"
 #include "core/layout/LayoutTableRow.h"
 #include "core/layout/LayoutTableSection.h"
 #include "platform/LengthFunctions.h"
-#include <memory>
 
 namespace blink {
 
-#define BITS_OF_ABSOLUTE_COLUMN_INDEX 27
+#define BITS_OF_ABSOLUTE_COLUMN_INDEX 28
 static const unsigned kUnsetColumnIndex =
     (1u << BITS_OF_ABSOLUTE_COLUMN_INDEX) - 1;
 static const unsigned kMaxColumnIndex = kUnsetColumnIndex - 1;
@@ -289,52 +290,7 @@
   const char* GetName() const override { return "LayoutTableCell"; }
 
   bool BackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override;
-  void InvalidateDisplayItemClients(PaintInvalidationReason) const override;
-  void EnsureIsReadyForPaintInvalidation() override;
 
-  // TODO(wkorman): Consider renaming to more clearly differentiate from
-  // CollapsedBorderValue.
-  class CollapsedBorderValues : public DisplayItemClient {
-   public:
-    CollapsedBorderValues(const LayoutTableCell& cell,
-                          const CollapsedBorderValue& start,
-                          const CollapsedBorderValue& end,
-                          const CollapsedBorderValue& before,
-                          const CollapsedBorderValue& after)
-        : cell_(cell) {
-      borders_[0] = start;
-      borders_[1] = end;
-      borders_[2] = before;
-      borders_[3] = after;
-    }
-
-    const CollapsedBorderValue& StartBorder() const { return borders_[0]; }
-    const CollapsedBorderValue& EndBorder() const { return borders_[1]; }
-    const CollapsedBorderValue& BeforeBorder() const { return borders_[2]; }
-    const CollapsedBorderValue& AfterBorder() const { return borders_[3]; }
-
-    // Returns all borders. The caller should not assume that the returned
-    // borders are in any particular order.
-    const CollapsedBorderValue* Borders() const { return borders_; }
-
-    void SetBorders(const CollapsedBorderValues& other) {
-      std::copy(other.borders_, other.borders_ + 4, borders_);
-    }
-
-    // DisplayItemClient methods.
-    String DebugName() const;
-    LayoutRect VisualRect() const;
-
-    LayoutRect LocalVisualRect() const { return local_visual_rect_; }
-    void SetLocalVisualRect(const LayoutRect& r) { local_visual_rect_ = r; }
-
-   private:
-    const LayoutTableCell& cell_;
-    CollapsedBorderValue borders_[4];
-    LayoutRect local_visual_rect_;
-  };
-
-  bool UsesCompositedCellDisplayItemClients() const;
   const CollapsedBorderValues* GetCollapsedBorderValues() const {
     UpdateCollapsedBorderValues();
     return collapsed_border_values_.get();
@@ -431,7 +387,6 @@
 
   void ComputeOverflow(LayoutUnit old_client_after_edge,
                        bool recompute_floats = false) override;
-  LayoutRect LocalVisualRect() const override;
 
   unsigned CollapsedBorderHalfLeft(bool outer) const;
   unsigned CollapsedBorderHalfRight(bool outer) const;
@@ -503,9 +458,6 @@
 
   // This is set when collapsed_border_values_ needs recalculation.
   mutable unsigned collapsed_border_values_valid_ : 1;
-  // This is set by UpdateCollapsedBorderValues() if the newly calculated
-  // collapsed borders are visually different from the previous values.
-  mutable unsigned collapsed_borders_visually_changed_ : 1;
   mutable std::unique_ptr<CollapsedBorderValues> collapsed_border_values_;
 
   // The intrinsic padding.
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp b/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
index 07a57bc..1f2e1b1 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
@@ -245,7 +245,7 @@
   EXPECT_FALSE(HasEndBorderAdjoiningTable(cell32));
 }
 
-TEST_F(LayoutTableCellTest, LocalVisualRectWithCollapsedBorders) {
+TEST_F(LayoutTableCellTest, BorderWidthsWithCollapsedBorders) {
   SetBodyInnerHTML(
       "<style>"
       "  table { border-collapse: collapse }"
@@ -273,19 +273,23 @@
   EXPECT_EQ(2, cell2->BorderTop());
   EXPECT_EQ(1, cell2->BorderBottom());
 
-  LayoutRect expected_visual_rect1 = cell1->BorderBoxRect();
-  // Expand top, left for outline, right and bottom for collapsed border.
-  expected_visual_rect1.ExpandEdges(LayoutUnit(3), LayoutUnit(8), LayoutUnit(5),
-                                    LayoutUnit(3));
-  EXPECT_EQ(expected_visual_rect1, LocalVisualRect(cell1));
+  EXPECT_EQ(0u, cell1->CollapsedInnerBorderStart());
+  EXPECT_EQ(7u, cell1->CollapsedInnerBorderEnd());
+  EXPECT_EQ(0u, cell1->CollapsedInnerBorderBefore());
+  EXPECT_EQ(5u, cell1->CollapsedInnerBorderAfter());
+  EXPECT_EQ(8u, cell2->CollapsedInnerBorderStart());
+  EXPECT_EQ(7u, cell2->CollapsedInnerBorderEnd());
+  EXPECT_EQ(2u, cell2->CollapsedInnerBorderBefore());
+  EXPECT_EQ(1u, cell2->CollapsedInnerBorderAfter());
 
-  LayoutRect expected_visual_rect2 = cell2->BorderBoxRect();
-  // Expand outer half border width at each side. For the bottom side, expand
-  // more because the left border is lengthened to cover the joint with the
-  // bottom border of the cell to the left.
-  expected_visual_rect2.ExpandEdges(LayoutUnit(1), LayoutUnit(8), LayoutUnit(5),
-                                    LayoutUnit(7));
-  EXPECT_EQ(expected_visual_rect2, LocalVisualRect(cell2));
+  EXPECT_EQ(0u, cell1->CollapsedOuterBorderStart());
+  EXPECT_EQ(8u, cell1->CollapsedOuterBorderEnd());
+  EXPECT_EQ(0u, cell1->CollapsedOuterBorderBefore());
+  EXPECT_EQ(5u, cell1->CollapsedOuterBorderAfter());
+  EXPECT_EQ(7u, cell2->CollapsedOuterBorderStart());
+  EXPECT_EQ(8u, cell2->CollapsedOuterBorderEnd());
+  EXPECT_EQ(1u, cell2->CollapsedOuterBorderBefore());
+  EXPECT_EQ(2u, cell2->CollapsedOuterBorderAfter());
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp b/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
index 635a88a..36b6a76 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
@@ -333,4 +333,11 @@
   AddLayoutOverflow(cell_layout_overflow_rect);
 }
 
+bool LayoutTableRow::PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const {
+  return LayoutTableBoxComponent::
+             PaintedOutputOfObjectHasNoEffectRegardlessOfSize() &&
+         // Row paints collapsed borders.
+         !Table()->HasCollapsedBorders();
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableRow.h b/third_party/WebKit/Source/core/layout/LayoutTableRow.h
index 70475ff..0ee6ed5 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTableRow.h
+++ b/third_party/WebKit/Source/core/layout/LayoutTableRow.h
@@ -137,6 +137,7 @@
   bool BackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override {
     return false;
   }
+  bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override;
 
  private:
   void AddOverflowFromCell(const LayoutTableCell*);
diff --git a/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp b/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
index bba3053..6ac2791e 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutTextControlMultiLine.cpp
@@ -96,7 +96,7 @@
   text_block_style->SetDisplay(EDisplay::kBlock);
   text_block_style->SetUnique();
 
-  return text_block_style.Release();
+  return text_block_style;
 }
 
 LayoutObject* LayoutTextControlMultiLine::LayoutSpecialExcludedChild(
diff --git a/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp b/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
index 9c2f76a..c1cf80af 100644
--- a/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutTextControlSingleLine.cpp
@@ -345,7 +345,7 @@
   text_block_style->AddCachedPseudoStyle(no_scrollbar_style);
   text_block_style->SetHasPseudoStyle(kPseudoIdScrollbar);
 
-  return text_block_style.Release();
+  return text_block_style;
 }
 
 bool LayoutTextControlSingleLine::TextShouldBeTruncated() const {
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder_test.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder_test.cc
index 49323cc..5bd4a54 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder_test.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder_test.cc
@@ -16,7 +16,7 @@
 static PassRefPtr<ComputedStyle> CreateWhitespaceStyle(EWhiteSpace whitespace) {
   RefPtr<ComputedStyle> style(ComputedStyle::Create());
   style->SetWhiteSpace(whitespace);
-  return style.Release();
+  return style;
 }
 
 class NGInlineItemsBuilderTest : public ::testing::Test {
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceLinearGradient.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceLinearGradient.cpp
index 8b8fcb4e..314c422 100644
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceLinearGradient.cpp
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceLinearGradient.cpp
@@ -59,7 +59,7 @@
       PlatformSpreadMethodFromSVGType(attributes.SpreadMethod()),
       Gradient::ColorInterpolation::kUnpremultiplied);
   gradient->AddColorStops(attributes.Stops());
-  return gradient.Release();
+  return gradient;
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceRadialGradient.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceRadialGradient.cpp
index 77ee07b4..5d44547 100644
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceRadialGradient.cpp
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceRadialGradient.cpp
@@ -73,7 +73,7 @@
       PlatformSpreadMethodFromSVGType(attributes.SpreadMethod()),
       Gradient::ColorInterpolation::kUnpremultiplied);
   gradient->AddColorStops(attributes.Stops());
-  return gradient.Release();
+  return gradient;
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp b/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
index 6629826..f1eeb0e 100644
--- a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
+++ b/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
@@ -130,7 +130,7 @@
   } else {
     *status = kNormalSourceImageStatus;
   }
-  return image.Release();
+  return image;
 }
 
 IntSize OffscreenCanvas::BitmapSourceSize() const {
diff --git a/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp b/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
index 88eb5dc3..ded4113 100644
--- a/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
@@ -5,7 +5,6 @@
 #include "core/paint/CollapsedBorderPainter.h"
 
 #include "core/paint/BlockPainter.h"
-#include "core/paint/LayoutObjectDrawingRecorder.h"
 #include "core/paint/ObjectPainter.h"
 #include "core/paint/PaintInfo.h"
 
@@ -102,7 +101,7 @@
   }
 }
 
-static const LayoutTableCell::CollapsedBorderValues* GetCollapsedBorderValues(
+static const CollapsedBorderValues* GetCollapsedBorderValues(
     const LayoutTableCell* cell) {
   return cell ? cell->GetCollapsedBorderValues() : nullptr;
 }
@@ -321,16 +320,6 @@
   return style;
 }
 
-const DisplayItemClient& CollapsedBorderPainter::DisplayItemClientForBorders()
-    const {
-  // TODO(wkorman): We may need to handle PaintInvalidationDelayedFull.
-  // http://crbug.com/657186
-  return cell_.UsesCompositedCellDisplayItemClients()
-             ? static_cast<const DisplayItemClient&>(
-                   *cell_.GetCollapsedBorderValues())
-             : cell_;
-}
-
 void CollapsedBorderPainter::PaintCollapsedBorders(
     const PaintInfo& paint_info,
     const LayoutPoint& paint_offset) {
@@ -341,10 +330,6 @@
     return;
 
   GraphicsContext& context = paint_info.context;
-  const DisplayItemClient& client = DisplayItemClientForBorders();
-  if (DrawingRecorder::UseCachedDrawingIfPossible(
-          context, client, DisplayItem::kTableCollapsedBorders))
-    return;
 
   SetupBorders();
   if (table_.NeedsAdjustCollapsedBorderJoints())
@@ -359,8 +344,6 @@
   IntRect paint_rect = rect;
   paint_rect.Expand(IntRectOutsets(before_.outer_width, end_.outer_width,
                                    after_.outer_width, start_.outer_width));
-  DrawingRecorder recorder(context, client, DisplayItem::kTableCollapsedBorders,
-                           paint_rect);
 
   // We never paint diagonals at the joins.  We simply let the border with the
   // highest precedence paint on top of borders with lower precedence.
diff --git a/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h b/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
index f09c55a..a6d1346 100644
--- a/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
+++ b/third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
@@ -24,8 +24,6 @@
   void PaintCollapsedBorders(const PaintInfo&, const LayoutPoint&);
 
  private:
-  const DisplayItemClient& DisplayItemClientForBorders() const;
-
   void SetupBorders();
   void AdjustJoints();
   void AdjustForWritingModeAndDirection();
diff --git a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
index f0ad088..650a4e3 100644
--- a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
+++ b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
@@ -16,24 +16,66 @@
 
 namespace blink {
 
+void TableCellPaintInvalidator::InvalidateContainerForCellGeometryChange(
+    const LayoutObject& container,
+    const PaintInvalidatorContext* container_context) {
+  // We only need to do this if the container hasn't been fully invalidated.
+  DCHECK(
+      !IsFullPaintInvalidationReason(container.GetPaintInvalidationReason()));
+
+  // At this time we have already walked the container for paint invalidation,
+  // so we should invalidate the container immediately here instead of setting
+  // paint invalidation flags.
+  ObjectPaintInvalidator invalidator(container);
+  if (!container_context) {
+    DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled());
+    ObjectPaintInvalidator(container).InvalidatePaintRectangle(
+        container.LocalVisualRect(), nullptr);
+    return;
+  }
+
+  container_context->painting_layer->SetNeedsRepaint();
+  container.InvalidateDisplayItemClients(PaintInvalidationReason::kGeometry);
+
+  if (!RuntimeEnabledFeatures::SlimmingPaintV2Enabled() &&
+      context_.paint_invalidation_container !=
+          container_context->paint_invalidation_container) {
+    ObjectPaintInvalidatorWithContext(container, *container_context)
+        .InvalidatePaintRectangleWithContext(
+            container.VisualRect(), PaintInvalidationReason::kGeometry);
+  }
+}
+
 PaintInvalidationReason TableCellPaintInvalidator::InvalidatePaint() {
-  // The cell's containing row and section paint backgrounds behind the cell.
-  // If the cell's geometry changed, invalidate the background display items.
+  // The cell's containing row and section paint backgrounds behind the cell,
+  // and the row or table paints collapsed borders. If the cell's geometry
+  // changed and the containers which will paint backgrounds and/or collapsed
+  // borders haven't been full invalidated, invalidate the containers.
   if (context_.old_location != context_.new_location ||
       cell_.Size() != cell_.PreviousSize()) {
     const auto& row = *cell_.Row();
-    if (row.GetPaintInvalidationReason() == PaintInvalidationReason::kNone &&
-        row.StyleRef().HasBackground()) {
-      if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled())
-        context_.parent_context->painting_layer->SetNeedsRepaint();
-      else
-        ObjectPaintInvalidator(row).SlowSetPaintingLayerNeedsRepaint();
-      row.InvalidateDisplayItemClients(PaintInvalidationReason::kGeometry);
+    const auto& section = *row.Section();
+    const auto& table = *section.Table();
+    if (!IsFullPaintInvalidationReason(row.GetPaintInvalidationReason()) &&
+        (row.StyleRef().HasBackground() ||
+         (table.HasCollapsedBorders() &&
+          LIKELY(!table.ShouldPaintAllCollapsedBorders())))) {
+      InvalidateContainerForCellGeometryChange(
+          row, RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()
+                   ? context_.parent_context
+                   : nullptr);
     }
 
-    const auto& section = *row.Section();
-    if (section.GetPaintInvalidationReason() ==
-        PaintInvalidationReason::kNone) {
+    if (UNLIKELY(table.ShouldPaintAllCollapsedBorders()) &&
+        !IsFullPaintInvalidationReason(table.GetPaintInvalidationReason())) {
+      DCHECK(table.HasCollapsedBorders());
+      InvalidateContainerForCellGeometryChange(
+          table, RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()
+                     ? context_.parent_context->parent_context->parent_context
+                     : nullptr);
+    }
+
+    if (!IsFullPaintInvalidationReason(section.GetPaintInvalidationReason())) {
       bool section_paints_background = section.StyleRef().HasBackground();
       if (!section_paints_background) {
         auto col_and_colgroup = section.Table()->ColElementAtAbsoluteColumn(
@@ -45,14 +87,10 @@
           section_paints_background = true;
       }
       if (section_paints_background) {
-        if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) {
-          context_.parent_context->parent_context->painting_layer
-              ->SetNeedsRepaint();
-        } else {
-          ObjectPaintInvalidator(section).SlowSetPaintingLayerNeedsRepaint();
-        }
-        section.InvalidateDisplayItemClients(
-            PaintInvalidationReason::kGeometry);
+        InvalidateContainerForCellGeometryChange(
+            section, RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()
+                         ? context_.parent_context->parent_context
+                         : nullptr);
       }
     }
   }
diff --git a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
index d47b582..34bf286f 100644
--- a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
+++ b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
@@ -10,6 +10,7 @@
 
 namespace blink {
 
+class LayoutObject;
 class LayoutTableCell;
 struct PaintInvalidatorContext;
 
@@ -24,6 +25,10 @@
   PaintInvalidationReason InvalidatePaint();
 
  private:
+  void InvalidateContainerForCellGeometryChange(
+      const LayoutObject& container,
+      const PaintInvalidatorContext* container_context);
+
   const LayoutTableCell& cell_;
   const PaintInvalidatorContext& context_;
 };
diff --git a/third_party/WebKit/Source/core/paint/TableCellPainter.h b/third_party/WebKit/Source/core/paint/TableCellPainter.h
index 0a34d766..a2c4c0a7 100644
--- a/third_party/WebKit/Source/core/paint/TableCellPainter.h
+++ b/third_party/WebKit/Source/core/paint/TableCellPainter.h
@@ -34,7 +34,6 @@
   void PaintMask(const PaintInfo&, const LayoutPoint& paint_offset);
 
  private:
-  const DisplayItemClient& DisplayItemClientForBorders() const;
   LayoutRect PaintRectNotIncludingVisualOverflow(
       const LayoutPoint& paint_offset);
   void PaintBackground(const PaintInfo&,
diff --git a/third_party/WebKit/Source/core/paint/TablePainter.cpp b/third_party/WebKit/Source/core/paint/TablePainter.cpp
index 48995913..a254a7e 100644
--- a/third_party/WebKit/Source/core/paint/TablePainter.cpp
+++ b/third_party/WebKit/Source/core/paint/TablePainter.cpp
@@ -47,13 +47,7 @@
     if (layout_table_.HasCollapsedBorders() &&
         ShouldPaintDescendantBlockBackgrounds(paint_phase) &&
         layout_table_.Style()->Visibility() == EVisibility::kVisible) {
-      for (LayoutTableSection* section = layout_table_.BottomSection(); section;
-           section = layout_table_.SectionAbove(section)) {
-        LayoutPoint child_point =
-            layout_table_.FlipForWritingModeForChild(section, paint_offset);
-        TableSectionPainter(*section).PaintCollapsedBorders(
-            paint_info_for_descendants, child_point);
-      }
+      PaintCollapsedBorders(paint_info_for_descendants, paint_offset);
     }
   }
 
@@ -92,4 +86,27 @@
   BoxPainter(layout_table_).PaintMaskImages(paint_info, rect);
 }
 
+void TablePainter::PaintCollapsedBorders(const PaintInfo& paint_info,
+                                         const LayoutPoint& paint_offset) {
+  Optional<LayoutObjectDrawingRecorder> recorder;
+  if (UNLIKELY(layout_table_.ShouldPaintAllCollapsedBorders())) {
+    if (DrawingRecorder::UseCachedDrawingIfPossible(
+            paint_info.context, layout_table_,
+            DisplayItem::kTableCollapsedBorders))
+      return;
+    recorder.emplace(paint_info.context, layout_table_,
+                     DisplayItem::kTableCollapsedBorders,
+                     LayoutRect(paint_offset, layout_table_.Size()));
+  }
+  // Otherwise each rows will create its own recorder.
+
+  for (LayoutTableSection* section = layout_table_.BottomSection(); section;
+       section = layout_table_.SectionAbove(section)) {
+    LayoutPoint child_point =
+        layout_table_.FlipForWritingModeForChild(section, paint_offset);
+    TableSectionPainter(*section).PaintCollapsedBorders(paint_info,
+                                                        child_point);
+  }
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/paint/TablePainter.h b/third_party/WebKit/Source/core/paint/TablePainter.h
index 2ba93e7..ccf85aa 100644
--- a/third_party/WebKit/Source/core/paint/TablePainter.h
+++ b/third_party/WebKit/Source/core/paint/TablePainter.h
@@ -24,6 +24,8 @@
   void PaintMask(const PaintInfo&, const LayoutPoint&);
 
  private:
+  void PaintCollapsedBorders(const PaintInfo&, const LayoutPoint&);
+
   const LayoutTable& layout_table_;
 };
 
diff --git a/third_party/WebKit/Source/core/paint/TablePainterTest.cpp b/third_party/WebKit/Source/core/paint/TablePainterTest.cpp
index 3128ae3..33661b3 100644
--- a/third_party/WebKit/Source/core/paint/TablePainterTest.cpp
+++ b/third_party/WebKit/Source/core/paint/TablePainterTest.cpp
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "core/layout/LayoutTable.h"
+#include "core/layout/LayoutTableCell.h"
 #include "core/paint/PaintControllerPaintTest.h"
 #include "core/paint/PaintLayerPainter.h"
 
@@ -173,7 +175,7 @@
       "</table>");
 
   LayoutView& layout_view = *GetDocument().GetLayoutView();
-  LayoutObject& cell = *GetLayoutObjectByElementId("cell");
+  auto& cell = *ToLayoutTableCell(GetLayoutObjectByElementId("cell"));
 
   RootPaintController().InvalidateAll();
   GetDocument().View()->UpdateAllLifecyclePhasesExceptPaint();
@@ -186,7 +188,7 @@
       RootPaintController().GetDisplayItemList(), 4,
       TestDisplayItem(layout_view, DisplayItem::kDocumentBackground),
       TestDisplayItem(cell, DisplayItem::kBoxDecorationBackground),
-      TestDisplayItem(cell, DisplayItem::kTableCollapsedBorders),
+      TestDisplayItem(*cell.Row(), DisplayItem::kTableCollapsedBorders),
       TestDisplayItem(cell, DisplayItem::PaintPhaseToDrawingType(
                                 kPaintPhaseSelfOutlineOnly)));
 }
diff --git a/third_party/WebKit/Source/core/paint/TableRowPainter.cpp b/third_party/WebKit/Source/core/paint/TableRowPainter.cpp
index a34d901..633ea2e 100644
--- a/third_party/WebKit/Source/core/paint/TableRowPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/TableRowPainter.cpp
@@ -7,6 +7,7 @@
 #include "core/layout/LayoutTableCell.h"
 #include "core/layout/LayoutTableRow.h"
 #include "core/paint/BoxPainter.h"
+#include "core/paint/CollapsedBorderPainter.h"
 #include "core/paint/LayoutObjectDrawingRecorder.h"
 #include "core/paint/ObjectPainter.h"
 #include "core/paint/PaintInfo.h"
@@ -123,4 +124,37 @@
       paint_info, cell_point, layout_table_row_);
 }
 
+void TableRowPainter::PaintCollapsedBorders(const PaintInfo& paint_info,
+                                            const LayoutPoint& paint_offset,
+                                            const CellSpan& dirtied_columns) {
+  Optional<LayoutObjectDrawingRecorder> recorder;
+
+  if (LIKELY(!layout_table_row_.Table()->ShouldPaintAllCollapsedBorders())) {
+    if (DrawingRecorder::UseCachedDrawingIfPossible(
+            paint_info.context, layout_table_row_,
+            DisplayItem::kTableCollapsedBorders))
+      return;
+
+    LayoutRect bounds =
+        BoxPainter(layout_table_row_)
+            .BoundsForDrawingRecorder(
+                paint_info, paint_offset + layout_table_row_.Location());
+    recorder.emplace(paint_info.context, layout_table_row_,
+                     DisplayItem::kTableCollapsedBorders, bounds);
+  }
+  // Otherwise TablePainter should have created the drawing recorder.
+
+  const auto* section = layout_table_row_.Section();
+  unsigned row = layout_table_row_.RowIndex();
+  for (unsigned c = std::min(dirtied_columns.End(), section->NumCols(row));
+       c > dirtied_columns.Start(); c--) {
+    if (const auto* cell = section->OriginatingCellAt(row, c - 1)) {
+      LayoutPoint cell_point =
+          section->FlipForWritingModeForChild(cell, paint_offset);
+      CollapsedBorderPainter(*cell).PaintCollapsedBorders(paint_info,
+                                                          cell_point);
+    }
+  }
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/paint/TableRowPainter.h b/third_party/WebKit/Source/core/paint/TableRowPainter.h
index db6b2ab..142776dd 100644
--- a/third_party/WebKit/Source/core/paint/TableRowPainter.h
+++ b/third_party/WebKit/Source/core/paint/TableRowPainter.h
@@ -28,6 +28,9 @@
   void PaintBoxDecorationBackground(const PaintInfo&,
                                     const LayoutPoint&,
                                     const CellSpan& dirtied_columns);
+  void PaintCollapsedBorders(const PaintInfo&,
+                             const LayoutPoint&,
+                             const CellSpan& dirtied_columns);
 
  private:
   void PaintBackgroundBehindCell(const LayoutTableCell&,
diff --git a/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp b/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
index 97f18205..08cf221 100644
--- a/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
@@ -144,8 +144,15 @@
 
   CellSpan dirtied_rows;
   CellSpan dirtied_columns;
-  layout_table_section_.DirtiedRowsAndEffectiveColumns(
-      table_aligned_rect, dirtied_rows, dirtied_columns);
+  if (UNLIKELY(
+          layout_table_section_.Table()->ShouldPaintAllCollapsedBorders())) {
+    // Ignore paint cull rect to simplify paint invalidation in such rare case.
+    dirtied_rows = layout_table_section_.FullSectionRowSpan();
+    dirtied_columns = layout_table_section_.FullTableEffectiveColumnSpan();
+  } else {
+    layout_table_section_.DirtiedRowsAndEffectiveColumns(
+        table_aligned_rect, dirtied_rows, dirtied_columns);
+  }
 
   if (dirtied_columns.Start() >= dirtied_columns.End())
     return;
@@ -153,19 +160,9 @@
   // Collapsed borders are painted from the bottom right to the top left so that
   // precedence due to cell position is respected.
   for (unsigned r = dirtied_rows.End(); r > dirtied_rows.Start(); r--) {
-    unsigned row = r - 1;
-    unsigned n_cols = layout_table_section_.NumCols(row);
-    for (unsigned c = std::min(dirtied_columns.End(), n_cols);
-         c > dirtied_columns.Start(); c--) {
-      unsigned col = c - 1;
-      if (const LayoutTableCell* cell =
-              layout_table_section_.OriginatingCellAt(row, col)) {
-        LayoutPoint cell_point =
-            layout_table_section_.FlipForWritingModeForChild(
-                cell, adjusted_paint_offset);
-        CollapsedBorderPainter(*cell).PaintCollapsedBorders(paint_info,
-                                                            cell_point);
-      }
+    if (const auto* row = layout_table_section_.RowLayoutObjectAt(r - 1)) {
+      TableRowPainter(*row).PaintCollapsedBorders(
+          paint_info, adjusted_paint_offset, dirtied_columns);
     }
   }
 }
diff --git a/third_party/WebKit/Source/core/style/BasicShapes.cpp b/third_party/WebKit/Source/core/style/BasicShapes.cpp
index cc594c3..c4124aea 100644
--- a/third_party/WebKit/Source/core/style/BasicShapes.cpp
+++ b/third_party/WebKit/Source/core/style/BasicShapes.cpp
@@ -115,7 +115,7 @@
   result->SetCenterX(center_x_.Blend(o->CenterX(), progress));
   result->SetCenterY(center_y_.Blend(o->CenterY(), progress));
   result->SetRadius(radius_.Blend(o->Radius(), progress));
-  return result.Release();
+  return result;
 }
 
 bool BasicShapeEllipse::operator==(const BasicShape& o) const {
@@ -175,7 +175,7 @@
   result->SetCenterY(center_y_.Blend(o->CenterY(), progress));
   result->SetRadiusX(radius_x_.Blend(o->RadiusX(), progress));
   result->SetRadiusY(radius_y_.Blend(o->RadiusY(), progress));
-  return result.Release();
+  return result;
 }
 
 void BasicShapePolygon::GetPath(Path& path, const FloatRect& bounding_box) {
@@ -213,7 +213,7 @@
   size_t length = values_.size();
   RefPtr<BasicShapePolygon> result = BasicShapePolygon::Create();
   if (!length)
-    return result.Release();
+    return result;
 
   result->SetWindRule(o->GetWindRule());
 
@@ -224,7 +224,7 @@
                                 kValueRangeAll));
   }
 
-  return result.Release();
+  return result;
 }
 
 bool BasicShapePolygon::operator==(const BasicShape& o) const {
@@ -294,7 +294,7 @@
   result->SetBottomLeftRadius(BlendLengthSize(
       bottom_left_radius_, other_inset.BottomLeftRadius(), progress));
 
-  return result.Release();
+  return result;
 }
 
 bool BasicShapeInset::operator==(const BasicShape& o) const {
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.h b/third_party/WebKit/Source/core/style/ComputedStyle.h
index 55a2d1e..61032b42 100644
--- a/third_party/WebKit/Source/core/style/ComputedStyle.h
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.h
@@ -83,40 +83,6 @@
 #include "platform/wtf/Vector.h"
 #include "platform/wtf/text/AtomicString.h"
 
-template <typename T, typename U>
-inline bool compareEqual(const T& t, const U& u) {
-  return t == static_cast<T>(u);
-}
-
-template <typename T>
-inline bool compareEqual(const T& a, const T& b) {
-  return a == b;
-}
-
-#define SET_VAR(group, variable, value)      \
-  if (!compareEqual(group->variable, value)) \
-  group.Access()->variable = value
-
-#define SET_NESTED_VAR(group, base, variable, value) \
-  if (!compareEqual(group->base->variable, value))   \
-  group.Access()->base.Access()->variable = value
-
-#define SET_VAR_WITH_SETTER(group, getter, setter, value) \
-  if (!compareEqual(group->getter(), value))              \
-  group.Access()->setter(value)
-
-#define SET_BORDERVALUE_COLOR(group, variable, value)   \
-  if (!compareEqual(group->variable.GetColor(), value)) \
-  group.Access()->variable.SetColor(value)
-
-#define SET_BORDER_WIDTH(group, variable, value) \
-  if (!group->variable.WidthEquals(value))       \
-  group.Access()->variable.SetWidth(value)
-
-#define SET_NESTED_BORDER_WIDTH(group, base, variable, value) \
-  if (!group->base->variable.WidthEquals(value))              \
-  group.Access()->base.Access()->variable.SetWidth(value)
-
 namespace blink {
 
 using std::max;
@@ -483,7 +449,7 @@
   // Border color properties.
   // border-left-color
   void SetBorderLeftColor(const StyleColor& color) {
-    if (!compareEqual(BorderLeftColor(), color)) {
+    if (BorderLeftColor() != color) {
       SetBorderLeftColorInternal(color.Resolve(Color()));
       SetBorderLeftColorIsCurrentColor(color.IsCurrentColor());
     }
@@ -491,7 +457,7 @@
 
   // border-right-color
   void SetBorderRightColor(const StyleColor& color) {
-    if (!compareEqual(BorderRightColor(), color)) {
+    if (BorderRightColor() != color) {
       SetBorderRightColorInternal(color.Resolve(Color()));
       SetBorderRightColorIsCurrentColor(color.IsCurrentColor());
     }
@@ -499,7 +465,7 @@
 
   // border-top-color
   void SetBorderTopColor(const StyleColor& color) {
-    if (!compareEqual(BorderTopColor(), color)) {
+    if (BorderTopColor() != color) {
       SetBorderTopColorInternal(color.Resolve(Color()));
       SetBorderTopColorIsCurrentColor(color.IsCurrentColor());
     }
@@ -507,7 +473,7 @@
 
   // border-bottom-color
   void SetBorderBottomColor(const StyleColor& color) {
-    if (!compareEqual(BorderBottomColor(), color)) {
+    if (BorderBottomColor() != color) {
       SetBorderBottomColorInternal(color.Resolve(Color()));
       SetBorderBottomColorIsCurrentColor(color.IsCurrentColor());
     }
@@ -562,7 +528,7 @@
 
   // column-rule-color (aka -webkit-column-rule-color)
   void SetColumnRuleColor(const StyleColor& c) {
-    if (!compareEqual(ColumnRuleColor(), c)) {
+    if (ColumnRuleColor() != c) {
       SetColumnRuleColorInternal(c.Resolve(Color()));
       SetColumnRuleColorIsCurrentColor(c.IsCurrentColor());
     }
@@ -682,7 +648,7 @@
 
   // outline-color
   void SetOutlineColor(const StyleColor& v) {
-    if (!compareEqual(OutlineColor(), v)) {
+    if (OutlineColor() != v) {
       SetOutlineColorInternal(v.Resolve(Color()));
       SetOutlineColorIsCurrentColor(v.IsCurrentColor());
     }
@@ -2647,7 +2613,7 @@
 }
 
 inline bool ComputedStyle::SetZoom(float f) {
-  if (compareEqual(ZoomInternal(), f))
+  if (ZoomInternal() == f)
     return false;
   SetZoomInternal(f);
   SetEffectiveZoom(EffectiveZoom() * Zoom());
@@ -2658,7 +2624,7 @@
   // Clamp the effective zoom value to a smaller (but hopeful still large
   // enough) range, to avoid overflow in derived computations.
   float clamped_effective_zoom = clampTo<float>(f, 1e-6, 1e6);
-  if (compareEqual(EffectiveZoomInternal(), clamped_effective_zoom))
+  if (EffectiveZoomInternal() == clamped_effective_zoom)
     return false;
   SetEffectiveZoomInternal(clamped_effective_zoom);
   return true;
diff --git a/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp b/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
index 725a69e..5079797 100644
--- a/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
+++ b/third_party/WebKit/Source/core/workers/ThreadedWorkletTest.cpp
@@ -70,7 +70,7 @@
         SecurityOrigin::Create(startup_data->script_url_);
     return new ThreadedWorkletGlobalScope(
         startup_data->script_url_, startup_data->user_agent_,
-        security_origin.Release(), this->GetIsolate(), this,
+        std::move(security_origin), this->GetIsolate(), this,
         startup_data->worker_clients_);
   }
 
diff --git a/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp b/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
index 15030be6..6d9d8267 100644
--- a/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
+++ b/third_party/WebKit/Source/modules/credentialmanager/PasswordCredential.cpp
@@ -179,7 +179,7 @@
   RefPtr<EncodedFormData> encoded_data = form_data->EncodeMultiPartFormData();
   content_type = AtomicString("multipart/form-data; boundary=") +
                  encoded_data->Boundary().data();
-  return encoded_data.Release();
+  return encoded_data;
 }
 
 DEFINE_TRACE(PasswordCredential) {
diff --git a/third_party/WebKit/Source/modules/fetch/BlobBytesConsumer.cpp b/third_party/WebKit/Source/modules/fetch/BlobBytesConsumer.cpp
index cb3e6b530..76a1dde0 100644
--- a/third_party/WebKit/Source/modules/fetch/BlobBytesConsumer.cpp
+++ b/third_party/WebKit/Source/modules/fetch/BlobBytesConsumer.cpp
@@ -137,7 +137,7 @@
     return nullptr;
   RefPtr<EncodedFormData> form_data = EncodedFormData::Create();
   form_data->AppendBlob(handle->Uuid(), handle);
-  return form_data.Release();
+  return form_data;
 }
 
 void BlobBytesConsumer::SetClient(BytesConsumer::Client* client) {
diff --git a/third_party/WebKit/Source/modules/fetch/BodyStreamBuffer.cpp b/third_party/WebKit/Source/modules/fetch/BodyStreamBuffer.cpp
index a35e4ab..68edd50 100644
--- a/third_party/WebKit/Source/modules/fetch/BodyStreamBuffer.cpp
+++ b/third_party/WebKit/Source/modules/fetch/BodyStreamBuffer.cpp
@@ -149,7 +149,7 @@
       consumer_->DrainAsBlobDataHandle(policy);
   if (blob_data_handle) {
     CloseAndLockAndDisturb();
-    return blob_data_handle.Release();
+    return blob_data_handle;
   }
   return nullptr;
 }
@@ -166,7 +166,7 @@
   RefPtr<EncodedFormData> form_data = consumer_->DrainAsFormData();
   if (form_data) {
     CloseAndLockAndDisturb();
-    return form_data.Release();
+    return form_data;
   }
   return nullptr;
 }
diff --git a/third_party/WebKit/Source/modules/fetch/BytesConsumerTest.cpp b/third_party/WebKit/Source/modules/fetch/BytesConsumerTest.cpp
index 4c7bb38..c4b5627 100644
--- a/third_party/WebKit/Source/modules/fetch/BytesConsumerTest.cpp
+++ b/third_party/WebKit/Source/modules/fetch/BytesConsumerTest.cpp
@@ -73,7 +73,7 @@
         blob_handle_->size() == UINT64_MAX)
       return nullptr;
     state_ = PublicState::kClosed;
-    return blob_handle_.Release();
+    return std::move(blob_handle_);
   }
 
   void SetClient(Client*) override {}
diff --git a/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumer.cpp b/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumer.cpp
index 3468b7b..64f687e3 100644
--- a/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumer.cpp
+++ b/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumer.cpp
@@ -177,7 +177,7 @@
         blob_bytes_consumer_->DrainAsBlobDataHandle(policy);
     if (handle)
       form_data_ = nullptr;
-    return handle.Release();
+    return handle;
   }
   PassRefPtr<EncodedFormData> DrainAsFormData() override {
     if (!form_data_)
diff --git a/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumerTest.cpp b/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumerTest.cpp
index a3191ac..e0642f9 100644
--- a/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumerTest.cpp
+++ b/third_party/WebKit/Source/modules/fetch/FormDataBytesConsumerTest.cpp
@@ -48,7 +48,7 @@
   Vector<char> boundary;
   boundary.Append("\0", 1);
   data->SetBoundary(boundary);
-  return data.Release();
+  return data;
 }
 
 class NoopClient final : public GarbageCollectedFinalized<NoopClient>,
diff --git a/third_party/WebKit/Source/platform/SharedBuffer.cpp b/third_party/WebKit/Source/platform/SharedBuffer.cpp
index 548af9c..a7cc14c 100644
--- a/third_party/WebKit/Source/platform/SharedBuffer.cpp
+++ b/third_party/WebKit/Source/platform/SharedBuffer.cpp
@@ -69,7 +69,7 @@
   RefPtr<SharedBuffer> buffer = Create();
   buffer->buffer_.swap(vector);
   buffer->size_ = buffer->buffer_.size();
-  return buffer.Release();
+  return buffer;
 }
 
 size_t SharedBuffer::size() const {
diff --git a/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp b/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp
index c9b0437..e3fb7c75 100644
--- a/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp
+++ b/third_party/WebKit/Source/platform/audio/HRTFDatabaseLoader.cpp
@@ -53,13 +53,13 @@
   RefPtr<HRTFDatabaseLoader> loader = GetLoaderMap().at(sample_rate);
   if (loader) {
     DCHECK_EQ(sample_rate, loader->DatabaseSampleRate());
-    return loader.Release();
+    return loader;
   }
 
   loader = AdoptRef(new HRTFDatabaseLoader(sample_rate));
   GetLoaderMap().insert(sample_rate, loader.Get());
   loader->LoadAsynchronously();
-  return loader.Release();
+  return loader;
 }
 
 HRTFDatabaseLoader::HRTFDatabaseLoader(float sample_rate)
diff --git a/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp b/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
index 25e0608..5f1fa38 100644
--- a/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
+++ b/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
@@ -157,7 +157,7 @@
     RefPtr<DOMWrapperWorld> world = it->value;
     DCHECK(world->IsIsolatedWorld());
     DCHECK_EQ(world_id, world->GetWorldId());
-    return world.Release();
+    return world;
   }
 
   return AdoptRef(new DOMWrapperWorld(isolate, WorldType::kIsolated, world_id));
diff --git a/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp b/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp
index 2aea90a7..722232c 100644
--- a/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp
+++ b/third_party/WebKit/Source/platform/fonts/FontFallbackList.cpp
@@ -167,7 +167,7 @@
         result = FontCache::GetFontCache()->GetFontData(font_description,
                                                         curr_family->Family());
       if (result)
-        return result.Release();
+        return result;
     }
   }
   family_index = kCAllFamiliesScanned;
@@ -176,7 +176,7 @@
     // Try the user's preferred standard font.
     if (RefPtr<FontData> data = font_selector_->GetFontData(
             font_description, FontFamilyNames::webkit_standard))
-      return data.Release();
+      return data;
   }
 
   // Still no result. Hand back our last resort fallback font.
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShapeIterator.cpp b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShapeIterator.cpp
index 1a4941e..c10e111b 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShapeIterator.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShapeIterator.cpp
@@ -27,7 +27,7 @@
   if (cache_entry)
     cache_entry->shape_result_ = shape_result;
 
-  return shape_result.Release();
+  return shape_result;
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
index 44b14a3c..80b9eb6 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
@@ -722,7 +722,7 @@
   }
 #endif
 
-  return result.Release();
+  return result;
 }
 
 PassRefPtr<ShapeResult> HarfBuzzShaper::Shape(const Font* font,
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.cpp b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.cpp
index 103445d..9ab7080 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.cpp
@@ -366,7 +366,7 @@
     const TextRun& run) const {
   RefPtr<ShapeResult> result = ShapeResult::Create(*this);
   result->ApplySpacing(spacing, run, run.Rtl());
-  return result.Release();
+  return result;
 }
 
 static inline float HarfBuzzPositionToFloat(hb_position_t value) {
@@ -511,7 +511,7 @@
   result->has_vertical_offsets_ =
       font_data->PlatformData().IsVerticalAnyUpright();
   result->runs_.push_back(std::move(run));
-  return result.Release();
+  return result;
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapingLineBreaker.cpp b/third_party/WebKit/Source/platform/fonts/shaping/ShapingLineBreaker.cpp
index 351cb23..c4ade885 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapingLineBreaker.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapingLineBreaker.cpp
@@ -86,7 +86,7 @@
 
   RefPtr<ShapeResult> result = shaper_->Shape(font_, direction, start, end);
   result->ApplySpacing(*spacing_, direction);
-  return result.Release();
+  return result;
 }
 
 // Shapes a line of text by finding a valid and appropriate break opportunity
@@ -244,7 +244,7 @@
             line_result->NumCharacters());
 
   *break_offset = break_opportunity;
-  return line_result.Release();
+  return line_result;
 }
 
 // Shape from the specified offset to the end of the ShapeResult.
@@ -271,7 +271,7 @@
     // If no safe-to-break in the ragne, reshape the whole range.
     line_result = Shape(direction, start, range_end);
   }
-  return line_result.Release();
+  return line_result;
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
index 1382da4..e786161 100644
--- a/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
@@ -56,7 +56,7 @@
   result->frames_[0].orientation_ = orientation;
   if (orientation.UsesWidthAsHeight())
     result->size_respecting_orientation_ = result->size_.TransposedSize();
-  return result.Release();
+  return result;
 }
 
 BitmapImage::BitmapImage(ImageObserver* observer, bool is_multipart)
diff --git a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
index 3d8f4d4..2ce9e62 100644
--- a/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
@@ -127,7 +127,7 @@
         new Canvas2DLayerBridge(std::move(provider), size, 0, kNonOpaque,
                                 acceleration_mode, CanvasColorParams()));
     bridge->DontUseIdleSchedulingForTesting();
-    return bridge.Release();
+    return bridge;
   }
 
  protected:
diff --git a/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
index 1194442..adf65ce9 100644
--- a/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
+++ b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
@@ -136,7 +136,7 @@
   do {
     shared_buffer->Append(static_cast<const char*>(it.data()), it.size());
   } while (it.next());
-  return shared_buffer.Release();
+  return shared_buffer;
 }
 
 void DeferredImageDecoder::SetData(PassRefPtr<SharedBuffer> data,
diff --git a/third_party/WebKit/Source/platform/graphics/Image.cpp b/third_party/WebKit/Source/platform/graphics/Image.cpp
index 84b1a39..a49261b 100644
--- a/third_party/WebKit/Source/platform/graphics/Image.cpp
+++ b/third_party/WebKit/Source/platform/graphics/Image.cpp
@@ -72,7 +72,7 @@
 
   RefPtr<Image> image = BitmapImage::Create();
   image->SetData(resource, true);
-  return image.Release();
+  return image;
 }
 
 bool Image::SupportsType(const String& type) {
@@ -341,7 +341,7 @@
 PassRefPtr<Image> Image::ImageForDefaultFrame() {
   RefPtr<Image> image(this);
 
-  return image.Release();
+  return image;
 }
 
 PaintImage Image::PaintImageForCurrentFrame() {
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
index 84a7ca2..b28d7aa0 100644
--- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
+++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
@@ -123,7 +123,7 @@
     drawing_buffer->BeginDestruction();
     return PassRefPtr<DrawingBuffer>();
   }
-  return drawing_buffer.Release();
+  return drawing_buffer;
 }
 
 void DrawingBuffer::ForceNextDrawingBufferCreationToFail() {
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h
index 10fe691..bd42a86 100644
--- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h
+++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h
@@ -385,7 +385,7 @@
       drawing_buffer->BeginDestruction();
       return nullptr;
     }
-    return drawing_buffer.Release();
+    return drawing_buffer;
   }
 
   DrawingBufferForTests(
diff --git a/third_party/WebKit/Source/platform/network/EncodedFormData.cpp b/third_party/WebKit/Source/platform/network/EncodedFormData.cpp
index 574dfcf..8cb68152 100644
--- a/third_party/WebKit/Source/platform/network/EncodedFormData.cpp
+++ b/third_party/WebKit/Source/platform/network/EncodedFormData.cpp
@@ -53,20 +53,20 @@
                                                     size_t size) {
   RefPtr<EncodedFormData> result = Create();
   result->AppendData(data, size);
-  return result.Release();
+  return result;
 }
 
 PassRefPtr<EncodedFormData> EncodedFormData::Create(const CString& string) {
   RefPtr<EncodedFormData> result = Create();
   result->AppendData(string.data(), string.length());
-  return result.Release();
+  return result;
 }
 
 PassRefPtr<EncodedFormData> EncodedFormData::Create(
     const Vector<char>& vector) {
   RefPtr<EncodedFormData> result = Create();
   result->AppendData(vector.data(), vector.size());
-  return result.Release();
+  return result;
 }
 
 PassRefPtr<EncodedFormData> EncodedFormData::Copy() const {
@@ -104,7 +104,7 @@
         break;
     }
   }
-  return form_data.Release();
+  return form_data;
 }
 
 void EncodedFormData::AppendData(const void* data, size_t size) {
diff --git a/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp b/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp
index ae1f922..8ff8f7e 100644
--- a/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp
+++ b/third_party/WebKit/Source/platform/wtf/FunctionalTest.cpp
@@ -365,7 +365,7 @@
 
   RefPtr<Number> six = Number::Create(6);
   std::unique_ptr<Function<int()>> multiply_six_by_two_function =
-      Bind(MultiplyNumberByTwo, six.Release());
+      Bind(MultiplyNumberByTwo, std::move(six));
   EXPECT_FALSE(six);
   EXPECT_EQ(12, (*multiply_six_by_two_function)());
 }
diff --git a/third_party/WebKit/Source/web/tests/MHTMLTest.cpp b/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
index ea4c3662..354ae1d 100644
--- a/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
+++ b/third_party/WebKit/Source/web/tests/MHTMLTest.cpp
@@ -172,7 +172,7 @@
     EXPECT_FALSE(parser.ParseArchive().IsEmpty())
         << "Generated MHTML is malformed";
 
-    return mhtml_data.Release();
+    return mhtml_data;
   }
 
   PassRefPtr<RawData> Serialize(const char* title,