mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision 3137d1d2d7757366a69f8a449b458b5057e0e81e
This commit is contained in:
parent
81ca858678
commit
d6ba94ca28
2339 changed files with 89274 additions and 9328 deletions
|
@ -0,0 +1,56 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const sourceIFrame = document.createElement("iframe");
|
||||
sourceIFrame.setAttribute("sandbox", "allow-same-origin");
|
||||
|
||||
const destIFrame = document.createElement("iframe");
|
||||
|
||||
let sourceLoadCount = 0;
|
||||
let destLoadCount = 0;
|
||||
|
||||
sourceIFrame.onload = () => {
|
||||
++sourceLoadCount;
|
||||
|
||||
if (sourceLoadCount === 2) {
|
||||
assert_unreached("The iframe from which the meta came from must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
destIFrame.onload = () => {
|
||||
++destLoadCount;
|
||||
|
||||
if (destLoadCount === 2) {
|
||||
assert_unreached("The iframe into which the meta was moved must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
function maybeStartTest() {
|
||||
if (sourceLoadCount === 1 && destLoadCount === 1) {
|
||||
// Test that no refreshes occur within 3 seconds
|
||||
step_timeout(done, 3000);
|
||||
|
||||
const meta = sourceIFrame.contentDocument.querySelector("meta");
|
||||
destIFrame.contentDocument.body.appendChild(meta);
|
||||
}
|
||||
}
|
||||
|
||||
sourceIFrame.src = "support/refresh.sub.html?input=" + encodeURIComponent("1; url=foo");
|
||||
destIFrame.src = "support/ufoo";
|
||||
|
||||
document.body.appendChild(sourceIFrame);
|
||||
document.body.appendChild(destIFrame);
|
||||
</script>
|
|
@ -0,0 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh of the original iframe is not blocked if moved into a sandboxed iframe</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const sourceIFrame = document.createElement("iframe");
|
||||
|
||||
const destIFrame = document.createElement("iframe");
|
||||
destIFrame.setAttribute("sandbox", "allow-same-origin");
|
||||
|
||||
let sourceLoadCount = 0;
|
||||
let destLoadCount = 0;
|
||||
|
||||
sourceIFrame.onload = () => {
|
||||
++sourceLoadCount;
|
||||
|
||||
if (sourceLoadCount === 2) {
|
||||
assert_equals(sourceIFrame.contentDocument.body.textContent.trim(), "foo");
|
||||
done();
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
destIFrame.onload = () => {
|
||||
++destLoadCount;
|
||||
|
||||
if (destLoadCount === 2) {
|
||||
assert_unreached("The iframe into which the meta was moved must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
function maybeStartTest() {
|
||||
if (sourceLoadCount === 1 && destLoadCount === 1) {
|
||||
const meta = sourceIFrame.contentDocument.querySelector("meta");
|
||||
destIFrame.contentDocument.body.appendChild(meta);
|
||||
}
|
||||
}
|
||||
|
||||
sourceIFrame.src = "support/refresh.sub.html?input=" + encodeURIComponent("1; url=foo");
|
||||
destIFrame.src = "support/ufoo";
|
||||
|
||||
document.body.appendChild(sourceIFrame);
|
||||
document.body.appendChild(destIFrame);
|
||||
</script>
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh applies even when dynamically appended</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#pragma-directives">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const iframe = document.createElement("iframe");
|
||||
let loadCount = 0;
|
||||
|
||||
iframe.onload = () => {
|
||||
++loadCount;
|
||||
const iDocument = iframe.contentDocument;
|
||||
|
||||
if (loadCount === 1) {
|
||||
iDocument.body.innerHTML = `<meta http-equiv="refresh" content="1; url=foo">`;
|
||||
} else if (loadCount === 2) {
|
||||
assert_equals(iDocument.body.textContent.trim(), "foo");
|
||||
done();
|
||||
}
|
||||
};
|
||||
|
||||
iframe.src = "support/ufoo";
|
||||
document.body.appendChild(iframe);
|
||||
</script>
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>When moving between documents, must refresh the original document</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh">
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const sourceIFrame = document.createElement("iframe");
|
||||
const destIFrame = document.createElement("iframe");
|
||||
let sourceLoadCount = 0;
|
||||
let destLoadCount = 0;
|
||||
|
||||
sourceIFrame.onload = () => {
|
||||
++sourceLoadCount;
|
||||
|
||||
if (sourceLoadCount === 2) {
|
||||
assert_equals(sourceIFrame.contentDocument.body.textContent.trim(), "foo");
|
||||
done();
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
destIFrame.onload = () => {
|
||||
++destLoadCount;
|
||||
|
||||
if (destLoadCount === 2) {
|
||||
assert_unreached("The iframe into which the meta was moved must not refresh");
|
||||
}
|
||||
|
||||
maybeStartTest();
|
||||
};
|
||||
|
||||
function maybeStartTest() {
|
||||
if (sourceLoadCount === 1 && destLoadCount === 1) {
|
||||
const meta = sourceIFrame.contentDocument.querySelector("meta");
|
||||
destIFrame.contentDocument.body.appendChild(meta);
|
||||
}
|
||||
}
|
||||
|
||||
sourceIFrame.src = "support/refresh.sub.html?input=" + encodeURIComponent("1; url=foo");
|
||||
destIFrame.src = "support/ufoo";
|
||||
|
||||
document.body.appendChild(sourceIFrame);
|
||||
document.body.appendChild(destIFrame);
|
||||
</script>
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Meta refresh only applies while in the document tree, not in a shadow tree</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#pragma-directives">
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const iframe = document.createElement("iframe");
|
||||
iframe.src = "support/ufoo";
|
||||
|
||||
let loadCount = 0;
|
||||
|
||||
iframe.onload = () => {
|
||||
++loadCount;
|
||||
const iDocument = iframe.contentDocument;
|
||||
|
||||
if (loadCount === 1) {
|
||||
const div = iDocument.createElement("div");
|
||||
assert_true('attachShadow' in div, 'attachShadow support');
|
||||
const shadowRoot = div.attachShadow({ mode: "open" });
|
||||
shadowRoot.innerHTML = `<meta http-equiv="refresh" content="1; url=foo">`;
|
||||
iDocument.body.appendChild(div);
|
||||
|
||||
// Want to make sure no refreshes happen
|
||||
step_timeout(done, 3000);
|
||||
} else {
|
||||
assert_unreached("Got more than 1 load event");
|
||||
}
|
||||
};
|
||||
|
||||
document.body.appendChild(iframe);
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue