diff options
Diffstat (limited to 'dom/xslt/tests/mochitest/test_metaRefresh.html')
-rw-r--r-- | dom/xslt/tests/mochitest/test_metaRefresh.html | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/dom/xslt/tests/mochitest/test_metaRefresh.html b/dom/xslt/tests/mochitest/test_metaRefresh.html new file mode 100644 index 0000000000..21338bed82 --- /dev/null +++ b/dom/xslt/tests/mochitest/test_metaRefresh.html @@ -0,0 +1,48 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title><!-- TODO: insert title here --></title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" href="/tests/SimpleTest/test.css"/> + <script> + SimpleTest.waitForExplicitFinish(); + SimpleTest.requestFlakyTimeout("Use a timeout to check that a load doesn't happen."); + + async function runTest() { + function refreshed(frame) { + return new Promise((resolve) => { + frame.addEventListener("load", () => { + let timeout = setTimeout(() => { + resolve(false); + }, 5000); + frame.addEventListener("load", () => { + clearTimeout(timeout); + resolve(true); + }, { once: true }); + }, { once: true }); + }); + } + + let frame = document.getElementById("frame"); + let result = refreshed(frame); + frame.src = "file_metaRefresh.xml"; + is(await result, true, "Meta refresh should work in iframe document created by XSLT."); + + let sandBoxedFrame = document.getElementById("sandBoxedFrame"); + result = refreshed(sandBoxedFrame); + sandBoxedFrame.src = "file_metaRefresh.xml"; + is(await result, false, "Meta refresh shouldn't work in sandboxed iframe document created by XSLT."); + + SimpleTest.finish(); + } + </script> +</head> +<body onload="runTest();"> +<p id="display"></p> +<iframe id="frame"></iframe> +<iframe sandbox="allow-same-origin" id="sandBoxedFrame"></iframe> +<div id="content" style="display: none"></div> +<pre id="test"></pre> +</body> +</html> |