Title: [114262] trunk/LayoutTests
Revision
114262
Author
commit-qu...@webkit.org
Date
2012-04-16 08:51:07 -0700 (Mon, 16 Apr 2012)

Log Message

[Qt] LayoutTest: Replace setTimeout with synchronous layout for frame flattening where possible.
https://bugs.webkit.org/show_bug.cgi?id=84028

Patch by Zalan Bujtas <zbuj...@gmail.com> on 2012-04-16
Reviewed by Kenneth Rohde Christiansen.

It's safer (and faster) to force synchronous layout, than expecting a layout before setTimout(0) hits.

* fast/frames/flattening/crash-svg-document.html: Remove extra line so that non-svg builds don't report failure.
* fast/frames/flattening/frameset-flattening-advanced.html:
* fast/frames/flattening/frameset-flattening-grid.html:
* fast/frames/flattening/frameset-flattening-subframesets.html:
* fast/frames/flattening/iframe-flattening-fixed-height.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
* fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
* fast/frames/flattening/iframe-flattening-fixed-width.html:
* fast/frames/flattening/iframe-flattening-nested.html:
* fast/frames/flattening/iframe-flattening-offscreen.html:
* fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
* fast/frames/flattening/iframe-flattening-out-of-view.html:
* fast/frames/flattening/iframe-flattening-selection-crash.html:
* fast/frames/flattening/iframe-flattening-simple.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (114261 => 114262)


--- trunk/LayoutTests/ChangeLog	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/ChangeLog	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,3 +1,28 @@
+2012-04-16  Zalan Bujtas  <zbuj...@gmail.com>
+
+        [Qt] LayoutTest: Replace setTimeout with synchronous layout for frame flattening where possible.
+        https://bugs.webkit.org/show_bug.cgi?id=84028
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        It's safer (and faster) to force synchronous layout, than expecting a layout before setTimout(0) hits.
+
+        * fast/frames/flattening/crash-svg-document.html: Remove extra line so that non-svg builds don't report failure.
+        * fast/frames/flattening/frameset-flattening-advanced.html:
+        * fast/frames/flattening/frameset-flattening-grid.html:
+        * fast/frames/flattening/frameset-flattening-subframesets.html:
+        * fast/frames/flattening/iframe-flattening-fixed-height.html:
+        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
+        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
+        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
+        * fast/frames/flattening/iframe-flattening-fixed-width.html:
+        * fast/frames/flattening/iframe-flattening-nested.html:
+        * fast/frames/flattening/iframe-flattening-offscreen.html:
+        * fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
+        * fast/frames/flattening/iframe-flattening-out-of-view.html:
+        * fast/frames/flattening/iframe-flattening-selection-crash.html:
+        * fast/frames/flattening/iframe-flattening-simple.html:
+
 2012-04-16  Uday Kiran  <udayki...@motorola.com>
 
         CSS3 Selectors failures on css3test.com

Modified: trunk/LayoutTests/fast/frames/flattening/crash-svg-document.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/crash-svg-document.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/crash-svg-document.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -7,6 +7,4 @@
 }
 
 </script>
-<iframe src="" xmlns='http://www.w3.org/2000/svg'></svg>"></iframe>
-Should not crash.
-</body>
\ No newline at end of file
+<iframe src="" xmlns='http://www.w3.org/2000/svg'></svg>"></iframe>Should not crash.</body>

Modified: trunk/LayoutTests/fast/frames/flattening/frameset-flattening-advanced.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/frameset-flattening-advanced.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/frameset-flattening-advanced.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/frameset-flattening-grid.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/frameset-flattening-grid.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/frameset-flattening-grid.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,18 +1,13 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
+    function test()
+    {
+        if (window.layoutTestController)
             layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
-        function test()
-        {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
-        }
+        // Force synchronous layout.
+        document.body.offsetHeight;
+    }
     </script>
 </head>
 <frameset border=0 rows="100,400" cols="300,300" _onload_="test()">

Modified: trunk/LayoutTests/fast/frames/flattening/frameset-flattening-subframesets.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/frameset-flattening-subframesets.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/frameset-flattening-subframesets.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-height.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-height.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-height.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,18 +1,13 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.dumpAsText();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
 
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController) {
+                layoutTestController.dumpAsText();
+                layoutTestController.setFrameFlatteningEnabled(true);
+            }
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,25 +1,24 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.dumpAsText();
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
 
         function test()
         {
-            setTimeout(function() {
-                var theframe = document.getElementById("theframe");
-                var width = parseInt(getComputedStyle(theframe).width);
-                var height = parseInt(getComputedStyle(theframe).height);
-                var pass = false;
-                if (width == 0 && height == 0)
-                    pass = true;
-                document.getElementById("console").innerText = pass ? "PASS" : "FAIL";
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController) {
+                layoutTestController.dumpAsText();
+                layoutTestController.setFrameFlatteningEnabled(true);
+            }
+
+            // Force synchronous layout.
+            document.body.offsetHeight;
+
+            var theframe = document.getElementById("theframe");
+            var width = parseInt(getComputedStyle(theframe).width);
+            var height = parseInt(getComputedStyle(theframe).height);
+            var pass = false;
+            if (width == 0 && height == 0)
+                pass = true;
+            document.getElementById("console").innerText = pass ? "PASS" : "FAIL";
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-fixed-width.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-nested.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-nested.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-nested.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -7,17 +7,12 @@
         }
     </style>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-offscreen.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-offscreen.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-offscreen.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -10,7 +10,7 @@
         {
             setTimeout(function() {
                 scrollTo(1200, 0);
-                var i = document.body.offsetWidth;
+                document.body.offsetWidth;
                 if (window.layoutTestController)
                     layoutTestController.notifyDone();
             }, 0);

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-out-of-view.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-out-of-view.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-out-of-view.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-selection-crash.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-selection-crash.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-selection-crash.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,20 +1,15 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.dumpAsText();
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
-        setTimeout(function() {
-            if (window.layoutTestController)
-                layoutTestController.notifyDone();
-        }, 500);
-
         function test() {
-            if (window.layoutTestController)
+            if (window.layoutTestController) {
+                layoutTestController.dumpAsText();
                 layoutTestController.setFrameFlatteningEnabled(true);
+            }
+
+            // Force synchronous layout.
+            document.body.offsetHeight;
+
             document.getElementById("if").contentWindow.document.getElementById('in').focus();
             document.getElementById("if").contentWindow.document.getElementById('p').style.top = "20px";
         }

Modified: trunk/LayoutTests/fast/frames/flattening/iframe-flattening-simple.html (114261 => 114262)


--- trunk/LayoutTests/fast/frames/flattening/iframe-flattening-simple.html	2012-04-16 15:36:24 UTC (rev 114261)
+++ trunk/LayoutTests/fast/frames/flattening/iframe-flattening-simple.html	2012-04-16 15:51:07 UTC (rev 114262)
@@ -1,17 +1,12 @@
 <html>
 <head>
     <script type="text/_javascript_">
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-            layoutTestController.setFrameFlatteningEnabled(true);
-        }
-
         function test()
         {
-            setTimeout(function() {
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.setFrameFlatteningEnabled(true);
+            // Force synchronous layout.
+            document.body.offsetHeight;
         }
     </script>
 </head>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to