tor-browser

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

background.js (1124B)


      1 const port = browser.runtime.connectNative("browser");
      2 
      3 async function apiCall(message) {
      4  const { type, since, removalOptions, dataTypes } = message;
      5  switch (type) {
      6    case "clear-downloads":
      7      await browser.browsingData.removeDownloads({ since });
      8      break;
      9    case "clear-form-data":
     10      await browser.browsingData.removeFormData({ since });
     11      break;
     12    case "clear-history":
     13      await browser.browsingData.removeHistory({ since });
     14      break;
     15    case "clear-passwords":
     16      await browser.browsingData.removePasswords({ since });
     17      break;
     18    case "clear":
     19      await browser.browsingData.remove(removalOptions, dataTypes);
     20      break;
     21    case "get-settings":
     22      return browser.browsingData.settings();
     23  }
     24  return null;
     25 }
     26 
     27 port.onMessage.addListener(async message => {
     28  const { uuid } = message;
     29  try {
     30    const result = await apiCall(message);
     31    port.postMessage({
     32      type: "response",
     33      result,
     34      uuid,
     35    });
     36  } catch (exception) {
     37    const { message } = exception;
     38    port.postMessage({
     39      type: "error",
     40      error: message,
     41      uuid,
     42    });
     43  }
     44 });