Source code

Revision control

Other Tools

<!doctype html>
<title>WebSockets: navigating nested browsing context with a websocket in top-level</title>
<script src=../constants.sub.js></script>
<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) {
t.step_timeout(function() {
ws.send('test');
}, 1000);
window[0].location = 'data:text/html,<body onload="history.back()">';
ws.onmessage = t.step_func_done(function(e) {
ws.close();
});
});
ws.onerror = ws.onmessage = ws.onclose = t.step_func(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>