Revert "[BlinkGenPropertyTrees] Promote BGPT to experimental"

This reverts commit 4e8eb7fbb5ada77093c526013db61d2c438ca24d.

Reason for revert: Causes crashes, see 898668

Original change's description:
> [BlinkGenPropertyTrees] Promote BGPT to experimental
> 
> BlinkGenPropertyTrees (BGPT) is an incremental step towards making
> compositing decisions after the paint lifecycle phase. The primary
> changes are to build property trees in blink and send a layer list to
> the compositor, rather than building property trees in cc from a layer
> tree. This patch marks the project as experimental which will give us
> test and perf coverage on the bots.
> 
> Sheriffs: This shifts time (e.g., we now run PaintArtifactCompositor
> and no longer run the cc property tree builder) and will likely change
> performance benchmarks. Because this is an initial trial, feel free to
> roll this patch out.
> 
> Bug: 836884
> Change-Id: Ib867beebbead940162db0801822389f76e8eb8dc
> Reviewed-on: https://chromium-review.googlesource.com/c/1294204
> Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
> Commit-Queue: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#602150}

TBR=wangxianzhu@chromium.org,pdr@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 836884, 898668
Change-Id: I95698da07a0015369748a5fb9a98cd3d85399d9c
Reviewed-on: https://chromium-review.googlesource.com/c/1305819
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603710}
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
index 63bc87c..8c1835b 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
@@ -1,6 +1,6 @@
 # Expectations for --enable-blink-gen-property-trees
-# TODO(pdr): Remove these expectations as blink-gen-property-trees is enabled as
-# experimental and runs by default on layout tests.
+# We are focused on scrolling, compositing, animations, threading, and paint
+# related tests with all other directories skipped to improve bot cycle time.
 
 Bug(none) app_banner/ [ Skip ]
 Bug(none) battery-status/ [ Skip ]
@@ -107,3 +107,57 @@
 Bug(none) webshare/ [ Skip ]
 Bug(none) xmlviewer/ [ Skip ]
 Bug(none) xr/ [ Skip ]
+
+# These tests failed in normal mode but are fixed with BlinkGenPropertyTrees.
+Bug(none) compositing/overflow/clip-escaping-reverse-order-should-not-crash.html [ Pass ]
+Bug(none) compositing/overflow/composited-scroll-with-fractional-translation.html [ Pass ]
+Bug(none) virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-escaping-reverse-order-should-not-crash.html [ Pass ]
+Bug(none) virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scroll-with-fractional-translation.html [ Pass ]
+crbug.com/865039 compositing/masks/mask-with-added-filters.html [ Pass ]
+# Link highlights are no longer affected by ancestor effects.
+crbug.com/857501 compositing/gestures/gesture-tapHighlight-with-filter.html [ Pass ]
+crbug.com/400829 media/video-object-fit.html [ Pass ]
+crbug.com/400829 compositing/composited-canvas-with-overflowing-object-fit.html [ Pass ]
+
+# These tests are no longer applicable with layer list mode.
+# Move to NeverFixTests later.
+Bug(none) http/tests/devtools/layers/layer-sticky-position-constraint-get.js [ Skip ]
+Bug(none) inspector-protocol/layers/get-layers.js [ Skip ]
+
+# Backdrop filters are experimental (behind a flag) and do not really work with
+# or without BlinkGenPropertyTrees. These tests are marked as failing because
+# the expectations differ, but these do not block BlinkGenPropertyTrees.
+crbug.com/854189 css3/filters/backdrop-filter-rendering-no-background.html [ Failure ]
+crbug.com/854189 css3/filters/backdrop-filter-rendering.html [ Failure ]
+
+# These scrolling tests should pass.
+crbug.com/836913 virtual/threaded/external/wpt/css/css-scroll-snap/snap-at-user-scroll-end-manual.html [ Timeout ]
+
+# Reflection / mask ordering issue
+crbug.com/767318 compositing/reflections/nested-reflection-mask-change.html [ Failure ]
+
+# One line of pixels different when clipping the scrollbar.
+Bug(none) virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-overflow.html [ Failure ]
+Bug(none) compositing/overflow/scaled-overflow.html [ Failure ]
+
+# Incorrect scrollbar invalidation.
+crbug.com/887000 virtual/prefer_compositing_to_lcd_text/scrollbars/hidden-scrollbars-invisible.html [ Failure ]
+
+crbug.com/882975 virtual/threaded/fast/events/pinch/gesture-pinch-zoom-prevent-in-handler.html [ Failure Pass ]
+crbug.com/882975 virtual/threaded/fast/events/pinch/scroll-visual-viewport-send-boundary-events.html [ Failure Pass ]
+crbug.com/882975 virtual/threaded/synthetic_gestures/synthetic-pinch-zoom-gesture-touchscreen-desktop.html [ Failure Pass ]
+
+crbug.com/882973 http/tests/devtools/layers/layer-tree-model.js [ Failure ]
+
+crbug.com/884239 virtual/threaded/animations/animationworklet/worklet-animation-local-time-undefined.html [ Failure ]
+
+# These tests have failures that were introduced between enabling BGPT for the
+# first time and later disabling it. These are not real failures and can be
+# rebaselined.
+Bug(none) compositing/geometry/foreground-layer.html [ Failure ]
+Bug(none) compositing/iframes/become-composited-nested-iframes.html [ Failure ]
+Bug(none) compositing/iframes/invisible-nested-iframe-show.html [ Failure ]
+Bug(none) compositing/iframes/overlapped-nested-iframes.html [ Failure ]
+Bug(none) paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content.html [ Failure ]
+Bug(none) paint/invalidation/video-paint-invalidation.html [ Failure ]
+Bug(none) virtual/android/fullscreen/video-overlay-scroll.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 9bef153..57dadac0 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
@@ -1292,3 +1292,18 @@
 Bug(none) virtual/outofblink-cors-ns/http/tests/navigation/same-document-scroll-position-restore.html [ Timeout ]
 Bug(none) virtual/threaded/external/wpt/css/css-scroll-snap/snap-at-user-scroll-end-manual.html [ Timeout ]
 Bug(none) synthetic_gestures/animated-wheel-tiny-delta.html [ Failure ]
+
+# These tests have failures that were introduced between enabling BGPT for the
+# first time and later disabling it. These are not real failures and can be
+# rebaselined.
+Bug(none) compositing/overflow/siblings-composited-with-border-radius-ancestor.html [ Failure ]
+Bug(none) compositing/composited-translated-child-with-border-radius-parent-clip.html [ Failure ]
+Bug(none) compositing/composited-scaled-child-with-border-radius-parent-clip.html [ Failure ]
+Bug(none) compositing/overflow/border-radius-on-two-ancestors-composited-grandchild.html [ Failure ]
+Bug(none) compositing/overflow/border-radius-on-parent-composited-grandchild.html [ Failure ]
+Bug(none) compositing/overflow-trumps-transform-style.html [ Failure ]
+Bug(none) compositing/overflow/border-radius-on-grandparent-composited-grandchild.html [ Failure ]
+Bug(none) compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped.html [ Failure ]
+Bug(none) compositing/overflow/grandchild-with-border-radius-ancestor.html [ Failure ]
+Bug(none) compositing/overflow/siblings-with-border-radius-ancestor.html [ Failure ]
+Bug(none) compositing/overflow/grandchild-composited-with-border-radius-ancestor.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index 7b5f0b1..bed325e 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -307,13 +307,6 @@
 crbug.com/807395 fast/multicol/mixed-opacity-test.html [ Failure ]
 # End of Slimming paint v1.75
 
-crbug.com/767318 compositing/reflections/nested-reflection-mask-change.html [ Failure ]
-crbug.com/854189 css3/filters/backdrop-filter-rendering-no-background.html [ Failure ]
-crbug.com/854189 css3/filters/backdrop-filter-rendering.html [ Failure ]
-crbug.com/882973 http/tests/devtools/layers/layer-tree-model.js [ Failure ]
-crbug.com/887000 virtual/prefer_compositing_to_lcd_text/scrollbars/hidden-scrollbars-invisible.html [ Failure ]
-crbug.com/898176 external/wpt/web-animations/timing-model/timelines/timelines.html [ Failure ]
-
 ########## Ref tests can't be rebaselined ##########
 crbug.com/504613 crbug.com/524248 [ Mac ] paint/images/image-backgrounds-not-antialiased.html [ Failure ]
 
@@ -2521,8 +2514,11 @@
 
 crbug.com/400841 media/video-canvas-draw.html [ Failure ]
 crbug.com/400841 virtual/video-surface-layer/media/video-canvas-draw.html [ Failure ]
+crbug.com/400829 media/video-object-fit.html [ Failure ]
+crbug.com/400829 virtual/video-surface-layer/media/video-object-fit.html [ Failure ]
 crbug.com/400829 virtual/stable/media/stable/video-object-fit-stable.html [ Failure ]
 crbug.com/400829 virtual/video-surface-layer/media/stable/video-object-fit-stable.html [ Failure ]
+crbug.com/400829 compositing/composited-canvas-with-overflowing-object-fit.html [ Failure ]
 crbug.com/400829 virtual/gpu/fast/canvas/canvas-with-overflowing-object-fit.html [ Failure ]
 
 # We only want to run one of the web-animations-api tests in stable mode.
@@ -4493,6 +4489,10 @@
 crbug.com/765116 virtual/outofblink-cors/external/wpt/xhr/responsexml-document-properties.htm [ Failure ]
 crbug.com/765116 virtual/outofblink-cors-ns/external/wpt/xhr/responsexml-document-properties.htm [ Failure ]
 
+# Link highlights currently paint under ancestor affects but this is being
+# changed with BlinkGenPropertyTrees. Until that launches, this test will fail.
+crbug.com/857501 compositing/gestures/gesture-tapHighlight-with-filter.html [ Failure ]
+
 crbug.com/716320 external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/broadcastchannel-success-and-failure.html [ Failure Timeout ]
 crbug.com/716320 external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/broadcastchannel-success.html [ Failure Timeout ]
 crbug.com/716320 [ Android ] external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-messagechannel-success.html [ Failure Timeout ]
@@ -4771,6 +4771,10 @@
 # Antialiasing error
 crbug.com/845973 virtual/display-compositor-pixel-dump/fast/canvas/display-compositor-pixel-dump/OffscreenCanvas-opaque-background-compositing.html  [ Pass Failure ]
 
+# Workaround crbug.com/817175 . Very difficult to fix with old-world compositing. Pass with SPv2.
+crbug.com/817175 compositing/overflow/clip-escaping-reverse-order-should-not-crash.html [ Failure ]
+crbug.com/817175 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-escaping-reverse-order-should-not-crash.html [ Failure ]
+
 # Tests occasionaly timing out (flaky) on WebKit Win7 dbg builder
 crbug.com/757955 [ Win7 Debug ] http/tests/devtools/sources/debugger-pause/pause-on-elements-panel.js [ Pass Timeout ]
 crbug.com/757955 [ Win7 Debug ] storage/indexeddb/mozilla/cursors.html [ Pass Timeout ]
diff --git a/third_party/WebKit/LayoutTests/compositing/composited-scaled-child-with-border-radius-parent-clip-expected.png b/third_party/WebKit/LayoutTests/compositing/composited-scaled-child-with-border-radius-parent-clip-expected.png
index c692dda..446aa85 100644
--- a/third_party/WebKit/LayoutTests/compositing/composited-scaled-child-with-border-radius-parent-clip-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/composited-scaled-child-with-border-radius-parent-clip-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/composited-translated-child-with-border-radius-parent-clip-expected.png b/third_party/WebKit/LayoutTests/compositing/composited-translated-child-with-border-radius-parent-clip-expected.png
index 5bfd018..5393c95 100644
--- a/third_party/WebKit/LayoutTests/compositing/composited-translated-child-with-border-radius-parent-clip-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/composited-translated-child-with-border-radius-parent-clip-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.txt b/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.txt
index 3ec7890..a9d5368 100644
--- a/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/fixed-body-background-positioned-expected.txt
@@ -10,6 +10,10 @@
       "drawsContent": false
     },
     {
+      "name": "Overscroll Elasticity Layer",
+      "drawsContent": false
+    },
+    {
       "name": "Page Scale Layer",
       "drawsContent": false
     },
diff --git a/third_party/WebKit/LayoutTests/compositing/geometry/clip-expected.txt b/third_party/WebKit/LayoutTests/compositing/geometry/clip-expected.txt
index 25c210da..100aca1 100644
--- a/third_party/WebKit/LayoutTests/compositing/geometry/clip-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/geometry/clip-expected.txt
@@ -26,6 +26,12 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [215, 15],
+      "bounds": [110, 110],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='composited inner'",
       "bounds": [120, 120],
       "backgroundColor": "#00000033",
@@ -59,7 +65,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [210, 10, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 4,
@@ -69,7 +76,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [0, 0, 1, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/compositing/geometry/clip-inside-expected.txt b/third_party/WebKit/LayoutTests/compositing/geometry/clip-inside-expected.txt
index 5f640749..3566aba2 100644
--- a/third_party/WebKit/LayoutTests/compositing/geometry/clip-inside-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/geometry/clip-inside-expected.txt
@@ -27,6 +27,12 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [225, 35],
+      "bounds": [90, 80],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='composited inner'",
       "bounds": [120, 120],
       "backgroundColor": "#00000033",
@@ -60,7 +66,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [210, 10, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 4,
@@ -70,7 +77,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [0, 0, 1, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/compositing/geometry/clip-with-shadow-expected.txt b/third_party/WebKit/LayoutTests/compositing/geometry/clip-with-shadow-expected.txt
index c0cdeeab..3a44c3e 100644
--- a/third_party/WebKit/LayoutTests/compositing/geometry/clip-with-shadow-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/geometry/clip-with-shadow-expected.txt
@@ -24,6 +24,12 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [215, 15],
+      "bounds": [110, 110],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='composited inner'",
       "bounds": [120, 120],
       "backgroundColor": "#00000033",
@@ -57,7 +63,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [210, 10, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 4,
@@ -67,7 +74,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [0, 0, 1, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/compositing/geometry/foreground-layer-expected.txt b/third_party/WebKit/LayoutTests/compositing/geometry/foreground-layer-expected.txt
index f2424b1..7c7ef79 100644
--- a/third_party/WebKit/LayoutTests/compositing/geometry/foreground-layer-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/geometry/foreground-layer-expected.txt
@@ -43,6 +43,13 @@
       "transform": 4
     },
     {
+      "name": "Child Containment Layer",
+      "position": [59, 59],
+      "bounds": [200, 200],
+      "drawsContent": false,
+      "transform": 4
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='negative child'",
       "bounds": [50, 50],
       "drawsContent": false,
@@ -50,7 +57,8 @@
     },
     {
       "name": "LayoutBlockFlow (relative positioned) DIV class='main box' (foreground) Layer",
-      "bounds": [318, 318],
+      "position": [59, 59],
+      "bounds": [200, 200],
       "transform": 4
     }
   ],
diff --git a/third_party/WebKit/LayoutTests/compositing/iframes/become-composited-nested-iframes-expected.txt b/third_party/WebKit/LayoutTests/compositing/iframes/become-composited-nested-iframes-expected.txt
index d178b72..2021656 100644
--- a/third_party/WebKit/LayoutTests/compositing/iframes/become-composited-nested-iframes-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/iframes/become-composited-nested-iframes-expected.txt
@@ -28,6 +28,12 @@
       "bounds": [280, 200]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [22, 122],
+      "bounds": [280, 200],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutIFrame IFRAME",
       "position": [30, 130],
       "bounds": [252, 172]
@@ -39,6 +45,12 @@
       "backgroundColor": "#C0C0C0"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [31, 131],
+      "bounds": [250, 170],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
@@ -56,6 +68,12 @@
       "bounds": [280, 200]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [22, 346],
+      "bounds": [280, 200],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutIFrame IFRAME",
       "position": [30, 354],
       "bounds": [252, 172]
@@ -67,6 +85,12 @@
       "backgroundColor": "#C0C0C0"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [31, 355],
+      "bounds": [250, 170],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt b/third_party/WebKit/LayoutTests/compositing/iframes/invisible-nested-iframe-show-expected.txt
similarity index 94%
rename from third_party/WebKit/LayoutTests/platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt
rename to third_party/WebKit/LayoutTests/compositing/iframes/invisible-nested-iframe-show-expected.txt
index f3fc8de..feaa11f 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/iframes/invisible-nested-iframe-show-expected.txt
@@ -51,6 +51,12 @@
       "backgroundColor": "#C0C0C0"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [32, 32],
+      "bounds": [250, 170],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-iframe-iframe-expected.txt b/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-iframe-iframe-expected.txt
index 39fe83c..c3c1d6f8 100644
--- a/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-iframe-iframe-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-iframe-iframe-expected.txt
@@ -28,6 +28,12 @@
       "backgroundColor": "#C0C0C0"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [2, 2],
+      "bounds": [300, 300],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt b/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
index 9ba42f2e..368814d 100644
--- a/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt
@@ -31,6 +31,13 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "position": [22, 152],
+      "bounds": [280, 200],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutIFrame IFRAME",
       "position": [30, 160],
       "bounds": [252, 172],
@@ -44,6 +51,13 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "position": [31, 161],
+      "bounds": [250, 170],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
@@ -63,6 +77,13 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "position": [22, 376],
+      "bounds": [280, 200],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutIFrame IFRAME",
       "position": [30, 384],
       "bounds": [252, 172],
@@ -76,6 +97,13 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "position": [31, 385],
+      "bounds": [250, 170],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt
index dadd624..0bc9060 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/overflow-scroll-overlap-expected.txt
@@ -33,7 +33,9 @@
       "bounds": [306, 206]
     },
     {
-      "name": "Squashing Containment Layer",
+      "name": "Ancestor Clipping Layer",
+      "position": [23, 23],
+      "bounds": [285, 200],
       "drawsContent": false
     },
     {
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-clipping-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-clipping-expected.txt
index 259d5e5..1d92058 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-clipping-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-clipping-expected.txt
@@ -32,6 +32,12 @@
       "backgroundColor": "#FFFFFF"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [59, 231],
+      "bounds": [120, 460],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='box gray force-layer'",
       "bounds": [100, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-expected.txt
index 6dba170..0f1c74b 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-animation-expected.txt
@@ -23,6 +23,12 @@
       "bounds": [122, 242]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [9, 9],
+      "bounds": [120, 240],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV id='to-animate' class='animating box'",
       "bounds": [100, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt
index cddaf92..f2c359c 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-clipping-expected.txt
@@ -18,6 +18,12 @@
       "backgroundColor": "#FFFFFF"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [50, 50],
+      "bounds": [100, 100],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='child'",
       "bounds": [500, 100],
       "contentsOpaque": true,
@@ -49,7 +55,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [50, 50, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 2,
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt
index 789cc60..7f07d31 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt
@@ -23,6 +23,12 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "Squashing Containment Layer",
       "drawsContent": false,
       "transform": 1
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt
index 7ac25db..6d2c9d99 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/overlap-transforms-expected.txt
@@ -23,6 +23,12 @@
       "bounds": [122, 242]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [9, 9],
+      "bounds": [120, 240],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='transformed box'",
       "bounds": [100, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change-expected.txt
index c796e3f..623ad00 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change-expected.txt
@@ -18,7 +18,9 @@
       "backgroundColor": "#FFFFFF"
     },
     {
-      "name": "Squashing Containment Layer",
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [100, 100],
       "drawsContent": false
     },
     {
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-tree-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-tree-expected.txt
index e2a0b0b..18acd2b 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-tree-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-tree-expected.txt
@@ -9,34 +9,40 @@
       "drawsContent": false,
       "children": [
         {
-          "name": "Page Scale Layer",
+          "name": "Overscroll Elasticity Layer",
           "drawsContent": false,
           "children": [
             {
-              "name": "Inner Viewport Scroll Layer",
-              "bounds": [800, 600],
+              "name": "Page Scale Layer",
               "drawsContent": false,
               "children": [
                 {
-                  "name": "LayoutView #document",
+                  "name": "Inner Viewport Scroll Layer",
                   "bounds": [800, 600],
                   "drawsContent": false,
-                  "backgroundColor": "#FFFFFF",
-                  "shouldFlattenTransform": false,
                   "children": [
                     {
-                      "name": "Scrolling Layer",
-                      "bounds": [780, 580],
+                      "name": "LayoutView #document",
+                      "bounds": [800, 600],
                       "drawsContent": false,
-                      "flattenInheritedTransform": false,
+                      "backgroundColor": "#FFFFFF",
                       "shouldFlattenTransform": false,
                       "children": [
                         {
-                          "name": "Scrolling Contents Layer",
-                          "bounds": [1200, 900],
-                          "contentsOpaque": true,
-                          "backgroundColor": "#FFFFFF",
-                          "flattenInheritedTransform": false
+                          "name": "Scrolling Layer",
+                          "bounds": [780, 580],
+                          "drawsContent": false,
+                          "flattenInheritedTransform": false,
+                          "shouldFlattenTransform": false,
+                          "children": [
+                            {
+                              "name": "Scrolling Contents Layer",
+                              "bounds": [1200, 900],
+                              "contentsOpaque": true,
+                              "backgroundColor": "#FFFFFF",
+                              "flattenInheritedTransform": false
+                            }
+                          ]
                         }
                       ]
                     }
@@ -86,6 +92,10 @@
       "drawsContent": false
     },
     {
+      "name": "Overscroll Elasticity Layer",
+      "drawsContent": false
+    },
+    {
       "name": "Page Scale Layer",
       "drawsContent": false
     },
diff --git a/third_party/WebKit/LayoutTests/compositing/lots-of-img-layers-expected.png b/third_party/WebKit/LayoutTests/compositing/lots-of-img-layers-expected.png
new file mode 100644
index 0000000..f27c69a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/compositing/lots-of-img-layers-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/lots-of-img-layers-with-opacity-expected.png b/third_party/WebKit/LayoutTests/compositing/lots-of-img-layers-with-opacity-expected.png
new file mode 100644
index 0000000..0b6f5e7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/compositing/lots-of-img-layers-with-opacity-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/opacity-with-mask-expected.png b/third_party/WebKit/LayoutTests/compositing/opacity-with-mask-expected.png
index 7792efb..b39d0c8 100644
--- a/third_party/WebKit/LayoutTests/compositing/opacity-with-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/opacity-with-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-above-composited-subframe-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-above-composited-subframe-expected.png
index 1a941fc..3c73dc0 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-above-composited-subframe-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-above-composited-subframe-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-composited-subframe-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-composited-subframe-expected.png
index d0ef886..8540490 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-composited-subframe-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-composited-subframe-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-grandparent-composited-grandchild-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-grandparent-composited-grandchild-expected.png
index 2cee245..f4b4fff8 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-grandparent-composited-grandchild-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-grandparent-composited-grandchild-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-parent-composited-grandchild-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-parent-composited-grandchild-expected.png
index 9e367a68..f380d7a 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-parent-composited-grandchild-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-parent-composited-grandchild-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-two-ancestors-composited-grandchild-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-two-ancestors-composited-grandchild-expected.png
index b9fac48..61743f1 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-two-ancestors-composited-grandchild-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-on-two-ancestors-composited-grandchild-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png
index 3a2a7e5..a9c5b83 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-styles-with-composited-child-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
index 6ec2d94..9b7a2ba 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
@@ -60,11 +60,17 @@
       "backgroundColor": "#008000"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [12, 12],
+      "bounds": [80, 80],
+      "drawsContent": false,
+      "hasScrollParent": true
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='box red'",
       "position": [22, 22],
       "bounds": [100, 100],
-      "backgroundColor": "#FF000080",
-      "hasScrollParent": true
+      "backgroundColor": "#FF000080"
     },
     {
       "name": "Squashing Containment Layer",
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/clip-descendents-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/clip-descendents-expected.txt
index cbfaa8c..048aec8 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/clip-descendents-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/clip-descendents-expected.txt
@@ -18,6 +18,12 @@
       "backgroundColor": "#FFFFFF"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [48, 38],
+      "bounds": [60, 70],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='box'",
       "bounds": [100, 150],
       "contentsOpaque": true,
@@ -25,6 +31,12 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [240, 38],
+      "bounds": [60, 70],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='box'",
       "bounds": [100, 150],
       "contentsOpaque": true,
@@ -37,6 +49,12 @@
       "bounds": [60, 70]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [48, 230],
+      "bounds": [60, 70],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='box'",
       "bounds": [100, 150],
       "contentsOpaque": true,
@@ -49,6 +67,12 @@
       "bounds": [60, 70]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [240, 230],
+      "bounds": [60, 70],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='box'",
       "bounds": [100, 150],
       "contentsOpaque": true,
@@ -64,7 +88,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [50, 50, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 2,
@@ -74,7 +99,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [0, 0, 1, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 3,
@@ -83,7 +109,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [242, 50, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 4,
@@ -93,7 +120,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [0, 0, 1, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     },
     {
       "id": 5,
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
index 5738063..285f901d 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
@@ -144,6 +144,12 @@
       "transform": 4
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 4
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='content'",
       "bounds": [10, 10],
       "drawsContent": false,
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/content-loses-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/content-loses-scrollbars-expected.txt
index ccb3739..28e47b8 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/content-loses-scrollbars-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/content-loses-scrollbars-expected.txt
@@ -24,6 +24,12 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV id='vertical' class='content'",
       "bounds": [10, 10],
       "drawsContent": false,
@@ -36,6 +42,12 @@
       "transform": 2
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV id='horizontal' class='content'",
       "bounds": [10, 10],
       "drawsContent": false,
@@ -48,6 +60,12 @@
       "transform": 3
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 3
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV id='both' class='content'",
       "bounds": [10, 10],
       "drawsContent": false,
@@ -60,6 +78,12 @@
       "transform": 4
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 4
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='content'",
       "bounds": [10, 10],
       "drawsContent": false,
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-composited-with-border-radius-ancestor-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-composited-with-border-radius-ancestor-expected.png
index f38a1b2..b219e48 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-composited-with-border-radius-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-composited-with-border-radius-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-with-border-radius-ancestor-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-with-border-radius-ancestor-expected.png
index f38a1b2..b219e48 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-with-border-radius-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/grandchild-with-border-radius-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/no-excessive-clip-parent-if-parent-escaped-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/no-excessive-clip-parent-if-parent-escaped-expected.txt
index 88d5d8a..cc0d374d 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/no-excessive-clip-parent-if-parent-escaped-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/no-excessive-clip-parent-if-parent-escaped-expected.txt
@@ -25,6 +25,12 @@
       "backgroundColor": "#FF0000"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [8, 8],
+      "bounds": [100, 100],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV",
       "position": [8, 8],
       "bounds": [50, 50],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
index 59e2084..f679344 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
@@ -144,6 +144,12 @@
       "transform": 4
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 4
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='content'",
       "bounds": [10, 10],
       "drawsContent": false,
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
index 9bf52b9..c8f192a 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
@@ -18,11 +18,29 @@
       "backgroundColor": "#FFFFFF"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [1200, 800],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV id='positioned'",
       "position": [8, 8],
       "bounds": [1200, 800]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [8, 8],
+      "bounds": [1200, 800],
+      "drawsContent": false
+    },
+    {
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [1200, 1000],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='scroller'",
       "position": [8, 8],
       "bounds": [1200, 1000]
@@ -45,6 +63,12 @@
       "drawsContent": false
     },
     {
+      "name": "Overflow Controls Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [1200, 1000],
+      "drawsContent": false
+    },
+    {
       "name": "Overflow Controls Host Layer",
       "position": [8, 8],
       "bounds": [1200, 1000],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-clip-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-clip-expected.txt
index 101f13c..9801d91 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-clip-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-clip-expected.txt
@@ -23,6 +23,13 @@
       "transform": 2
     },
     {
+      "name": "Child Containment Layer",
+      "position": [20, 20],
+      "bounds": [200, 200],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow DIV",
       "position": [20, 20],
       "bounds": [400, 400],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-effect-interleave-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-effect-interleave-expected.txt
index c087562..a390599 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-effect-interleave-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-effect-interleave-expected.txt
@@ -30,6 +30,13 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [20, 20],
+      "bounds": [200, 200],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow DIV",
       "position": [20, 20],
       "bounds": [400, 400],
@@ -46,6 +53,13 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [20, 20],
+      "bounds": [200, 200],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV",
       "position": [20, 20],
       "bounds": [100, 400],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-expected.txt
index 101f13c..fbb4681 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-expected.txt
@@ -23,6 +23,13 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [20, 20],
+      "bounds": [200, 200],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow DIV",
       "position": [20, 20],
       "bounds": [400, 400],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.png
index 5b9c2a3..d4ef5fe 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.txt
index c40716aa..f97eb4f 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/rotate-then-clip-z-order-interleave-expected.txt
@@ -23,6 +23,12 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV",
       "bounds": [200, 100],
       "contentsOpaque": true,
@@ -37,6 +43,12 @@
       "transform": 2
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 2
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV",
       "bounds": [50, 200],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow-expected.png
index 028be3d..67503d7 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scaled-overflow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
index d50ca8f2..15c58a5 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
@@ -28,8 +28,7 @@
     {
       "name": "LayoutBlockFlow DIV id='scroller'",
       "position": [98, 90],
-      "bounds": [102, 102],
-      "backfaceVisibility": "hidden"
+      "bounds": [102, 102]
     },
     {
       "name": "Scrolling Layer",
@@ -41,8 +40,7 @@
       "name": "Scrolling Contents Layer",
       "position": [99, 91],
       "bounds": [100, 180],
-      "drawsContent": false,
-      "backfaceVisibility": "hidden"
+      "drawsContent": false
     },
     {
       "name": "LayoutBlockFlow (positioned) DIV id='fixed'",
@@ -60,14 +58,12 @@
       "position": [103, 95],
       "bounds": [60, 40],
       "contentsOpaque": true,
-      "backfaceVisibility": "hidden",
       "backgroundColor": "#0000FF"
     },
     {
       "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (relative positioned) DIV class='scrolled')",
       "position": [103, 139],
-      "bounds": [60, 128],
-      "backfaceVisibility": "hidden"
+      "bounds": [60, 128]
     },
     {
       "name": "Overflow Controls Host Layer",
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement-expected.txt
index b5a628c..7be354a 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement-expected.txt
@@ -100,6 +100,12 @@
       "bounds": [340, 282]
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [46, 337],
+      "bounds": [260, 100],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='scroller'",
       "position": [37, 328],
       "bounds": [278, 218],
@@ -125,6 +131,12 @@
       "backgroundColor": "#DDDDDD"
     },
     {
+      "name": "Overflow Controls Ancestor Clipping Layer",
+      "position": [46, 337],
+      "bounds": [260, 100],
+      "drawsContent": false
+    },
+    {
       "name": "Overflow Controls Host Layer",
       "position": [61, 352],
       "bounds": [230, 170],
@@ -147,6 +159,18 @@
       "bounds": [292, 200]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [389, 331],
+      "bounds": [272, 180],
+      "drawsContent": false
+    },
+    {
+      "name": "Ancestor Clipping Layer",
+      "position": [395, 337],
+      "bounds": [260, 100],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='scroller'",
       "position": [386, 328],
       "bounds": [278, 218],
@@ -172,6 +196,12 @@
       "backgroundColor": "#DDDDDD"
     },
     {
+      "name": "Overflow Controls Ancestor Clipping Layer",
+      "position": [395, 337],
+      "bounds": [260, 100],
+      "drawsContent": false
+    },
+    {
       "name": "Overflow Controls Host Layer",
       "position": [410, 352],
       "bounds": [230, 170],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-expected.png
index f38a1b2..b219e48 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped-expected.png
index 00fa2b9..ef41de3 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/siblings-with-border-radius-ancestor-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/siblings-with-border-radius-ancestor-expected.png
index ff3a027..fa893ed 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/siblings-with-border-radius-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/siblings-with-border-radius-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/tiled-mask-expected.png
index d1b758a..500561a 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/tiled-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/tiled-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/perpendicular-layer-sorting-expected.png b/third_party/WebKit/LayoutTests/compositing/perpendicular-layer-sorting-expected.png
index 38a1f4c..9a75d61 100644
--- a/third_party/WebKit/LayoutTests/compositing/perpendicular-layer-sorting-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/perpendicular-layer-sorting-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/perspective-interest-rect-expected.png b/third_party/WebKit/LayoutTests/compositing/perspective-interest-rect-expected.png
index eec373b..453aee2 100644
--- a/third_party/WebKit/LayoutTests/compositing/perspective-interest-rect-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/perspective-interest-rect-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt b/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt
index 47a25e3..11a5e14 100644
--- a/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt
@@ -27,6 +27,11 @@
       "backgroundColor": "#FF0000"
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [400, 400],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='positioned layer'",
       "bounds": [100, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt b/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt
index 47a25e3..11a5e14 100644
--- a/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt
@@ -27,6 +27,11 @@
       "backgroundColor": "#FF0000"
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [400, 400],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='positioned layer'",
       "bounds": [100, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-relative-expected.txt b/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-relative-expected.txt
index 2c64a041..7d4fc5b 100644
--- a/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-relative-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/rtl/rtl-iframe-relative-expected.txt
@@ -26,6 +26,11 @@
       "bounds": [400, 400]
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [400, 400],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV id='layer'",
       "bounds": [100, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.png b/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.png
index 1fa1711..219172d 100644
--- a/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.png
+++ b/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/squashing/clipping-ancestor-expected.txt b/third_party/WebKit/LayoutTests/compositing/squashing/clipping-ancestor-expected.txt
index d296aee..7298b1c 100644
--- a/third_party/WebKit/LayoutTests/compositing/squashing/clipping-ancestor-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/squashing/clipping-ancestor-expected.txt
@@ -18,6 +18,12 @@
       "backgroundColor": "#FFFFFF"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [200, 10],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='inner'",
       "bounds": [200, 10],
       "contentsOpaque": true,
@@ -40,7 +46,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [8, 8, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/compositing/squashing/no-squashing-into-fixed-position-that-clips-expected.txt b/third_party/WebKit/LayoutTests/compositing/squashing/no-squashing-into-fixed-position-that-clips-expected.txt
index f9ed6c2..f13b579 100644
--- a/third_party/WebKit/LayoutTests/compositing/squashing/no-squashing-into-fixed-position-that-clips-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/squashing/no-squashing-into-fixed-position-that-clips-expected.txt
@@ -25,6 +25,12 @@
       "backgroundColor": "#ADD8E6"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [0, 50],
+      "bounds": [800, 550],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV class='compositedlayer'",
       "bounds": [24, 100],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/compositing/visibility/layer-visible-content-expected.txt b/third_party/WebKit/LayoutTests/compositing/visibility/layer-visible-content-expected.txt
index cf2e1362..0b05974 100644
--- a/third_party/WebKit/LayoutTests/compositing/visibility/layer-visible-content-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/visibility/layer-visible-content-expected.txt
@@ -22,6 +22,11 @@
       "bounds": [200, 200]
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [200, 200],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='composited box'",
       "bounds": [10, 10],
       "drawsContent": false
diff --git a/third_party/WebKit/LayoutTests/fast/borders/overflow-hidden-border-radius-force-backing-store-expected.txt b/third_party/WebKit/LayoutTests/fast/borders/overflow-hidden-border-radius-force-backing-store-expected.txt
index 475ca2d..c5c1822 100644
--- a/third_party/WebKit/LayoutTests/fast/borders/overflow-hidden-border-radius-force-backing-store-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/borders/overflow-hidden-border-radius-force-backing-store-expected.txt
@@ -23,6 +23,24 @@
       "bounds": [300, 300]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [50, 50],
+      "bounds": [300, 300],
+      "drawsContent": false,
+      "maskLayer": [
+        {
+          "name": "Child Clipping Mask Layer",
+          "bounds": [300, 300]
+        }
+      ]
+    },
+    {
+      "name": "Ancestor Clipping Layer",
+      "position": [50, 50],
+      "bounds": [285, 300],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='content'",
       "bounds": [285, 1000],
       "contentsOpaque": true,
@@ -37,7 +55,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [50, 50, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/layers/layer-sticky-position-constraint-get-expected.txt b/third_party/WebKit/LayoutTests/http/tests/devtools/layers/layer-sticky-position-constraint-get-expected.txt
index 50428a0..953cdee 100644
--- a/third_party/WebKit/LayoutTests/http/tests/devtools/layers/layer-sticky-position-constraint-get-expected.txt
+++ b/third_party/WebKit/LayoutTests/http/tests/devtools/layers/layer-sticky-position-constraint-get-expected.txt
@@ -1,4 +1,68 @@
 Tests sticky position constraints in Layers panel
 
 Sticky position constraint
+{
+    _containingBlockRect : {
+        height : 400
+        width : 100
+        x : 0
+        y : 0
+    }
+    _nearestLayerShiftingContainingBlock : null
+    _nearestLayerShiftingStickyBox : null
+    _stickyBoxRect : {
+        height : 50
+        width : 50
+        x : 0
+        y : 0
+    }
+}
+{
+    _containingBlockRect : {
+        height : 50
+        width : 50
+        x : 0
+        y : 0
+    }
+    _nearestLayerShiftingContainingBlock : <object>
+    _nearestLayerShiftingStickyBox : null
+    _stickyBoxRect : {
+        height : 25
+        width : 25
+        x : 0
+        y : 0
+    }
+}
+{
+    _containingBlockRect : {
+        height : 350
+        width : 100
+        x : 0
+        y : 0
+    }
+    _nearestLayerShiftingContainingBlock : null
+    _nearestLayerShiftingStickyBox : null
+    _stickyBoxRect : {
+        height : 0
+        width : 0
+        x : 0
+        y : 0
+    }
+}
+{
+    _containingBlockRect : {
+        height : 350
+        width : 100
+        x : 0
+        y : 0
+    }
+    _nearestLayerShiftingContainingBlock : null
+    _nearestLayerShiftingStickyBox : <object>
+    _stickyBoxRect : {
+        height : 0
+        width : 0
+        x : 0
+        y : 0
+    }
+}
 
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/layers/get-layers-expected.txt b/third_party/WebKit/LayoutTests/inspector-protocol/layers/get-layers-expected.txt
index f7b73e2..fa274cd 100644
--- a/third_party/WebKit/LayoutTests/inspector-protocol/layers/get-layers-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/layers/get-layers-expected.txt
@@ -76,7 +76,21 @@
         "width": 100,
         "height": 50,
         "paintCount": "number",
-        "drawsContent": true
+        "drawsContent": true,
+        "stickyPositionConstraint": {
+            "stickyBoxRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 50
+            },
+            "containingBlockRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 200
+            }
+        }
     },
     {
         "layerId": "string",
@@ -87,7 +101,22 @@
         "width": 100,
         "height": 25,
         "paintCount": "number",
-        "drawsContent": true
+        "drawsContent": true,
+        "stickyPositionConstraint": {
+            "stickyBoxRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 25
+            },
+            "containingBlockRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 50
+            },
+            "nearestLayerShiftingContainingBlock": "string"
+        }
     },
     {
         "layerId": "string",
@@ -178,7 +207,21 @@
         "width": 100,
         "height": 50,
         "paintCount": "number",
-        "drawsContent": true
+        "drawsContent": true,
+        "stickyPositionConstraint": {
+            "stickyBoxRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 50
+            },
+            "containingBlockRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 200
+            }
+        }
     },
     {
         "layerId": "string",
@@ -189,7 +232,22 @@
         "width": 100,
         "height": 25,
         "paintCount": "number",
-        "drawsContent": true
+        "drawsContent": true,
+        "stickyPositionConstraint": {
+            "stickyBoxRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 25
+            },
+            "containingBlockRect": {
+                "x": 0,
+                "y": 0,
+                "width": 100,
+                "height": 50
+            },
+            "nearestLayerShiftingContainingBlock": "string"
+        }
     },
     {
         "layerId": "string",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/clip/clip-path-constant-repaint-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/clip/clip-path-constant-repaint-expected.txt
index c4efafb..6409953 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/clip/clip-path-constant-repaint-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/clip/clip-path-constant-repaint-expected.txt
@@ -26,7 +26,13 @@
         {
           "name": "Mask Layer",
           "bounds": [800, 300],
-          "backfaceVisibility": "hidden"
+          "paintInvalidations": [
+            {
+              "object": "Mask Layer",
+              "rect": [0, 0, 800, 300],
+              "reason": "paint property change"
+            }
+          ]
         }
       ],
       "transform": 2
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants-expected.txt
index 78d6b28..690d34d 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants-expected.txt
@@ -24,6 +24,12 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutBlockFlow DIV class='clipped-composited-child'",
       "bounds": [252, 252],
       "contentsOpaque": true,
@@ -37,6 +43,12 @@
       "transform": 3
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [100, 100],
+      "drawsContent": false,
+      "transform": 3
+    },
+    {
       "name": "LayoutBlockFlow DIV class='clipped-composited-child'",
       "bounds": [252, 252],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/overlap-test-with-filter-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/overlap-test-with-filter-expected.txt
index d491784..06f94a7 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/overlap-test-with-filter-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/overlap-test-with-filter-expected.txt
@@ -27,6 +27,11 @@
       "backgroundColor": "#FFFF00"
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [300, 100],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow BODY",
       "bounds": [284, 84],
       "backgroundColor": "#FFFF00",
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content-expected.txt
index 5986dc3..15fb475 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content-expected.txt
@@ -18,7 +18,9 @@
       "backgroundColor": "#FFFFFF"
     },
     {
-      "name": "Squashing Containment Layer",
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [185, 185],
       "drawsContent": false
     },
     {
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/scrolling-neg-z-index-descendants-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/scrolling-neg-z-index-descendants-expected.txt
index 77025f8e2..e24b05c 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/scrolling-neg-z-index-descendants-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/scrolling-neg-z-index-descendants-expected.txt
@@ -25,8 +25,7 @@
     {
       "name": "LayoutBlockFlow (relative positioned) DIV id='neg-z'",
       "position": [9, -81],
-      "bounds": [100, 410],
-      "backfaceVisibility": "hidden"
+      "bounds": [100, 410]
     },
     {
       "name": "LayoutBlockFlow HTML (foreground) Layer",
@@ -49,7 +48,6 @@
       "position": [9, 9],
       "bounds": [100, 430],
       "drawsContent": false,
-      "backfaceVisibility": "hidden",
       "transform": 1
     },
     {
@@ -62,14 +60,12 @@
     {
       "name": "Horizontal Scrollbar Layer",
       "position": [9, 309],
-      "bounds": [100, 0],
-      "backfaceVisibility": "hidden"
+      "bounds": [100, 0]
     },
     {
       "name": "Vertical Scrollbar Layer",
       "position": [109, 9],
-      "bounds": [0, 300],
-      "backfaceVisibility": "hidden"
+      "bounds": [0, 300]
     }
   ],
   "transforms": [
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt
index ec7710c..b479ab4 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt
@@ -38,6 +38,12 @@
       ]
     },
     {
+      "name": "Child Containment Layer",
+      "position": [38, 38],
+      "bounds": [90, 90],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='composited child'",
       "position": [8, 58],
       "bounds": [50, 50],
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change-expected.txt
index 1e0b2bb..06aafe1 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change-expected.txt
@@ -25,6 +25,12 @@
       "backgroundColor": "#008000"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [0, 200],
+      "bounds": [200, 200],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV class='composited-child'",
       "position": [0, 200],
       "bounds": [100, 100],
@@ -41,6 +47,12 @@
       "backgroundColor": "#008000"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [0, 200],
+      "bounds": [200, 200],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (relative positioned) DIV class='composited-child overflow-child'",
       "position": [150, 350],
       "bounds": [100, 100],
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt
index 4e0f7c45..d7a9f93 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt
@@ -18,6 +18,12 @@
       "backgroundColor": "#FFFFFF"
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [784, 159],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutIFrame IFRAME",
       "position": [8, 8],
       "bounds": [304, 154]
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/overflow-scroll-composited-non-stacking-child-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/overflow-scroll-composited-non-stacking-child-expected.txt
index bc911667..3b7ce4a 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/overflow-scroll-composited-non-stacking-child-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/overflow-scroll-composited-non-stacking-child-expected.txt
@@ -42,7 +42,9 @@
       "transform": 1
     },
     {
-      "name": "Squashing Containment Layer",
+      "name": "Ancestor Clipping Layer",
+      "position": [23, 65],
+      "bounds": [285, 175],
       "drawsContent": false
     },
     {
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.txt
index 18abbef..04c2902 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.txt
@@ -25,6 +25,12 @@
       ]
     },
     {
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [285, 285],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow (positioned) DIV id='container'",
       "bounds": [600, 600],
       "contentsOpaque": true,
@@ -47,7 +53,8 @@
         [0, 1, 0, 0],
         [0, 0, 1, 0],
         [-307, 8, 0, 1]
-      ]
+      ],
+      "flattenInheritedTransform": false
     }
   ]
 }
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/direct-image-compositing-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/direct-image-compositing-expected.png
index dc93bab..9093d98 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/direct-image-compositing-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/direct-image-compositing-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/layer-due-to-layer-children-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/layer-due-to-layer-children-expected.png
index ed06fd1..21bc51a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/layer-due-to-layer-children-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/layer-due-to-layer-children-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/direct-image-mask-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/direct-image-mask-expected.png
index e7dcf18..187bc84 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/direct-image-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/direct-image-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-added-filters-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-added-filters-expected.png
index d065452..b55138b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-added-filters-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-added-filters-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/masked-ancestor-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/masked-ancestor-expected.png
index a204713..2893d5c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/masked-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/masked-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/multiple-masks-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/multiple-masks-expected.png
index 0989690..50633eb 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/multiple-masks-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/multiple-masks-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/simple-composited-mask-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/simple-composited-mask-expected.png
index 97c3286..a4ea481 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/simple-composited-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/simple-composited-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png b/third_party/WebKit/LayoutTests/platform/linux/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
index d26cca4..2943e80 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-border-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-border-expected.png
index 10863d7..49fae8f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-border-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-border-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-expected.png
index c0e8fd5..9376445 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-with-mask-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-with-mask-expected.png
index 80ef073..c3208ee 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-with-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-canvas-with-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-expected.png
index 7435b7d..77c6fea 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png
index b07697d..cea0333 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png
index 7e26cf82..de945bf 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-expected.png
index 58a04a3..b5665790 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-parent-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-parent-expected.png
index 2f813ee..fb94f6dc 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-parent-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/clip/overflow-border-radius-composited-parent-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/composited-layer-nested-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/composited-layer-nested-expected.png
index d749b58..f7c58c9 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/composited-layer-nested-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/composited-layer-nested-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
index ba0f2e7..d64e33c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png
index ab05c8d..0d30c06 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-2-expected.png b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
index 3c54a70..c518ae0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
index f860aa5..24c0dd7d 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/layout_ng_experimental/fast/multicol/composited-layer-nested-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/layout_ng_experimental/fast/multicol/composited-layer-nested-expected.png
deleted file mode 100644
index d749b58..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/layout_ng_experimental/fast/multicol/composited-layer-nested-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/video-surface-layer/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/video-surface-layer/media/video-zoom-controls-expected.png
index dd44abf7..6201165 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/video-surface-layer/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/video-surface-layer/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
new file mode 100644
index 0000000..a8fc463
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/media/video-zoom-controls-expected.png
index 37c4217..0462bbf 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/video-surface-layer/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/video-surface-layer/media/video-zoom-controls-expected.png
index 21dbf60..947ca89 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/video-surface-layer/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/video-surface-layer/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/direct-image-compositing-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/direct-image-compositing-expected.png
index 2f2f2de..3ee11d1 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/direct-image-compositing-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/direct-image-compositing-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png
index 44b42c2..68159b57 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png
index ccae878..17adf89 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png
index 75ba10c..a5c28fd 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/geometry/layer-due-to-layer-children-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/lots-of-img-layers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/lots-of-img-layers-expected.png
deleted file mode 100644
index 2500b2be9..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/lots-of-img-layers-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/lots-of-img-layers-with-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/lots-of-img-layers-with-opacity-expected.png
deleted file mode 100644
index 1f0067c..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/lots-of-img-layers-with-opacity-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/direct-image-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/direct-image-mask-expected.png
index 61fc6164..7bc2d6e 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/direct-image-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/direct-image-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-added-filters-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-added-filters-expected.png
index 598a80ea..98326956 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-added-filters-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-added-filters-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/masked-ancestor-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/masked-ancestor-expected.png
index 2b7ccd8..5981fad 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/masked-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/masked-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/multiple-masks-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/multiple-masks-expected.png
index 996a5560..2986d8da 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/multiple-masks-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/multiple-masks-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/simple-composited-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/simple-composited-mask-expected.png
index dca2a9f..5608556b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/simple-composited-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/simple-composited-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt
index 30a315ac..1d92541 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt
@@ -25,6 +25,12 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [784, 10],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutBlockFlow DIV id='inner'",
       "bounds": [784, 10],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png b/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
index 45a4348..31b168a 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-border-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-border-expected.png
index f70b2e3..b26a4dc 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-border-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-border-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-expected.png
index 016142f..3eb3626 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-with-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-with-mask-expected.png
index a418ea8..e3c47f5 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-with-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-canvas-with-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-expected.png
index 03612a45..1532d51 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png
index a925361a..02bb72a 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png
index 173da9c..53dd23a 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-expected.png
index 64eef08a..cfb8441b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-parent-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-parent-expected.png
index 3cb3285..623125e 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-parent-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-parent-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/composited-layer-nested-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/composited-layer-nested-expected.png
index b6a4ea4..9d8a7df 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/composited-layer-nested-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/composited-layer-nested-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
index c7f852d..cfa7310 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png
index 4879cd5..65ca7c7 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt
new file mode 100644
index 0000000..dd9907a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/scroll/composited-iframe-scroll-repaint-expected.txt
@@ -0,0 +1,96 @@
+{
+  "layers": [
+    {
+      "name": "LayoutView #document",
+      "bounds": [800, 600],
+      "drawsContent": false,
+      "backgroundColor": "#FFFFFF"
+    },
+    {
+      "name": "Scrolling Layer",
+      "bounds": [800, 600],
+      "drawsContent": false
+    },
+    {
+      "name": "Scrolling Contents Layer",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "backgroundColor": "#FFFFFF"
+    },
+    {
+      "name": "Ancestor Clipping Layer",
+      "position": [8, 8],
+      "bounds": [784, 158],
+      "drawsContent": false
+    },
+    {
+      "name": "LayoutIFrame IFRAME",
+      "position": [8, 8],
+      "bounds": [304, 154]
+    },
+    {
+      "name": "LayoutView #document",
+      "position": [10, 10],
+      "bounds": [300, 150],
+      "drawsContent": false,
+      "backgroundColor": "#EEEEEE"
+    },
+    {
+      "name": "Scrolling Layer",
+      "position": [10, 10],
+      "bounds": [300, 150],
+      "drawsContent": false
+    },
+    {
+      "name": "Scrolling Contents Layer",
+      "position": [10, 10],
+      "bounds": [300, 516],
+      "backgroundColor": "#EEEEEE",
+      "transform": 1
+    },
+    {
+      "name": "LayoutBlockFlow BODY",
+      "bounds": [284, 500],
+      "transform": 2
+    },
+    {
+      "name": "Overflow Controls Host Layer",
+      "position": [10, 10],
+      "bounds": [300, 150],
+      "drawsContent": false
+    },
+    {
+      "name": "Horizontal Scrollbar Layer",
+      "position": [10, 160],
+      "bounds": [300, 0]
+    },
+    {
+      "name": "Vertical Scrollbar Layer",
+      "position": [310, 10],
+      "bounds": [0, 150]
+    }
+  ],
+  "transforms": [
+    {
+      "id": 1,
+      "transform": [
+        [1, 0, 0, 0],
+        [0, 1, 0, 0],
+        [0, 0, 1, 0],
+        [0, -20, 0, 1]
+      ],
+      "flattenInheritedTransform": false
+    },
+    {
+      "id": 2,
+      "parent": 1,
+      "transform": [
+        [1, 0, 0, 0],
+        [0, 1, 0, 0],
+        [0, 0, 1, 0],
+        [18, 18, 0, 1]
+      ]
+    }
+  ]
+}
+
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.png b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
index 6573ddc..83143a4 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
index e99e4f8..4fc50bb 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
index 1070b54..e2cacb0 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/video-surface-layer/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/video-surface-layer/media/video-zoom-controls-expected.png
index ce6c90f..058e324 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/video-surface-layer/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/video-surface-layer/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/direct-image-compositing-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/direct-image-compositing-expected.png
index 8707757..eda13ed5 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/direct-image-compositing-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/direct-image-compositing-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/geometry/layer-due-to-layer-children-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/geometry/layer-due-to-layer-children-expected.png
index b886cbf..4fa6e20 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/geometry/layer-due-to-layer-children-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/geometry/layer-due-to-layer-children-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt b/third_party/WebKit/LayoutTests/platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt
index 1dc93089..392b2cc 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/iframes/invisible-nested-iframe-show-expected.txt
@@ -51,6 +51,12 @@
       "backgroundColor": "#C0C0C0"
     },
     {
+      "name": "Child Containment Layer",
+      "position": [32, 32],
+      "bounds": [250, 170],
+      "drawsContent": false
+    },
+    {
       "name": "LayoutBlockFlow DIV id='iframe-content' class='box'",
       "bounds": [210, 210],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/lots-of-img-layers-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/lots-of-img-layers-expected.png
deleted file mode 100644
index 78867cc3..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/lots-of-img-layers-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/lots-of-img-layers-with-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/lots-of-img-layers-with-opacity-expected.png
deleted file mode 100644
index ab2f6f89..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/lots-of-img-layers-with-opacity-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/direct-image-mask-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/direct-image-mask-expected.png
index 2cc607b..e6191de 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/direct-image-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/direct-image-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-added-filters-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-added-filters-expected.png
index 248084d..1efe5f9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-added-filters-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-added-filters-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/masked-ancestor-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/masked-ancestor-expected.png
index 9d839d7..053c3aa 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/masked-ancestor-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/masked-ancestor-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/multiple-masks-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/multiple-masks-expected.png
index d6f7bdb..995ebc7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/multiple-masks-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/multiple-masks-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/simple-composited-mask-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/simple-composited-mask-expected.png
index 321aff9..3a267bf 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/simple-composited-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/simple-composited-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/win/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt
index c0ba5fe..4a56b34 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt
@@ -25,6 +25,12 @@
       "transform": 1
     },
     {
+      "name": "Child Containment Layer",
+      "bounds": [784, 10],
+      "drawsContent": false,
+      "transform": 1
+    },
+    {
       "name": "LayoutBlockFlow DIV id='inner'",
       "bounds": [784, 10],
       "contentsOpaque": true,
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png b/third_party/WebKit/LayoutTests/platform/win/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
index 02c2570..85e81de 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/blending/background-blend-mode-overlapping-accelerated-elements-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-border-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-border-expected.png
index 99dd40a..24825e8 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-border-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-border-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-expected.png
index bda4600..3c8ae2a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-with-mask-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-with-mask-expected.png
index 84d728a..9cdbb2f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-with-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-canvas-with-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-expected.png
index 544a549..7377763 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png
index 2696097..ec815b2 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png
index c2818b3..8857bd2 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-expected.png
index 3b5df5c..dcf2f1a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-parent-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-parent-expected.png
index 0e15586..b8f93907 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-parent-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/clip/overflow-border-radius-composited-parent-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/composited-layer-nested-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/multicol/composited-layer-nested-expected.png
index 707199d..e861f01 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/composited-layer-nested-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/multicol/composited-layer-nested-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
index d895060..03a08a20 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/multicol/vertical-rl/composited-relpos-overlapping-will-change-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/win/media/video-zoom-controls-expected.png
index 5b2f304..f1043561d0 100644
--- a/third_party/WebKit/LayoutTests/platform/win/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-2-expected.png b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
index c97466a..a2a0581 100644
--- a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-2-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
index 7124a660..4043e9f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
index c16e9c0..ae65002 100644
--- a/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/video-surface-layer/media/video-zoom-controls-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/video-surface-layer/media/video-zoom-controls-expected.png
index a6077bb..b6d0785 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/video-surface-layer/media/video-zoom-controls-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/video-surface-layer/media/video-zoom-controls-expected.png
Binary files differ
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index a336971..2b003eb 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -131,7 +131,6 @@
     },
     {
       name: "BlinkGenPropertyTrees",
-      status: "experimental",
     },
     {
       name: "BlinkRuntimeCallStats",