| <!doctype html> |
| <title>WebSockets: navigating top-level browsing context</title> |
| <script src=../constants.js?pipe=sub></script> |
| <script> |
| var controller = opener || parent; |
| var t = controller.t; |
| var assert_equals = controller.asset_equals; |
| var assert_unreached = controller.assert_unreached; |
| var uuid = controller.uuid; |
| t.add_cleanup(function() {delete sessionStorage[uuid];}); |
| t.step(function() { |
| if (sessionStorage[uuid]) { |
| t.done(); |
| } else { |
| sessionStorage[uuid] = 'true'; |
| var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo'); |
| ws.onopen = t.step_func(function(e) { |
| setTimeout(t.step_func(function() { |
| assert_unreached('document was not discarded'); |
| }), 1000); |
| controller.navigate(); |
| }) |
| ws.onerror = ws.onmessage = ws.onclose = t.step_func(function(e) {assert_unreached("Got unexpected event " + e.type)}); |
| } |
| }); |
| </script> |