005-1.html (804B)
1 <!doctype html> 2 <title>WebSockets: navigating nested browsing context with a websocket in top-level</title> 3 <script src=../constants.sub.js></script> 4 <script> 5 var t = opener.t; 6 var assert_unreached = opener.assert_unreached; 7 var hasRun = false; 8 function run(){ 9 var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo'); 10 ws.onopen = t.step_func(function(e) { 11 t.step_timeout(function() { 12 ws.send('test'); 13 }, 1000); 14 window[0].location = 'data:text/html,<body onload="history.back()">'; 15 ws.onmessage = t.step_func_done(function(e) { 16 ws.close(); 17 }); 18 }); 19 ws.onerror = ws.onmessage = ws.onclose = t.step_func(e => assert_unreached("Got unexpected event " + e.type)); 20 } 21 </script> 22 <iframe src='data:text/html,foo' onload='if (hasRun) return; hasRun = true; t.step(run)'></iframe>