| <!DOCTYPE html> | |
| <html class="test-wait"> | |
| <script id="workerScript" type="text/worker"> | |
| // Blob will pass a huge Uint8Array object whose stringification will take long | |
| const encoder = new TextEncoderStream() | |
| const blob = new Blob([new ArrayBuffer(1338720)]) | |
| const writable = new WritableStream() | |
| blob.stream().pipeThrough(encoder).pipeTo(writable) | |
| // Wait a bit for the piping to start | |
| Promise.resolve().then(() => postMessage('started')); | |
| </script> | |
| <script> | |
| const worker = new Worker(URL.createObjectURL(new Blob([ | |
| document.getElementById("workerScript").textContent | |
| ]))) | |
| worker.onmessage = () => { | |
| worker.terminate(); | |
| document.documentElement.classList.remove("test-wait"); | |
| }; | |
| </script> |