tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_metaRefresh.html (1598B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title><!-- TODO: insert title here --></title>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
      8  <script>
      9    SimpleTest.waitForExplicitFinish();
     10    SimpleTest.requestFlakyTimeout("Use a timeout to check that a load doesn't happen.");
     11 
     12    async function runTest() {
     13      function refreshed(frame) {
     14        return new Promise((resolve) => {
     15          frame.addEventListener("load", () => {
     16            let timeout = setTimeout(() => {
     17              resolve(false);
     18            }, 5000);
     19            frame.addEventListener("load", () => {
     20              clearTimeout(timeout);
     21              resolve(true);
     22            }, { once: true });
     23          }, { once: true });
     24        });
     25      }
     26 
     27      let frame = document.getElementById("frame");
     28      let result = refreshed(frame);
     29      frame.src = "file_metaRefresh.xml";
     30      is(await result, true, "Meta refresh should work in iframe document created by XSLT.");
     31 
     32      let sandBoxedFrame = document.getElementById("sandBoxedFrame");
     33      result = refreshed(sandBoxedFrame);
     34      sandBoxedFrame.src = "file_metaRefresh.xml";
     35      is(await result, false, "Meta refresh shouldn't work in sandboxed iframe document created by XSLT.");
     36 
     37      SimpleTest.finish();
     38    }
     39  </script>
     40 </head>
     41 <body onload="runTest();">
     42 <p id="display"></p>
     43 <iframe id="frame"></iframe>
     44 <iframe sandbox="allow-same-origin" id="sandBoxedFrame"></iframe>
     45 <div id="content" style="display: none"></div>
     46 <pre id="test"></pre>
     47 </body>
     48 </html>