diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/websockets/unload-a-document | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/websockets/unload-a-document')
8 files changed, 188 insertions, 0 deletions
diff --git a/testing/web-platform/tests/websockets/unload-a-document/001-1.html b/testing/web-platform/tests/websockets/unload-a-document/001-1.html new file mode 100644 index 000000000..214246b2e --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/001-1.html @@ -0,0 +1,28 @@ +<!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) { + setTimeout(t.step_func(function() { + assert_unreached('document was not discarded'); + }), 1000); + controller.navigate(); + }) + ws.onerror = ws.onmessage = ws.onclose = t.step_func(function(e) {assert_unreached("Got unexpected event " + e.type)}); + } +}); +</script> diff --git a/testing/web-platform/tests/websockets/unload-a-document/001.html b/testing/web-platform/tests/websockets/unload-a-document/001.html new file mode 100644 index 000000000..d949b6eba --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/001.html @@ -0,0 +1,25 @@ +<!doctype html> +<title>WebSockets: navigating top-level browsing context</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/common/utils.js></script> +<script src=../constants.js?pipe=sub></script> +<meta name="variant" content=""> +<meta name="variant" content="?wss"> +<p>Test requires popup blocker disabled</p> +<div id=log></div> +<script> +var t = async_test(); +var w; +var uuid; +t.step(function() { + uuid = token() + w = window.open("001-1.html"); + add_result_callback(function() { + w.close(); + }); +}); +navigate = t.step_func(function() { + w.location = 'data:text/html,<body onload="history.back()">'; +}); +</script> diff --git a/testing/web-platform/tests/websockets/unload-a-document/002-1.html b/testing/web-platform/tests/websockets/unload-a-document/002-1.html new file mode 100644 index 000000000..86a852b10 --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/002-1.html @@ -0,0 +1,34 @@ +<!doctype html> +<title>WebSockets: navigating top-level browsing context with closed websocket</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.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> diff --git a/testing/web-platform/tests/websockets/unload-a-document/002.html b/testing/web-platform/tests/websockets/unload-a-document/002.html new file mode 100644 index 000000000..df35192d6 --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/002.html @@ -0,0 +1,26 @@ +<!doctype html> +<title>WebSockets: navigating top-level browsing context with closed websocket</title> +<meta name=timeout content=long> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/common/utils.js></script> +<script src=../constants.js?pipe=sub></script> +<meta name="variant" content=""> +<meta name="variant" content="?wss"> +<p>Test requires popup blocker disabled</p> +<div id=log></div> +<script> +var t = async_test(null, {timeout:15000}); +var w; +var uuid; +t.step(function() { + uuid = token() + w = window.open("002-1.html"); + add_result_callback(function() { + w.close(); + }); +}); +navigate = t.step_func(function() { + w.location = 'data:text/html,<body onload="history.back()">'; +}); +</script> diff --git a/testing/web-platform/tests/websockets/unload-a-document/003.html b/testing/web-platform/tests/websockets/unload-a-document/003.html new file mode 100644 index 000000000..554daf458 --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/003.html @@ -0,0 +1,14 @@ +<!doctype html> +<title>WebSockets: navigating nested browsing context</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/common/utils.js></script> +<div id=log></div> +<script> +var uuid; +var t = async_test(function() {uuid = token()}); +var navigate = t.step_func(function() { + document.getElementsByTagName("iframe")[0].src = 'data:text/html,<body onload="history.back()">'; +}); +</script> +<iframe src=001-1.html></iframe>
\ No newline at end of file diff --git a/testing/web-platform/tests/websockets/unload-a-document/004.html b/testing/web-platform/tests/websockets/unload-a-document/004.html new file mode 100644 index 000000000..0ef4fbc9f --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/004.html @@ -0,0 +1,16 @@ +<!doctype html> +<title>WebSockets: navigating nested browsing context with closed websocket</title> +<meta name=timeout content=long> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/common/utils.js></script> +<div id=log></div> +<script> +var uuid; +var t = async_test(null, {timeout:15000}) +t.step(function() {uuid = token()}); +var navigate = t.step_func(function() { + document.getElementsByTagName("iframe")[0].src = 'data:text/html,<body onload="history.back()">'; +}); +</script> +<iframe src=002-1.html></iframe> diff --git a/testing/web-platform/tests/websockets/unload-a-document/005-1.html b/testing/web-platform/tests/websockets/unload-a-document/005-1.html new file mode 100644 index 000000000..04a14874a --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/005-1.html @@ -0,0 +1,25 @@ +<!doctype html> +<title>WebSockets: navigating nested browsing context with a websocket in top-level</title> +<script src=../constants.js?pipe=sub></script> +<meta name="variant" content=""> +<meta name="variant" content="?wss"> +<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) { + setTimeout(t.step_func(function() { + ws.send('test'); + }), 1000); + window[0].location = 'data:text/html,<body onload="history.back()">'; + ws.onmessage = t.step_func(function(e) { + ws.close(); + t.done(); + }); + }); + ws.onerror = ws.onmessage = ws.onclose = t.step_func(function(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> diff --git a/testing/web-platform/tests/websockets/unload-a-document/005.html b/testing/web-platform/tests/websockets/unload-a-document/005.html new file mode 100644 index 000000000..4bafe8b60 --- /dev/null +++ b/testing/web-platform/tests/websockets/unload-a-document/005.html @@ -0,0 +1,20 @@ +<!doctype html> +<title>WebSockets: navigating nested browsing context with a websocket in top-level</title> +<meta name=timeout content=long> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=../constants.js?pipe=sub></script> +<meta name="variant" content=""> +<meta name="variant" content="?wss"> +<div id=log></div> +<p>Test requires popup blocker disabled</p> +<div id=log></div> +<script> +var t = async_test(null, {timeout:15000}); +t.step(function() { + var w = window.open("005-1.html"); + add_result_callback(function() { + w.close(); + }); +}); +</script> |