tor-browser

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

UtilsChild.mjs (1001B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 function _sendMessage(messageBody) {
      7  const messageHeader = {
      8    moduleName: "UtilsParent",
      9    objectName: "UtilsParent",
     10  };
     11 
     12  const message = { ...messageHeader, ...messageBody };
     13 
     14  postMessage(message);
     15 }
     16 
     17 function _recvMessage() {
     18  return new Promise(function (resolve) {
     19    addEventListener("message", async function onMessage(event) {
     20      removeEventListener("message", onMessage);
     21      const data = event.data;
     22      resolve(data);
     23    });
     24  });
     25 }
     26 
     27 export const UtilsChild = {
     28  async getCachedOriginUsage() {
     29    _sendMessage({
     30      op: "getCachedOriginUsage",
     31    });
     32 
     33    return _recvMessage();
     34  },
     35 
     36  async shrinkStorageSize(size) {
     37    _sendMessage({
     38      op: "shrinkStorageSize",
     39      size,
     40    });
     41 
     42    return _recvMessage();
     43  },
     44 
     45  async restoreStorageSize() {
     46    _sendMessage({
     47      op: "restoreStorageSize",
     48    });
     49 
     50    return _recvMessage();
     51  },
     52 };