tor-browser

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

simpleFileOpener.js (948B)


      1 /* eslint-env mozilla/chrome-script */
      2 
      3 // eslint-disable-next-line mozilla/reject-importGlobalProperties
      4 Cu.importGlobalProperties(["File"]);
      5 
      6 var file;
      7 
      8 addMessageListener("file.open", function (stem) {
      9  try {
     10    if (!file) {
     11      file = Cc["@mozilla.org/file/directory_service;1"]
     12        .getService(Ci.nsIProperties)
     13        .get("TmpD", Ci.nsIFile);
     14      file.append(stem);
     15      file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
     16    }
     17 
     18    File.createFromNsIFile(file).then(function (domFile) {
     19      sendAsyncMessage("file.opened", {
     20        fullPath: file.path,
     21        leafName: file.leafName,
     22        domFile,
     23      });
     24    });
     25  } catch (e) {
     26    sendAsyncMessage("fail", e.toString());
     27  }
     28 });
     29 
     30 addMessageListener("file.remove", function () {
     31  try {
     32    file.remove(/* recursive: */ false);
     33    file = undefined;
     34    sendAsyncMessage("file.removed", null);
     35  } catch (e) {
     36    sendAsyncMessage("fail", e.toString());
     37  }
     38 });