Source code
Revision control
Copy as Markdown
Other Tools
var messageHandler = function(port, e) {
var text_decoder = new TextDecoder;
port.postMessage({
content: text_decoder.decode(e.data),
byteLength: e.data.byteLength
});
// Send back the array buffer via Client.postMessage.
port.postMessage(e.data, {transfer: [e.data.buffer]});
port.postMessage({
content: text_decoder.decode(e.data),
byteLength: e.data.byteLength
});
};
self.addEventListener('message', e => {
if (e.ports[0]) {
// Wait for messages sent via MessagePort.
e.ports[0].onmessage = messageHandler.bind(null, e.ports[0]);
return;
}
messageHandler(e.source, e);
});