tor-browser

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

reporting-worker.js (601B)


      1 function run({script, port}) {
      2  const reports = [];
      3  const observer = new ReportingObserver((rs) => {
      4    for (const r of rs) {
      5      reports.push(r.toJSON());
      6    }
      7  });
      8  // Wait 200ms for reports to settle.
      9  setTimeout(() => {
     10    observer.disconnect();
     11    port.postMessage(reports);
     12  }, 200);
     13  observer.observe();
     14 
     15  // This eval call may generate some reports.
     16  eval(script);
     17 }
     18 
     19 // For DedicatedWorker and ServiceWorker
     20 self.addEventListener('message', (e) => run(e.data));
     21 
     22 // For SharedWorker
     23 self.addEventListener('connect', (e) => {
     24  e.ports[0].onmessage = (ev) => run(ev.data);
     25 });