Files
brave-core/test/data/service-worker-websockets-limit.js
T

25 lines
850 B
JavaScript

addEventListener('install', function(event) {
event.waitUntil(self.skipWaiting()); // Activate worker immediately
});
addEventListener('activate', function(event) {
event.waitUntil(self.clients.claim()); // Become available to all pages
});
sockets = []
addEventListener('message', async event => {
if (event.data.cmd === 'open_ws') {
const client = await clients.get(event.source.id)
socket = new WebSocket(event.data.url);
sockets.push(socket);
socket.addEventListener('open', () => client.postMessage('open'));
socket.addEventListener('error', () => client.postMessage('error'));
} else if (event.data.cmd === 'close_ws') {
const client = await clients.get(event.source.id)
socket = sockets[event.data.idx]
socket.addEventListener('close', () => client.postMessage('close'));
socket.close();
}
});