<!doctype html> <title>WebSockets: navigating top-level browsing context</title> <script src=../constants.js?pipe=sub></script> <meta name="variant" content=""> <meta name="variant" content="?wss"> <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 = t.step_func(e => assert_unreached("Got unexpected event " + e.type)); } }); </script>