<!doctype html> <title>WebSockets: navigating nested browsing context with a websocket in top-level</title> <script src=../constants.js?pipe=sub></script> <meta name="variant" content=""> <meta name="variant" content="?wss"> <script> var t = opener.t; var assert_unreached = opener.assert_unreached; var hasRun = false; function run(){ var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo'); ws.onopen = t.step_func(function(e) { setTimeout(t.step_func(function() { ws.send('test'); }), 1000); window[0].location = 'data:text/html,<body onload="history.back()">'; ws.onmessage = t.step_func(function(e) { ws.close(); t.done(); }); }); ws.onerror = ws.onmessage = ws.onclose = t.step_func(function(e) {assert_unreached("Got unexpected event " + e.type)}); } </script> <iframe src='data:text/html,foo' onload='if (hasRun) return; hasRun = true; t.step(run)'></iframe>