| <!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> |