| Index: third_party/WebKit/LayoutTests/external/wpt/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..09454a13b20343df287fa530ed90738fa0f0ae27
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html
|
| @@ -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>
|
|
|