| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="/js-test-resources/js-test.js"></script> |
| </head> |
| <body> |
| <div id="description"></div> |
| <div id="console"></div> |
| <script type="text/javascript"> |
| description("Test if WebSocket is closed when navigating to new location."); |
| |
| window.jsTestIsAsync = true; |
| |
| var frameDiv; |
| var closedSocket; |
| var closeCode; |
| |
| document.wsUrl = "ws://127.0.0.1:8880/close-on-unload?p=close-on-navigate-new-location.html"; |
| var ws = new WebSocket(document.wsUrl); |
| ws.onopen = function() |
| { |
| debug("PASS ws on master document is ready."); |
| frameDiv = document.createElement("iframe"); |
| frameDiv.src = "resources/close-on-unload-iframe.html"; |
| document.body.appendChild(frameDiv); |
| debug("PASS insert a iframe, where open ws called 'socket1'"); |
| }; |
| ws.onmessage = function(evt) |
| { |
| var messageData = JSON.parse(evt.data); |
| closedSocket = messageData.message; |
| closeCode = messageData.closeCode; |
| ws.close(); |
| }; |
| ws.onclose = function() |
| { |
| shouldBe("closedSocket", '"socket1"'); |
| shouldBe("closeCode", '"1001"'); |
| finishJSTest(); |
| }; |
| |
| document.iframeReady = function() |
| { |
| debug("PASS 'socket1' is sent to the server. navigate to new location. expect receiving 'socket1' on ws..."); |
| frameDiv.src = "../handler_map.txt"; |
| }; |
| |
| </script> |
| </body> |
| </html> |