tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

create-blob-url-worker.js (657B)


      1 const childWorkerScript = `
      2  self.onmessage = async (e) => {
      3    const response = await fetch(e.data);
      4    const text = await response.text();
      5    self.postMessage(text);
      6  };
      7 `;
      8 const blob = new Blob([childWorkerScript], { type: 'text/javascript' });
      9 const blobUrl = URL.createObjectURL(blob);
     10 const childWorker = new Worker(blobUrl);
     11 
     12 // When a message comes from the parent frame, sends a resource url to the child
     13 // worker.
     14 self.onmessage = (e) => {
     15  childWorker.postMessage(e.data);
     16 };
     17 
     18 // When a message comes from the child worker, sends a content of fetch() to the
     19 // parent frame.
     20 childWorker.onmessage = (e) => {
     21  self.postMessage(e.data);
     22 };