Skip to content

Commit

Permalink
HTML: opener of a Window sans browsing context
Browse files Browse the repository at this point in the history
  • Loading branch information
annevk authored and Marcos Cáceres committed Jul 23, 2019
1 parent 9a2f8d9 commit 1b107ac
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions html/browsers/windows/embedded-opener-remove-frame.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!doctype html>
<title>opener and "removed" embedded documents</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"),
frameW = frame.contentWindow;
frame.onload = t.step_func(() => {
// Firefox and Chrome/Safari load differently
if (frame.contentWindow.location.href === "about:blank") {
return;
}

// Test bits
assert_equals(frameW.opener, window, "opener before removal");

const openerDesc = Object.getOwnPropertyDescriptor(frameW, "opener"),
openerGet = openerDesc.get;

assert_equals(openerGet(), window, "opener before removal via directly invoking the getter");
frame.remove();
assert_equals(frameW.opener, null, "opener after removal");
assert_equals(openerGet(), null, "opener after removal via directly invoking the getter");

frameW.opener = null;
assert_equals(openerGet(), null, "opener after setting it null via directly invoking the getter");
const openerDescNull = Object.getOwnPropertyDescriptor(frameW, "opener");
assert_not_equals(openerDescNull, openerDesc);
assert_object_equals(openerDescNull, openerDesc);

frameW.opener = "immaterial";
assert_equals(openerGet(), null, "opener after setting it \"immaterial\" via directly invoking the getter");
const openerDescImmaterial = Object.getOwnPropertyDescriptor(frameW, "opener");
assert_equals(openerDescImmaterial.value, "immaterial");
assert_true(openerDescImmaterial.writable);
assert_true(openerDescImmaterial.enumerable);
assert_true(openerDescImmaterial.configurable);

t.done();
});
window.open("/common/blank.html", "matchesastring");
});
</script>

0 comments on commit 1b107ac

Please sign in to comment.