Create-on-worker-shutdown.any.js (849B)
1 async_test(t => { 2 function workerCode() { 3 close(); 4 var ws = new WebSocket(self.location.origin.replace('http', 'ws')); 5 var data = { 6 originalState: ws.readyState, 7 afterCloseState: null 8 }; 9 10 ws.close(); 11 12 data.afterCloseState = ws.readyState; 13 postMessage(data); 14 } 15 16 var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], { 17 type: "application/javascript" 18 }); 19 20 var w = new Worker(URL.createObjectURL(workerBlob)); 21 w.onmessage = t.step_func(function(e) { 22 assert_equals(e.data.originalState, WebSocket.CONNECTING, "WebSocket created on worker shutdown is in connecting state."); 23 assert_equals(e.data.afterCloseState, WebSocket.CLOSING, "Closed WebSocket created on worker shutdown is in closing state."); 24 t.done(); 25 }); 26 }, 'WebSocket created after a worker self.close()');