Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

test(t => {
const popup = window.open();
t.add_cleanup(() => popup.close());
assert_equals(popup.opener, self, "The opener of the popup is me");
assert_equals(Object.getOwnPropertyDescriptor(popup, "opener").writable, undefined);
popup.opener = "blah";
assert_equals(popup.opener, "blah", "The popup's opener is now a string");
assert_equals(Object.getOwnPropertyDescriptor(popup, "opener").writable, true);
const openerGetter = Object.getOwnPropertyDescriptor(self, "opener").get;
const popupOpener = openerGetter.call(popup);
assert_equals(popupOpener, self, "The underlying opener of the popup is still me");
}, "Setting popup.opener to a string");