Title: [140885] trunk/LayoutTests
Revision
140885
Author
[email protected]
Date
2013-01-25 17:13:15 -0800 (Fri, 25 Jan 2013)

Log Message

Make unload-reparent-sibling-frame.html wait for completion
https://bugs.webkit.org/show_bug.cgi?id=107987

Reviewed by Ojan Vafai.

While this test runs fine locally and in the cr-linux EWS it
appears to be flaky on many of the other bots because it doesn't
wait for the test to complete. Instead make the waiting in the test
explicit.

* fast/frames/unload-reparent-sibling-frame.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (140884 => 140885)


--- trunk/LayoutTests/ChangeLog	2013-01-26 01:05:54 UTC (rev 140884)
+++ trunk/LayoutTests/ChangeLog	2013-01-26 01:13:15 UTC (rev 140885)
@@ -1,3 +1,17 @@
+2013-01-25  Elliott Sprehn  <[email protected]>
+
+        Make unload-reparent-sibling-frame.html wait for completion
+        https://bugs.webkit.org/show_bug.cgi?id=107987
+
+        Reviewed by Ojan Vafai.
+
+        While this test runs fine locally and in the cr-linux EWS it
+        appears to be flaky on many of the other bots because it doesn't
+        wait for the test to complete. Instead make the waiting in the test
+        explicit.
+
+        * fast/frames/unload-reparent-sibling-frame.html:
+
 2013-01-25  Pan Deng  <[email protected]>
 
         [User Timing] Class name of user timing entries should be PerformanceMark/PerformanceMeasure.

Modified: trunk/LayoutTests/fast/frames/unload-reparent-sibling-frame.html (140884 => 140885)


--- trunk/LayoutTests/fast/frames/unload-reparent-sibling-frame.html	2013-01-26 01:05:54 UTC (rev 140884)
+++ trunk/LayoutTests/fast/frames/unload-reparent-sibling-frame.html	2013-01-26 01:13:15 UTC (rev 140885)
@@ -4,48 +4,50 @@
 
 <div id="container">
     <div id="inside">
+        <iframe id="frame1" srcdoc="frame1"></iframe>
+        <iframe id="frame2" srcdoc="frame2"></iframe>
     </div>
 </div>
 
 <script>
 description('Reparented sibling frames from unload handlers should load.');
 
+var jsTestIsAsync = true;
+var count = 2;
+var container = document.getElementById('container');
+var inside = document.getElementById('inside');
+var frame1 = document.getElementById('frame1');
+var frame2 = document.getElementById('frame2');
+
 if (window.testRunner) {
     testRunner.dumpAsText();
     testRunner.dumpChildFramesAsText();
 }
 
-function onframeload(text)
+function runTest()
 {
-    this.contentDocument.body.innerHTML = this.id;
+    if (--count) return;
+    // Wait until all frame disconnection calls are complete to ensure inDocument
+    // frames remain loaded.
+    setTimeout(function() {
+        shouldNotBe('frame1.contentDocument', 'null');
+        shouldNotBe('frame2.contentDocument', 'null');
+        finishJSTest();
+    }, 0);
 }
 
-function runTest()
-{    
-}
-
-var container = document.getElementById('container');
-var inside = document.getElementById('inside');
-
-var frame1 = document.createElement('iframe');
-frame1.id = 'frame1';
-frame1._onload_ = onframeload;
-
-var frame2 = document.createElement('iframe');
-frame2.id = 'frame2';
-frame2._onload_ = onframeload;
-
 _onload_ = function() {
     inside.appendChild(frame1);
     inside.appendChild(frame2);
 
     frame1.contentWindow._onunload_ = function() {
+        frame1._onload_ = runTest;
+        frame2._onload_ = runTest;
         document.body.appendChild(inside);
     };
 
     container.parentNode.removeChild(container);
-    shouldNotBe('frame1.contentDocument', 'null');
-    shouldNotBe('frame2.contentDocument', 'null');
-    isSuccessfullyParsed();
 };
 </script>
+
+<script src=""
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to