<!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>
