Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<!-- Based on similar tests in html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/ -->
<title>WebAssembly.Module cannot cross agent clusters, BroadcastChannel edition</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./resources/test-incrementer.js"></script>
<script>
async_test(t => {
const channel = new BroadcastChannel("anne was here"),
dw = new Worker("resources/broadcastchannel-worker.js"),
sw = new SharedWorker("resources/broadcastchannel-sharedworker.js");
let startCounter = 0,
dwStatus = "unknown",
swStatus = "unknown";
channel.onmessage = t.step_func(({ data }) => {
if(data === "hi") {
startCounter++;
if(startCounter === 2) {
createWasmModule().then(module => {
channel.postMessage(module);
});
} else if(startCounter > 2) {
assert_unreached();
}
} else if(data === "dw-success") {
dwStatus = "success";
} else if(data === "sw-success") {
swStatus = "success";
} else {
assert_unreached();
}
if(dwStatus === "success" && swStatus === "success") {
t.done();
}
});
});
</script>