tor-browser

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

shared-worker-memory.js (637B)


      1 'use strict';
      2 
      3 let stored_data = null;
      4 
      5 function processMessage(e) {
      6  function respond(data) {
      7    e.currentTarget.postMessage(Object.assign(data, {reqid: e.data.reqid}));
      8  }
      9 
     10  switch (e.data.op) {
     11    case 'load': {
     12      respond({ack: 'load', status: 'OK', data: stored_data});
     13      break;
     14    }
     15    case 'store': {
     16      try {
     17        stored_data = e.data.data
     18      } catch (err) {
     19        respond({ack: 'store', status: 'ERROR', error: err.name});
     20        return;
     21      }
     22      respond({ack: 'store', status: 'OK'});
     23      break;
     24    }
     25  }
     26 }
     27 
     28 self.addEventListener('connect', e => {
     29  e.ports[0].onmessage = processMessage;
     30 });