diff options
Diffstat (limited to 'testing/web-platform/tests/html/browsers/windows/embedded-opener.html')
-rw-r--r-- | testing/web-platform/tests/html/browsers/windows/embedded-opener.html | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/browsers/windows/embedded-opener.html b/testing/web-platform/tests/html/browsers/windows/embedded-opener.html new file mode 100644 index 0000000000..8e02664342 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/windows/embedded-opener.html @@ -0,0 +1,32 @@ +<!doctype html> +<title>opener and embedded documents; using window.open()</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<iframe name=matchesastring></iframe> +<script> +async_test(t => { + const frame = document.querySelector("iframe"); + frame.onload = t.step_func(() => { + // Firefox and Chrome/Safari load differently + if (frame.contentWindow.location.href === "about:blank") { + return; + } + + // Test bits + assert_equals(frame.contentWindow.opener, window, "opener before setting it to null"); + + const openerDesc = Object.getOwnPropertyDescriptor(frame.contentWindow, "opener"), + openerGet = openerDesc.get; + + assert_equals(openerGet(), window, "opener before setting it to null via directly invoking the getter"); + frame.contentWindow.opener = null; + frame.contentWindow.opener = "immaterial"; + assert_equals(openerGet(), null, "opener after setting it to null via directly invoking the getter"); + assert_equals(frame.contentWindow.opener, "immaterial"); + + t.done(); + }); + window.open("/common/blank.html", "matchesastring"); +}); +</script> |