opener-string.window.js (674B)
1 test(t => { 2 const popup = window.open(); 3 t.add_cleanup(() => popup.close()); 4 assert_equals(popup.opener, self, "The opener of the popup is me"); 5 assert_equals(Object.getOwnPropertyDescriptor(popup, "opener").writable, undefined); 6 7 popup.opener = "blah"; 8 assert_equals(popup.opener, "blah", "The popup's opener is now a string"); 9 assert_equals(Object.getOwnPropertyDescriptor(popup, "opener").writable, true); 10 11 const openerGetter = Object.getOwnPropertyDescriptor(self, "opener").get; 12 const popupOpener = openerGetter.call(popup); 13 assert_equals(popupOpener, self, "The underlying opener of the popup is still me"); 14 }, "Setting popup.opener to a string");