mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-08-15 17:29:11 +00:00
33 lines
1.1 KiB
HTML
33 lines
1.1 KiB
HTML
<!doctype html>
|
|
<title>WebSockets: navigating top-level browsing context with closed websocket</title>
|
|
<script src=../constants.js?pipe=sub></script>
|
|
<script>
|
|
var controller = opener || parent;
|
|
var t = controller.t;
|
|
var assert_equals = controller.asset_equals;
|
|
var assert_unreached = controller.assert_unreached ;
|
|
var uuid = controller.token;
|
|
t.add_cleanup(function() {delete sessionStorage[uuid];});
|
|
t.step(function() {
|
|
// this test can fail if the document is unloaded on navigation e.g. due to OOM
|
|
if (sessionStorage[uuid]) {
|
|
assert_unreached('document was discarded');
|
|
} else {
|
|
sessionStorage[uuid] = 'true';
|
|
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
|
|
ws.onopen = t.step_func(function(e) {
|
|
|
|
setTimeout(t.step_func(function() {
|
|
assert_equals(ws.readyState, ws.CLOSED, 'ws.readyState');
|
|
t.done();
|
|
}), 4000);
|
|
ws.close();
|
|
ws.onclose = t.step_func(function() {
|
|
controller.navigate();
|
|
});
|
|
})
|
|
ws.onerror = ws.onmessage = ws.onclose = t.step_func(function(e) {assert_unreached("Got unexpected event " + e.type)});
|
|
}
|
|
});
|
|
</script>
|