<!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) {
      t.step_timeout(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>
