mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision 8a14626934f5748a4ea6210847a02c0d8bbc8560
This commit is contained in:
parent
defc176333
commit
4851e4e2b9
133 changed files with 3076 additions and 304 deletions
|
@ -1,10 +1,48 @@
|
|||
<!doctype html>
|
||||
<title>opener and "removed" embedded documents</title>
|
||||
<title>opener and discarded browsing contexts</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<div id=log></div>
|
||||
<iframe name=matchesastring></iframe>
|
||||
<script>
|
||||
function testOpener(t, otherW, thisW, discardOtherBC, isDiscardedFromATask) {
|
||||
assert_equals(otherW.opener, thisW, "opener before removal");
|
||||
|
||||
const openerDesc = Object.getOwnPropertyDescriptor(otherW, "opener"),
|
||||
openerGet = openerDesc.get;
|
||||
|
||||
assert_equals(openerGet(), thisW, "opener before removal via directly invoking the getter");
|
||||
discardOtherBC();
|
||||
if (isDiscardedFromATask) {
|
||||
t.step_timeout(() => {
|
||||
testOpenerRemainder(t, otherW, openerDesc, openerGet);
|
||||
}, 250);
|
||||
} else {
|
||||
testOpenerRemainder(t, otherW, openerDesc, openerGet);
|
||||
}
|
||||
}
|
||||
|
||||
function testOpenerRemainder(t, otherW, openerDesc, openerGet) {
|
||||
assert_equals(otherW.opener, null, "opener after removal");
|
||||
assert_equals(openerGet(), null, "opener after removal via directly invoking the getter");
|
||||
|
||||
otherW.opener = null;
|
||||
assert_equals(openerGet(), null, "opener after setting it null via directly invoking the getter");
|
||||
const openerDescNull = Object.getOwnPropertyDescriptor(otherW, "opener");
|
||||
assert_not_equals(openerDescNull, openerDesc);
|
||||
assert_object_equals(openerDescNull, openerDesc);
|
||||
|
||||
otherW.opener = "immaterial";
|
||||
assert_equals(openerGet(), null, "opener after setting it \"immaterial\" via directly invoking the getter");
|
||||
const openerDescImmaterial = Object.getOwnPropertyDescriptor(otherW, "opener");
|
||||
assert_equals(openerDescImmaterial.value, "immaterial");
|
||||
assert_true(openerDescImmaterial.writable);
|
||||
assert_true(openerDescImmaterial.enumerable);
|
||||
assert_true(openerDescImmaterial.configurable);
|
||||
|
||||
t.done();
|
||||
}
|
||||
|
||||
async_test(t => {
|
||||
const frame = document.querySelector("iframe"),
|
||||
frameW = frame.contentWindow;
|
||||
|
@ -14,33 +52,15 @@ async_test(t => {
|
|||
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();
|
||||
testOpener(t, frameW, window, () => frame.remove(), false);
|
||||
});
|
||||
window.open("/common/blank.html", "matchesastring");
|
||||
});
|
||||
}, "opener of discarded nested browsing context");
|
||||
|
||||
async_test(t => {
|
||||
const popupW = window.open("/common/blank.html");
|
||||
popupW.onload = t.step_func(() => {
|
||||
testOpener(t, popupW, window, () => popupW.close(), true);
|
||||
});
|
||||
}, "opener of discarded auxiliary browsing context");
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue