sharedworker-failure.js (450B)
1 let state = "send-sw-failure" 2 onconnect = initialE => { 3 let port = initialE.source; 4 port.postMessage(state) 5 port.onmessage = e => { 6 if(state === "" && e.data === "send-window-failure") { 7 port.postMessage(new SharedArrayBuffer()) 8 } else { 9 port.postMessage("failure") 10 } 11 } 12 port.onmessageerror = e => { 13 if(state === "send-sw-failure") { 14 port.postMessage("send-sw-failure-success") 15 state = "" 16 } 17 } 18 }