tor-browser

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

test_sharedWorker.html (1373B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test for cookies + SharedWorker loading when the policy changes</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
      7  <script type="application/javascript" src="cookiesHelper.js"></script>
      8 </head>
      9 <body>
     10 <script type="application/javascript">
     11 
     12 runTests(async (w, state) => {
     13  w.document.cookie = "name=value";
     14 
     15  if (state == BLOCKED) {
     16    try {
     17      new w.SharedWorker("cookie.sjs?sharedworker&" + Math.random());
     18      ok(false, "SharedWorker should not be allowed!");
     19    } catch (ex) {
     20      ok(true, "SharedWorker should not be allowed!");
     21    }
     22    return;
     23  }
     24 
     25  let p = new w.SharedWorker("cookie.sjs?sharedworker&" + Math.random());
     26  await new w.Promise(resolve => { p.port.onmessage = resolve; });
     27  await checkLastRequest("sharedworker", state);
     28 
     29  await new w.Promise(resolve => {
     30    p.port.postMessage("subworker");
     31    p.port.onmessage = resolve;
     32  });
     33  await checkLastRequest("subworker", state);
     34 
     35  await new w.Promise(resolve => {
     36    p.port.postMessage("fetch");
     37    p.port.onmessage = resolve;
     38  });
     39  await checkLastRequest("fetch", state);
     40 
     41  await new w.Promise(resolve => {
     42    p.port.postMessage("xhr");
     43    p.port.onmessage = resolve;
     44  });
     45  await checkLastRequest("xhr", state);
     46 });
     47 
     48 </script>
     49 </body>
     50 </html>