2015-10-07 15:03:21 +03:00
|
|
|
var { classes: Cc, interfaces: Ci, utils: Cu } = Components;
|
2015-03-27 15:41:00 +03:00
|
|
|
Cu.importGlobalProperties(["File"]);
|
|
|
|
|
2015-09-15 21:19:45 +03:00
|
|
|
var file;
|
2015-03-27 15:41:00 +03:00
|
|
|
|
|
|
|
addMessageListener("file.open", function (stem) {
|
|
|
|
try {
|
|
|
|
if (!file) {
|
|
|
|
file = Cc["@mozilla.org/file/directory_service;1"]
|
|
|
|
.getService(Ci.nsIProperties).get("TmpD", Ci.nsIFile);
|
|
|
|
file.append(stem);
|
|
|
|
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
|
|
|
|
}
|
2017-02-08 12:18:32 +03:00
|
|
|
|
|
|
|
File.createFromNsIFile(file).then(function(domFile) {
|
|
|
|
sendAsyncMessage("file.opened", {
|
|
|
|
fullPath: file.path,
|
|
|
|
leafName: file.leafName,
|
|
|
|
domFile,
|
|
|
|
});
|
2015-03-27 15:41:00 +03:00
|
|
|
});
|
|
|
|
} catch(e) {
|
|
|
|
sendAsyncMessage("fail", e.toString());
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
addMessageListener("file.remove", function () {
|
|
|
|
try {
|
|
|
|
file.remove(/* recursive: */ false);
|
|
|
|
file = undefined;
|
|
|
|
sendAsyncMessage("file.removed", null);
|
|
|
|
} catch(e) {
|
|
|
|
sendAsyncMessage("fail", e.toString());
|
|
|
|
}
|
|
|
|
});
|