blob: 15f0368d93313a6b10ae85d87829faa0613a917b [file] [log] [blame]
// META: script=websocket.sub.js
async_test(t => {
function workerCode() {
close();
var ws = new WebSocket(self.location.origin.replace('http', 'ws'));
var data = {
originalState: ws.readyState,
afterCloseState: null
};
ws.close();
data.afterCloseState = ws.readyState;
postMessage(data);
}
var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {
type: "application/javascript"
});
var w = new Worker(URL.createObjectURL(workerBlob));
w.onmessage = t.step_func(function(e) {
assert_equals(e.data.originalState, WebSocket.CONNECTING, "WebSocket created on worker shutdown is in connecting state.");
assert_equals(e.data.afterCloseState, WebSocket.CLOSING, "Closed WebSocket created on worker shutdown is in closing state.");
t.done();
});
}, 'WebSocket created after a worker self.close()');