tor-browser

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

broadcastchannel-success-and-failure.html (1256B)


      1 <!doctype html>
      2 <!-- Based on similar tests in html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/ -->
      3 <title>WebAssembly.Module cannot cross agent clusters, BroadcastChannel edition</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="./resources/test-incrementer.js"></script>
      7 <script>
      8 async_test(t => {
      9  const channel = new BroadcastChannel("anne was here"),
     10        dw = new Worker("resources/broadcastchannel-worker.js"),
     11        sw = new SharedWorker("resources/broadcastchannel-sharedworker.js");
     12  let startCounter = 0,
     13      dwStatus = "unknown",
     14      swStatus = "unknown";
     15 
     16  channel.onmessage = t.step_func(({ data }) => {
     17    if(data === "hi") {
     18      startCounter++;
     19      if(startCounter === 2) {
     20        createWasmModule().then(module => {
     21          channel.postMessage(module);
     22        });
     23      } else if(startCounter > 2) {
     24        assert_unreached();
     25      }
     26    } else if(data === "dw-success") {
     27      dwStatus = "success";
     28    } else if(data === "sw-success") {
     29      swStatus = "success";
     30    } else {
     31      assert_unreached();
     32    }
     33    if(dwStatus === "success" && swStatus === "success") {
     34      t.done();
     35    }
     36  });
     37 });
     38 </script>