1<!DOCTYPE html> 2<html class="test-wait"> 3<script id="workerScript" type="text/worker"> 4 // Blob will pass a huge Uint8Array object whose stringification will take long 5 const encoder = new TextEncoderStream() 6 const blob = new Blob([new ArrayBuffer(1338720)]) 7 const writable = new WritableStream() 8 blob.stream().pipeThrough(encoder).pipeTo(writable) 9 // Wait a bit for the piping to start 10 Promise.resolve().then(() => postMessage('started')); 11</script> 12<script> 13 const worker = new Worker(URL.createObjectURL(new Blob([ 14 document.getElementById("workerScript").textContent 15 ]))) 16 worker.onmessage = () => { 17 worker.terminate(); 18 document.documentElement.classList.remove("test-wait"); 19 }; 20</script> 21