summaryrefslogtreecommitdiffstats
path: root/dom/xslt/tests/mochitest/test_metaRefresh.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xslt/tests/mochitest/test_metaRefresh.html')
-rw-r--r--dom/xslt/tests/mochitest/test_metaRefresh.html48
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>