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>