tor-browser

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

test_bug1739957.html (1316B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title>Importing a node should respect sandbox</title>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
      8  <script>
      9    SimpleTest.waitForExplicitFinish();
     10 
     11    function imageHasLoaded() {
     12      return fetch("bug1739957.sjs?loaded")
     13        .then(response => response.text())
     14        .then(loaded => Boolean(loaded));
     15    }
     16 
     17    async function test() {
     18      let newDiv = document.createElement("div");
     19      newDiv.innerHTML = `<img src="bug1739957.sjs" onload="parent.postMessage('handlerRuns', '*')">`;
     20 
     21      let eventHandlerCalled = false;
     22      window.addEventListener("message", () => { eventHandlerCalled = true; }, { once: true })
     23 
     24      document.getElementById("frame").contentDocument.body.appendChild(newDiv);
     25 
     26      await SimpleTest.promiseWaitForCondition(imageHasLoaded, "Wait for image to load");
     27 
     28      ok(!eventHandlerCalled, "Event handlers on imported nodes shouldn't execute if sandbox doesn't allow script");
     29 
     30      SimpleTest.finish();
     31    }
     32  </script>
     33 </head>
     34 <body onload="test();">
     35 <p id="display"></p>
     36 <iframe id="frame" sandbox="allow-same-origin" src="about:blank"></iframe>
     37 <div id="content" style="display: none"></div>
     38 <pre id="test"></pre>
     39 </body>
     40 </html>