mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision 2d68590d46a990bf28a08d6384a59962d2e56bf6
This commit is contained in:
parent
bc03d32142
commit
ad4cc3691e
135 changed files with 1613 additions and 341 deletions
|
@ -0,0 +1,15 @@
|
|||
async_test(t => {
|
||||
const frame = document.createElement("iframe");
|
||||
frame.onload = t.step_func(() => {
|
||||
const frameW = frame.contentWindow,
|
||||
frameD = frame.contentDocument;
|
||||
assert_equals(frameW.document, frameD);
|
||||
frame.remove();
|
||||
assert_equals(frameW.document, frameD);
|
||||
t.step_timeout(() => {
|
||||
assert_equals(frameW.document, frameD);
|
||||
t.done();
|
||||
}, 100);
|
||||
});
|
||||
document.body.append(frame);
|
||||
}, "Window object's document IDL attribute and discarding the browsing context");
|
|
@ -0,0 +1,43 @@
|
|||
function delayed_assert_done(t, w, windowProxySelfReference) {
|
||||
// Let's make sure nobody is being sneaky
|
||||
t.step_timeout(() => {
|
||||
t.step_timeout(() => {
|
||||
assert_equals(w[windowProxySelfReference], w, `${windowProxySelfReference} got cleared after some time`);
|
||||
t.done();
|
||||
}, 0);
|
||||
}, 0);
|
||||
}
|
||||
|
||||
[
|
||||
"frames",
|
||||
"globalThis",
|
||||
"self",
|
||||
"window"
|
||||
].forEach(windowProxySelfReference => {
|
||||
async_test(t => {
|
||||
const frame = document.body.appendChild(document.createElement("iframe")),
|
||||
otherW = frame.contentWindow;
|
||||
assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} is broken`);
|
||||
frame.remove();
|
||||
assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context removal`);
|
||||
assert_true(otherW.closed);
|
||||
|
||||
delayed_assert_done(t, otherW, windowProxySelfReference);
|
||||
}, `iframeWindow.${windowProxySelfReference} before and after removal`);
|
||||
|
||||
async_test(t => {
|
||||
const otherW = window.open();
|
||||
assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} is broken`);
|
||||
otherW.onunload = t.step_func(() => {
|
||||
assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context unload`);
|
||||
t.step_timeout(() => {
|
||||
assert_equals(otherW.opener, null); // Ensure browsing context is discarded
|
||||
assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context removal`);
|
||||
delayed_assert_done(t, otherW, windowProxySelfReference);
|
||||
}, 0);
|
||||
});
|
||||
otherW.close();
|
||||
assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context closure`);
|
||||
assert_true(otherW.closed);
|
||||
}, `popupWindow.${windowProxySelfReference} before, after closing, and after discarding`)
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue