tor-browser

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

broadcastchannel-success-and-failure.https.html (1070B)


      1 <!doctype html>
      2 <title>SharedArrayBuffer cannot cross agent clusters, BroadcastChannel edition</title>
      3 <script src=/resources/testharness.js></script>
      4 <script src=/resources/testharnessreport.js></script>
      5 <script>
      6 async_test(t => {
      7  const channel = new BroadcastChannel("anne was here"),
      8        dw = new Worker("resources/broadcastchannel-worker.js"),
      9        sw = new SharedWorker("resources/broadcastchannel-sharedworker.js");
     10  let startCounter = 0,
     11      dwStatus = "unknown",
     12      swStatus = "unknown";
     13 
     14  channel.onmessage = t.step_func(({ data }) => {
     15    if(data === "hi") {
     16      startCounter++;
     17      if(startCounter === 2) {
     18        const sab = new SharedArrayBuffer();
     19        channel.postMessage(sab);
     20      } else if(startCounter > 2) {
     21        assert_unreached();
     22      }
     23    } else if(data === "dw-success") {
     24      dwStatus = "success";
     25    } else if(data === "sw-success") {
     26      swStatus = "success";
     27    } else {
     28      assert_unreached();
     29    }
     30    if(dwStatus === "success" && swStatus === "success") {
     31      t.done();
     32    }
     33  });
     34 });
     35 </script>