Index: third_party/WebKit/LayoutTests/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html |
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bdfcebed2d1e054fa454d868b2f63ccaa318981c |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html |
@@ -0,0 +1,18 @@ |
+<!doctype html> |
+<div style="-webkit-transform-style: preserve-3d"> |
+ <div style="width: 100px; height: 100px; background:lightgray; transform:translateZ(0)"></div> |
+ <div id="target" style="position: absolute; top: 20px; left: 20px; height: 100px; width: 100px; background:lightblue"></div> |
+</div> |
+<script src="../resources/text-based-repaint.js"></script> |
+<script> |
+// Test that squashing works properly when inside of a transform-style: preserve-3d element. In the bug that this layout test |
+// was added to fix, the coordinates of the squashing layer paint invalidation rects were not recorded correctly, because some of |
+// the code computed transformed ancestors incorrectly (it should *not* include the preserve-3d element). |
+ |
+function repaintTest() { |
+ var target = document.getElementById('target'); |
+ target.style.background = 'red'; |
+} |
+ |
+runRepaintAndPixelTest(); |
+</script> |