compositing/tiling/huge-layer* flakey
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Oct 2012 17:30:23 +0000 (17:30 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Oct 2012 17:30:23 +0000 (17:30 +0000)
https://bugs.webkit.org/show_bug.cgi?id=48454

Reviewed by Dan Bernstein.

In r131009 I fixed layerTreeAsText() to not be flakey with tiled layers, by ensuring that
we flush layer state before dumping the layer tree. That makes these tests non-flakey. I was
also able to remove all the setTimeouts() from these tests.

The 'usingTiledLayer' property is only dumped on Mac, so made cross-platform results without
this flag, and added Mac-specific results with it.

Unskipped some tests on non-Mac platforms that should now pass.

* compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* compositing/tiling/huge-layer-add-remove-child-expected.txt:
* compositing/tiling/huge-layer-add-remove-child.html: Added.
* compositing/tiling/huge-layer-add-remove-child.html-disabled: Removed.
* compositing/tiling/huge-layer-expected.txt:
* compositing/tiling/huge-layer-img-expected.txt:
* compositing/tiling/huge-layer-img.html: Renamed from LayoutTests/compositing/tiling/huge-layer-img.html-disabled.
* compositing/tiling/huge-layer-resize-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-resize.html: Added.
* compositing/tiling/huge-layer-with-layer-children-resize.html-disabled: Removed.
* compositing/tiling/huge-layer-with-layer-children.html: Renamed from LayoutTests/compositing/tiling/huge-layer-with-layer-children.html-disabled.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt: Copied from LayoutTests/compositing/tiling/backface-preserve-3d-tiled-expected.txt.
* platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt: Copied from LayoutTests/compositing/tiling/crash-reparent-tiled-layer-expected.txt.
* platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-add-remove-child-expected.txt.
* platform/mac/compositing/tiling/huge-layer-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-expected.txt.
* platform/mac/compositing/tiling/huge-layer-img-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-img-expected.txt.
* platform/mac/compositing/tiling/huge-layer-resize-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-resize-expected.txt.
* platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-with-layer-children-expected.txt.
* platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt.
* platform/qt-5.0-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@132673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

26 files changed:
LayoutTests/ChangeLog
LayoutTests/compositing/tiling/backface-preserve-3d-tiled-expected.txt
LayoutTests/compositing/tiling/crash-reparent-tiled-layer-expected.txt
LayoutTests/compositing/tiling/huge-layer-add-remove-child-expected.txt
LayoutTests/compositing/tiling/huge-layer-add-remove-child.html [new file with mode: 0644]
LayoutTests/compositing/tiling/huge-layer-add-remove-child.html-disabled [deleted file]
LayoutTests/compositing/tiling/huge-layer-expected.txt
LayoutTests/compositing/tiling/huge-layer-img-expected.txt
LayoutTests/compositing/tiling/huge-layer-img.html [moved from LayoutTests/compositing/tiling/huge-layer-img.html-disabled with 67% similarity]
LayoutTests/compositing/tiling/huge-layer-resize-expected.txt
LayoutTests/compositing/tiling/huge-layer-with-layer-children-expected.txt
LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt
LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize.html [new file with mode: 0644]
LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize.html-disabled [deleted file]
LayoutTests/compositing/tiling/huge-layer-with-layer-children.html [moved from LayoutTests/compositing/tiling/huge-layer-with-layer-children.html-disabled with 73% similarity]
LayoutTests/platform/chromium/TestExpectations
LayoutTests/platform/efl/TestExpectations
LayoutTests/platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/huge-layer-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/huge-layer-img-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/huge-layer-resize-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt [new file with mode: 0644]
LayoutTests/platform/qt-5.0-wk2/TestExpectations

index 0c7014b..75d8eed 100644 (file)
@@ -1,3 +1,45 @@
+2012-10-26  Simon Fraser  <simon.fraser@apple.com>
+
+        compositing/tiling/huge-layer* flakey
+        https://bugs.webkit.org/show_bug.cgi?id=48454
+
+        Reviewed by Dan Bernstein.
+
+        In r131009 I fixed layerTreeAsText() to not be flakey with tiled layers, by ensuring that
+        we flush layer state before dumping the layer tree. That makes these tests non-flakey. I was
+        also able to remove all the setTimeouts() from these tests.
+        
+        The 'usingTiledLayer' property is only dumped on Mac, so made cross-platform results without
+        this flag, and added Mac-specific results with it.
+        
+        Unskipped some tests on non-Mac platforms that should now pass.
+
+        * compositing/tiling/backface-preserve-3d-tiled-expected.txt:
+        * compositing/tiling/crash-reparent-tiled-layer-expected.txt:
+        * compositing/tiling/huge-layer-add-remove-child-expected.txt:
+        * compositing/tiling/huge-layer-add-remove-child.html: Added.
+        * compositing/tiling/huge-layer-add-remove-child.html-disabled: Removed.
+        * compositing/tiling/huge-layer-expected.txt:
+        * compositing/tiling/huge-layer-img-expected.txt:
+        * compositing/tiling/huge-layer-img.html: Renamed from LayoutTests/compositing/tiling/huge-layer-img.html-disabled.
+        * compositing/tiling/huge-layer-resize-expected.txt:
+        * compositing/tiling/huge-layer-with-layer-children-expected.txt:
+        * compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
+        * compositing/tiling/huge-layer-with-layer-children-resize.html: Added.
+        * compositing/tiling/huge-layer-with-layer-children-resize.html-disabled: Removed.
+        * compositing/tiling/huge-layer-with-layer-children.html: Renamed from LayoutTests/compositing/tiling/huge-layer-with-layer-children.html-disabled.
+        * platform/chromium/TestExpectations:
+        * platform/efl/TestExpectations:
+        * platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt: Copied from LayoutTests/compositing/tiling/backface-preserve-3d-tiled-expected.txt.
+        * platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt: Copied from LayoutTests/compositing/tiling/crash-reparent-tiled-layer-expected.txt.
+        * platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-add-remove-child-expected.txt.
+        * platform/mac/compositing/tiling/huge-layer-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-expected.txt.
+        * platform/mac/compositing/tiling/huge-layer-img-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-img-expected.txt.
+        * platform/mac/compositing/tiling/huge-layer-resize-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-resize-expected.txt.
+        * platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-with-layer-children-expected.txt.
+        * platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt: Copied from LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt.
+        * platform/qt-5.0-wk2/TestExpectations:
+
 2012-10-26  Nico Weber  <thakis@chromium.org>
 
         [chromium] Enable fast/images/exif-orientation.html
index 298fc20..636fd6c 100644 (file)
@@ -35,7 +35,6 @@
               (children 1
                 (GraphicsLayer
                   (bounds 202.00 2502.00)
-                  (usingTiledLayer 1)
                   (preserves3D 1)
                   (drawsContent 1)
                   (backfaceVisibility hidden)
index 67e8015..24843f2 100644 (file)
@@ -9,13 +9,11 @@ From https://bugs.webkit.org/show_bug.cgi?id=44629. The parent is a tiled layer.
         (GraphicsLayer
           (position 8.00 68.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
           (children 1
             (GraphicsLayer
               (position 51.00 101.00)
               (bounds 200.00 4800.00)
-              (usingTiledLayer 1)
               (drawsContent 1)
             )
           )
index 606f7d6..df6174a 100644 (file)
@@ -10,7 +10,6 @@ First (no children):
         (GraphicsLayer
           (position 8.00 86.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
         )
       )
@@ -29,7 +28,6 @@ Second (child added):
         (GraphicsLayer
           (position 8.00 86.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
           (children 1
             (GraphicsLayer
@@ -55,7 +53,6 @@ Third (child removed):
         (GraphicsLayer
           (position 8.00 86.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
         )
       )
diff --git a/LayoutTests/compositing/tiling/huge-layer-add-remove-child.html b/LayoutTests/compositing/tiling/huge-layer-add-remove-child.html
new file mode 100644 (file)
index 0000000..c790782
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <style>
+    #container {
+        width: 500px;
+        height: 5000px;
+        border: 1px solid black;
+        background-color: yellow;
+        -webkit-transform:translateZ(0);
+    }
+    
+    .box {
+        position: absolute;
+        left:50px;
+        width: 200px;
+        height: 200px;
+        -webkit-transform:translateZ(0);
+    }
+    
+    .at-the-top {
+        top: 400px;
+        background-color: red;
+    }
+    </style>
+    <script>
+        if (window.testRunner)
+            testRunner.dumpAsText();
+        
+        var result = "";
+
+        function testOnLoad()
+        {
+            // First with no kids
+            if (window.testRunner)
+                result = "First (no children):<br>" + window.internals.layerTreeAsText(document);
+
+            // Second add kid
+            var box = document.createElement("div");
+            box.className = "box at-the-top";
+            document.getElementById('container').appendChild(box);
+            if (window.testRunner)
+                result += "<br><br>Second (child added):<br>" + window.internals.layerTreeAsText(document);
+            
+            // Third remove kid
+            var container = document.getElementById('container');
+            container.removeChild(container.lastChild);
+            if (window.testRunner) {
+                result += "<br><br>Third (child removed):<br>" + window.internals.layerTreeAsText(document);
+                document.getElementById('layers').innerHTML = result;
+            }
+        }
+      
+        window.addEventListener('load', testOnLoad, false);
+    </script>
+  </head>
+  <body>
+      <p>
+        The yellow box should be large enough to scroll off the bottom.
+        At the start there should be no child. After 100ms a red box is 
+        added and after 100ms more it should be removed. This tests that 
+        we can support very large compositing layers with dynamically added 
+        and removed child compositing layers.
+      </p>
+        <div id="container"></div>
+        <pre id="layers">Layer tree appears here in DRT.</pre>
+  </body>
+</html>
diff --git a/LayoutTests/compositing/tiling/huge-layer-add-remove-child.html-disabled b/LayoutTests/compositing/tiling/huge-layer-add-remove-child.html-disabled
deleted file mode 100644 (file)
index 45ca80e..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>Test of very large layer with added and removed child</title>
-
-    <style type="text/css" media="screen">
-
-    #container {
-      width: 500px;
-      height: 5000px;
-      border: 1px solid black;
-      background-color: yellow;
-      -webkit-transform:translateZ(0);
-    }
-    
-    .box {
-        position: absolute;
-        left:50px;
-        width: 200px;
-        height: 200px;
-    }
-    
-    .at-the-top {
-        top: 400px;
-        background-color: red;
-    }
-    
-    </style>
-    <script type="text/javascript" charset="utf-8">
-        if (window.testRunner) {
-            testRunner.dumpAsText();
-            testRunner.waitUntilDone();
-        }
-        
-        result = "";
-
-        function testOnLoad()
-        {
-            // First with no kids
-            window.setTimeout(function() {
-                if (window.testRunner)
-                    result = "First (no children):<br>" + window.internals.layerTreeAsText(document);
-            }, 0);
-            
-            // Second add kid
-            window.setTimeout(function() {
-                var box = document.createElement("div");
-                box.className = "box at-the-top";
-                document.getElementById('container').appendChild(box);
-                
-                // Let it render
-                window.setTimeout(function() {
-                    if (window.testRunner)
-                        result += "<br><br>Second (child added):<br>" + window.internals.layerTreeAsText(document);
-                }, 0);
-            }, 100);
-            
-            // Third remove kid
-            window.setTimeout(function() {
-                var container = document.getElementById('container');
-                container.removeChild(container.lastChild);
-                
-                // Let it render
-                window.setTimeout(function() {
-                    if (window.testRunner) {
-                        result += "<br><br>Third (child removed):<br>" + window.internals.layerTreeAsText(document);
-                        document.getElementById('layers').innerHTML = result;
-                        testRunner.notifyDone();
-                    }
-                }, 0);
-            }, 200);
-        }
-      
-        window.addEventListener('load', testOnLoad, false);
-    </script>
-  </head>
-  <body>
-      <p>
-        The yellow box should be large enough to scroll off the bottom.
-        At the start there should be no child. After 100ms a red box is 
-        added and after 100ms more it should be removed. This tests that 
-        we can support very large compositing layers with dynamically added 
-        and removed child compositing layers.
-      </p>
-        <div id="container"></div>
-        <pre id="layers">Layer tree appears here in DRT.</pre>
-  </body>
-</html>
index 8cfc3f9..9e7fcdf 100644 (file)
@@ -9,7 +9,6 @@ The yellow box should be large enough to scroll off the bottom. There should be
         (GraphicsLayer
           (position 8.00 68.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
           (children 2
             (GraphicsLayer
index 73d9a1a..0bbeec7 100644 (file)
@@ -8,7 +8,6 @@
         (GraphicsLayer
           (position 8.00 8.00)
           (bounds 500.00 20000.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
         )
       )
@@ -1,23 +1,19 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <title>Test of very large image layer</title>
-
-    <style type="text/css" media="screen">
+    <style>
     #container {
-      width: 500px;
-      height: 20000px;
-      -webkit-transform:translateZ(0);
+        width: 500px;
+        height: 20000px;
+        -webkit-transform:translateZ(0);
     }
     body {
-      overflow:hidden;
+      overflow: hidden;
     }
     </style>
     <script type="text/javascript" charset="utf-8">
-        if (window.testRunner) {
+        if (window.testRunner)
             testRunner.dumpAsText(true);
-            testRunner.waitUntilDone();
-        }
 
         function testOnLoad()
         {
             context.fillRect(50, 50, 200, 200);
             img.src = canvas.toDataURL();
 
-            window.setTimeout(function() {
-                if (window.testRunner) {
-                    document.getElementById('layers').innerHTML = window.internals.layerTreeAsText(document);
-                    testRunner.notifyDone();
-                }
-            }, 0);
+            if (window.testRunner)
+                document.getElementById('layers').innerHTML = window.internals.layerTreeAsText(document);
         }
 
         window.addEventListener('load', testOnLoad, false);
index 91eaea7..ee31e0b 100644 (file)
@@ -35,7 +35,6 @@ Second (huge layer):
         (GraphicsLayer
           (position 8.00 68.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
           (children 1
             (GraphicsLayer
index 87daf18..0f230ce 100644 (file)
@@ -10,7 +10,6 @@ This is some text
         (GraphicsLayer
           (position 8.00 86.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
           (children 2
             (GraphicsLayer
index 5af103f..6105025 100644 (file)
@@ -40,7 +40,6 @@ Second (huge layer):
         (GraphicsLayer
           (position 8.00 68.00)
           (bounds 502.00 5002.00)
-          (usingTiledLayer 1)
           (drawsContent 1)
           (children 2
             (GraphicsLayer
diff --git a/LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize.html b/LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize.html
new file mode 100644 (file)
index 0000000..54e9ba5
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <style>
+    #container {
+        width: 500px;
+        height: 500px;
+        border: 1px solid black;
+        background-color: yellow;
+        -webkit-transform:translateZ(0);
+    }
+    
+    .box {
+        position: absolute;
+        left:50px;
+        width: 200px;
+        height: 200px;
+        -webkit-transform:translateZ(0);
+    }
+    
+    .at-the-top {
+        top: 100px;
+        background-color: red;
+    }
+    
+    .at-the-bottom {
+        top:200px;
+        left: 275px;
+        background-color: blue;
+    }   
+    </style>
+    <script>
+        if (window.testRunner)
+            testRunner.dumpAsText();
+        
+        var result = "";
+
+        function testOnLoad()
+        {
+            // Small layer first
+            if (window.testRunner)
+                result = "First (small layer):<br>" + window.internals.layerTreeAsText(document);
+            
+            // Huge layer second
+            document.getElementById('container').style.height = "5000px";
+            document.getElementById('blue-box').style.top = "4700px";
+            if (window.testRunner)
+                result += "<br><br>Second (huge layer):<br>" + window.internals.layerTreeAsText(document);
+            
+            // Small layer third
+            document.getElementById('container').style.height = "500px";
+            document.getElementById('blue-box').style.top = "200px";
+            if (window.testRunner) {
+                result += "<br><br>Third (small layer):<br>" + window.internals.layerTreeAsText(document);
+                document.getElementById('layers').innerHTML = result;
+            }
+        }
+      
+        window.addEventListener('load', testOnLoad, false);
+    </script>
+  </head>
+  <body>
+      <p>
+        The yellow box should be 500 x 500 on startup. Then it should 
+        stretch to be 500 x 5000, then shrink back down to 500 x 500. 
+        This tests that we can resize to a huge layer and back again
+        and still maintain integrity of the layer tree.
+      </p>
+        <div id="container">
+          <div class="box at-the-top"></div>
+          <div id="blue-box" class="box at-the-bottom"></div>
+        </div>
+        <pre id="layers">Layer tree appears here in DRT.</pre>
+  </body>
+</html>
diff --git a/LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize.html-disabled b/LayoutTests/compositing/tiling/huge-layer-with-layer-children-resize.html-disabled
deleted file mode 100644 (file)
index cc575a4..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>Test of very large layer resizing with layer children</title>
-
-    <style type="text/css" media="screen">
-
-    #container {
-      width: 500px;
-      height: 500px;
-      border: 1px solid black;
-      background-color: yellow;
-      -webkit-transform:translateZ(0);
-    }
-    
-    .box {
-        position: absolute;
-        left:50px;
-        width: 200px;
-        height: 200px;
-        -webkit-transform:translateZ(0);
-    }
-    
-    .at-the-top {
-        top: 100px;
-        background-color: red;
-    }
-    
-    .at-the-bottom {
-        top:200px;
-        left: 275px;
-        background-color: blue;
-    }   
-    </style>
-    <script type="text/javascript" charset="utf-8">
-        if (window.testRunner) {
-            testRunner.dumpAsText();
-            testRunner.waitUntilDone();
-        }
-        
-        result = "";
-
-        function testOnLoad()
-        {
-            // Small layer first
-            window.setTimeout(function() {
-                if (window.testRunner)
-                    result = "First (small layer):<br>" + window.internals.layerTreeAsText(document);
-            }, 0);
-            
-            // Huge layer second
-            window.setTimeout(function() {
-                document.getElementById('container').style.height = "5000px";
-                document.getElementById('blue-box').style.top = "4700px";
-                
-                // Let it render
-                window.setTimeout(function() {
-                    if (window.testRunner)
-                        result += "<br><br>Second (huge layer):<br>" + testRunner.layerTreeAsText();
-                }, 0);
-            }, 100);
-            
-            // Small layer third
-            window.setTimeout(function() {
-                document.getElementById('container').style.height = "500px";
-                document.getElementById('blue-box').style.top = "200px";
-                
-                // Let it render
-                window.setTimeout(function() {
-                    if (window.testRunner) {
-                        result += "<br><br>Third (small layer):<br>" + testRunner.layerTreeAsText();
-                        document.getElementById('layers').innerHTML = result;
-                        testRunner.notifyDone();
-                    }
-                }, 0);
-            }, 200);
-        }
-      
-        window.addEventListener('load', testOnLoad, false);
-    </script>
-  </head>
-  <body>
-      <p>
-        The yellow box should be 500 x 500 on startup. Then it should 
-        stretch to be 500 x 5000, then shrink back down to 500 x 500. 
-        This tests that we can resize to a huge layer and back again
-        and still maintain integrity of the layer tree.
-      </p>
-        <div id="container">
-          <div class="box at-the-top"></div>
-          <div id="blue-box" class="box at-the-bottom"></div>
-        </div>
-        <pre id="layers">Layer tree appears here in DRT.</pre>
-  </body>
-</html>
     }   
     </style>
     <script type="text/javascript" charset="utf-8">
-        if (window.testRunner) {
+        if (window.testRunner)
             testRunner.dumpAsText();
-            testRunner.waitUntilDone();
-        }
 
         function testOnLoad()
         {
-            // Wait for a layer update and the tiled layer to fill in.
-            window.setTimeout(function() {
-                window.setTimeout(function() {
-                    if (window.testRunner) {
-                        document.getElementById('layers').innerHTML = window.internals.layerTreeAsText(document);
-                        testRunner.notifyDone();
-                    }
-                }, 0);
-            }, 0);
+            if (window.testRunner)
+                document.getElementById('layers').innerHTML = window.internals.layerTreeAsText(document);
         }
       
         window.addEventListener('load', testOnLoad, false);
index eb87e8d..0323940 100644 (file)
@@ -2823,8 +2823,6 @@ crbug.com/84032 [ Win ] fast/dom/object-plugin-hides-properties.html [ Pass Time
 #new test added. Still fails on chrome
 webkit.org/b/98315 css3/compositing/blend-mode-property.html [ Failure ]
 webkit.org/b/98315 css3/compositing/should-have-compositing-layer.html [ Failure ]
-webkit.org/b/100205 compositing/tiling/backface-preserve-3d-tiled.html [ Failure ]
-webkit.org/b/100205 platform/chromium/virtual/softwarecompositing/tiling/backface-preserve-3d-tiled.html [ Failure ]
 
 # two regions reftests failing on Chromium
 webkit.org/b/74219 fast/regions/positioned-objects-block-static-spanning-regions-rtl.html [ ImageOnlyFailure Pass ]
@@ -3047,6 +3045,9 @@ webkit.org/b/75716 [ Linux Mac Win ] fullscreen/video-controls-drag.html [ Failu
 webkit.org/b/75786 compositing/tiled-layers-hidpi.html [ Skip ]
 webkit.org/b/75786 platform/chromium/virtual/softwarecompositing/tiled-layers-hidpi.html [ Skip ]
 
+webkit.org/b/48454 compositing/tiling/huge-layer-img.html [ Skip ]
+webkit.org/b/48454 platform/chromium/virtual/softwarecompositing/tiling/huge-layer-img.html [ Skip ]
+
 webkit.org/b/75932 fast/js/array-defineOwnProperty.html [ Failure ]
 webkit.org/b/75932 fast/js/mozilla/strict/15.4.4.6.html [ Failure ]
 
index 680fa66..2a72dd3 100644 (file)
@@ -130,7 +130,6 @@ compositing/checkerboard.html
 compositing/framesets/composited-frame-alignment.html
 compositing/images/direct-pdf-image.html
 compositing/reflections/backface-hidden-reflection.html
-compositing/tiling/constrained-layer-size.html
 editing/selection/extend-selection-after-double-click.html
 fast/forms/listbox-onchange.html
 fast/forms/onselect-textfield.html
diff --git a/LayoutTests/platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt b/LayoutTests/platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt
new file mode 100644 (file)
index 0000000..298fc20
--- /dev/null
@@ -0,0 +1,52 @@
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (children 2
+        (GraphicsLayer
+          (position 18.00 10.00)
+          (bounds 204.00 204.00)
+          (children 1
+            (GraphicsLayer
+              (position 2.00 2.00)
+              (bounds 200.00 200.00)
+              (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
+              (children 1
+                (GraphicsLayer
+                  (bounds 202.00 202.00)
+                  (preserves3D 1)
+                  (drawsContent 1)
+                  (backfaceVisibility hidden)
+                  (transform [-1.00 0.00 -0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 -1.00 0.00] [0.00 0.00 0.00 1.00])
+                )
+              )
+            )
+          )
+        )
+        (GraphicsLayer
+          (position 18.00 224.00)
+          (bounds 204.00 204.00)
+          (children 1
+            (GraphicsLayer
+              (position 2.00 2.00)
+              (bounds 200.00 200.00)
+              (childrenTransform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 -0.00] [0.00 0.00 0.00 1.00])
+              (children 1
+                (GraphicsLayer
+                  (bounds 202.00 2502.00)
+                  (usingTiledLayer 1)
+                  (preserves3D 1)
+                  (drawsContent 1)
+                  (backfaceVisibility hidden)
+                  (transform [-1.00 0.00 -0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 -1.00 0.00] [0.00 0.00 0.00 1.00])
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt b/LayoutTests/platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt
new file mode 100644 (file)
index 0000000..67e8015
--- /dev/null
@@ -0,0 +1,27 @@
+From https://bugs.webkit.org/show_bug.cgi?id=44629. The parent is a tiled layer. When the child is a non-tiled layer and it is switched to a tiled layer, a crash occurs. This test should not crash.
+
+(GraphicsLayer
+  (bounds 785.00 5111.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5111.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 4800.00)
+              (usingTiledLayer 1)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt b/LayoutTests/platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt
new file mode 100644 (file)
index 0000000..606f7d6
--- /dev/null
@@ -0,0 +1,65 @@
+The yellow box should be large enough to scroll off the bottom. At the start there should be no child. After 100ms a red box is added and after 100ms more it should be removed. This tests that we can support very large compositing layers with dynamically added and removed child compositing layers.
+
+First (no children):
+(GraphicsLayer
+  (bounds 785.00 5129.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5129.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 86.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+        )
+      )
+    )
+  )
+)
+
+
+Second (child added):
+(GraphicsLayer
+  (bounds 785.00 5129.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5129.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 86.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (position 51.00 401.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
+
+Third (child removed):
+(GraphicsLayer
+  (bounds 785.00 5129.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5129.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 86.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/huge-layer-expected.txt b/LayoutTests/platform/mac/compositing/tiling/huge-layer-expected.txt
new file mode 100644 (file)
index 0000000..8cfc3f9
--- /dev/null
@@ -0,0 +1,31 @@
+The yellow box should be large enough to scroll off the bottom. There should be a red box on the first page and a blue box near the bottom of the yellow box. This tests that we can support very large compositing layers.
+
+(GraphicsLayer
+  (bounds 785.00 5111.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5111.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+          (children 2
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 51.00 4701.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/huge-layer-img-expected.txt b/LayoutTests/platform/mac/compositing/tiling/huge-layer-img-expected.txt
new file mode 100644 (file)
index 0000000..73d9a1a
--- /dev/null
@@ -0,0 +1,18 @@
+
+(GraphicsLayer
+  (bounds 800.00 20053.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 20053.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 500.00 20000.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/huge-layer-resize-expected.txt b/LayoutTests/platform/mac/compositing/tiling/huge-layer-resize-expected.txt
new file mode 100644 (file)
index 0000000..91eaea7
--- /dev/null
@@ -0,0 +1,77 @@
+The yellow box should be 500 x 500 on startup. Then it should stretch to be 500 x 5000, then shrink back down to 500 x 500. This tests that we can resize to a huge layer and back again and still maintain integrity of the layer tree.
+
+First (small layer):
+(GraphicsLayer
+  (bounds 785.00 611.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 611.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 502.00)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
+
+Second (huge layer):
+(GraphicsLayer
+  (bounds 785.00 5111.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5111.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
+
+Third (small layer):
+(GraphicsLayer
+  (bounds 785.00 611.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 611.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 502.00)
+          (drawsContent 1)
+          (children 1
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt b/LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt
new file mode 100644 (file)
index 0000000..87daf18
--- /dev/null
@@ -0,0 +1,32 @@
+The yellow box should be large enough to scroll off the bottom. There should be a red box on the first page and a blue box near the bottom of the yellow box. This tests that we can support very large compositing layers with child compositing layers.
+
+This is some text
+(GraphicsLayer
+  (bounds 785.00 5129.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5129.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 86.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+          (children 2
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 51.00 4701.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
diff --git a/LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt b/LayoutTests/platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt
new file mode 100644 (file)
index 0000000..5af103f
--- /dev/null
@@ -0,0 +1,92 @@
+The yellow box should be 500 x 500 on startup. Then it should stretch to be 500 x 5000, then shrink back down to 500 x 500. This tests that we can resize to a huge layer and back again and still maintain integrity of the layer tree.
+
+First (small layer):
+(GraphicsLayer
+  (bounds 785.00 611.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 611.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 502.00)
+          (drawsContent 1)
+          (children 2
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 276.00 201.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
+
+Second (huge layer):
+(GraphicsLayer
+  (bounds 785.00 5111.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 5111.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 5002.00)
+          (usingTiledLayer 1)
+          (drawsContent 1)
+          (children 2
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 276.00 4701.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
+
+Third (small layer):
+(GraphicsLayer
+  (bounds 785.00 611.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 785.00 611.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 68.00)
+          (bounds 502.00 502.00)
+          (drawsContent 1)
+          (children 2
+            (GraphicsLayer
+              (position 51.00 101.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 276.00 201.00)
+              (bounds 200.00 200.00)
+              (drawsContent 1)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+
index 8d0ae7d..69ca82f 100644 (file)
@@ -334,7 +334,6 @@ compositing/geometry/limit-layer-bounds-transformed.html
 compositing/layer-creation/overflow-scroll-overlap.html
 compositing/layer-creation/scroll-partial-update.html
 compositing/layer-creation/spanOverlapsCanvas.html
-compositing/tiling/crash-reparent-tiled-layer.html
 
 # The following tests doesnt match both expected image and text.
 compositing/geometry/ancestor-overflow-change.html
@@ -361,9 +360,6 @@ compositing/overflow/overflow-visible-with-touch.html
 compositing/overflow/scrolling-content-clip-to-viewport.html
 compositing/overflow/textarea-scroll-touch.html
 
-# New compositing/tiling/backface-preserve-3d-tiled.html introduced in r132394 fails
-webkit.org/b/100348 compositing/tiling/backface-preserve-3d-tiled.html
-
 # [Qt][WK2] New compositing/tiling/tile-cache-zoomed.html introduced in r132542 fails
 webkit.org/b/100490 compositing/tiling/tile-cache-zoomed.html