WebSocket: iframe in reload-crash.html reloads forever
authoryutak@chromium.org <yutak@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 31 Oct 2011 02:50:30 +0000 (02:50 +0000)
committeryutak@chromium.org <yutak@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 31 Oct 2011 02:50:30 +0000 (02:50 +0000)
https://bugs.webkit.org/show_bug.cgi?id=71098

Reviewed by Kent Tamura.

iframe in this test should not get reloaded more than once.

* http/tests/websocket/tests/hixie76/reload-crash.html:
Provide the value of reloadCount to the script in iframe.
* http/tests/websocket/tests/hixie76/resources/reload-crash-iframe.html:
Call location.reload() only if reloadCount is zero.
* http/tests/websocket/tests/hybi/reload-crash.html:
* http/tests/websocket/tests/hybi/resources/reload-crash-iframe.html:

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

LayoutTests/ChangeLog
LayoutTests/http/tests/websocket/tests/hixie76/reload-crash.html
LayoutTests/http/tests/websocket/tests/hixie76/resources/reload-crash-iframe.html
LayoutTests/http/tests/websocket/tests/hybi/reload-crash.html
LayoutTests/http/tests/websocket/tests/hybi/resources/reload-crash-iframe.html

index 11f827d..2203f97 100755 (executable)
@@ -1,3 +1,19 @@
+2011-10-30  Yuta Kitamura  <yutak@chromium.org>
+
+        WebSocket: iframe in reload-crash.html reloads forever
+        https://bugs.webkit.org/show_bug.cgi?id=71098
+
+        Reviewed by Kent Tamura.
+
+        iframe in this test should not get reloaded more than once.
+
+        * http/tests/websocket/tests/hixie76/reload-crash.html:
+        Provide the value of reloadCount to the script in iframe.
+        * http/tests/websocket/tests/hixie76/resources/reload-crash-iframe.html:
+        Call location.reload() only if reloadCount is zero.
+        * http/tests/websocket/tests/hybi/reload-crash.html:
+        * http/tests/websocket/tests/hybi/resources/reload-crash-iframe.html:
+
 2011-10-30  Ryosuke Niwa  <rniwa@webkit.org>
 
         Remove crash expectations from tests that have not been crashing on Chromium.
index 1edccbd..f6b0a20 100644 (file)
@@ -18,13 +18,13 @@ var reloadCount = 0;
 document.iframeReady = function ()
 {
     if (reloadCount == 0)
-       debug("PASS iframe is ready.");
-    if (reloadCount == 1) {
-       debug("PASS reloaded iframe while WebSocket is busy");
-       finishJSTest();
-       return;
-    }
-    reloadCount += 1;
+        debug("PASS iframe is ready.");
+    else if (reloadCount == 1) {
+        debug("PASS reloaded iframe while WebSocket is busy");
+        finishJSTest();
+    } else
+        testFailed("iframe should not get reloaded more than once. (reloadCount = " + reloadCount + ")");
+    return reloadCount++;
 };
 
 frameDiv = document.createElement("iframe");
index ecebd2b..2afeb49 100644 (file)
@@ -6,9 +6,11 @@
 <div id="description"></div>
 <div id="console"></div>
 <script type="text/javascript">
-parent.document.iframeReady();
-var ws = new WebSocket("ws://127.0.0.1:8880/websocket/tests/hixie76/close-on-unload");
-location.reload();
+var reloadCount = parent.document.iframeReady();
+if (!reloadCount) {
+    var ws = new WebSocket("ws://127.0.0.1:8880/websocket/tests/hixie76/close-on-unload");
+    location.reload();
+}
 </script>
 </body>
 </html>
index 5cd45ce..37bc029 100644 (file)
@@ -20,13 +20,13 @@ var reloadCount = 0;
 document.iframeReady = function ()
 {
     if (reloadCount == 0)
-       debug("PASS iframe is ready.");
-    if (reloadCount == 1) {
-       debug("PASS reloaded iframe while WebSocket is busy");
-       finishJSTest();
-       return;
-    }
-    reloadCount += 1;
+        debug("PASS iframe is ready.");
+    else if (reloadCount == 1) {
+        debug("PASS reloaded iframe while WebSocket is busy");
+        finishJSTest();
+    } else
+        testFailed("iframe should not get reloaded more than once. (reloadCount = " + reloadCount + ")");
+    return reloadCount++;
 };
 
 frameDiv = document.createElement("iframe");
index 67deaf1..f83d921 100644 (file)
@@ -6,9 +6,11 @@
 <div id="description"></div>
 <div id="console"></div>
 <script type="text/javascript">
-parent.document.iframeReady();
-var ws = new WebSocket("ws://127.0.0.1:8880/websocket/tests/hybi/close-on-unload");
-location.reload();
+var reloadCount = parent.document.iframeReady();
+if (!reloadCount) {
+    var ws = new WebSocket("ws://127.0.0.1:8880/websocket/tests/hybi/close-on-unload");
+    location.reload();
+}
 </script>
 </body>
 </html>