port.start();
        worker.port.postMessage(secret);
      } catch (e) {
        throw new Error(&quot;Unsupported&quot;);
      }
    }

read: () =&gt;
      new Promise((resolve, reject) =&gt; {
        let worker = new SharedWorker(&quot;supercookies_sharedworker.js&quot;);
        worker.port.start();
        worker.port.postMessage(&quot;request&quot;);
        worker.port.onmessage = (e) =&gt; resolve(e.data);
        setTimeout(() =&gt; reject(&quot;no SharedWorker message received&quot;), 100);
  