window-sharedworker-failure.html (1147B)
1 <!doctype html> 2 <!-- Based on similar tests in html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/ --> 3 <title>WebAssembly.Modules cannot cross agent clusters, shared worker edition</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="./resources/create-empty-wasm-module.js"></script> 7 <script> 8 async_test(t => { 9 const sw = new SharedWorker("resources/sharedworker-failure.js") 10 let state = "" 11 sw.port.onmessage = t.step_func(e => { 12 if(e.data === "send-sw-failure") { 13 sw.port.postMessage(createEmptyWasmModule()) 14 } else if(e.data === "send-sw-failure-success") { 15 state = "send-window-failure" 16 sw.port.postMessage(state) 17 } else { 18 assert_unreached() 19 } 20 }) 21 sw.port.onmessageerror = t.step_func(e => { 22 if(state === "send-window-failure") { 23 assert_equals(e.data, null, "data") 24 assert_equals(e.origin, "", "origin") 25 assert_equals(e.source, null, "source") 26 assert_equals(e.ports.length, 0, "ports length") 27 t.done() 28 } else { 29 assert_unreached() 30 } 31 }) 32 }) 33 </script>