зеркало из https://github.com/mozilla/gecko-dev.git
49 строки
1.4 KiB
JavaScript
49 строки
1.4 KiB
JavaScript
/* eslint-env mozilla/frame-script */
|
|
// eslint-disable-next-line mozilla/reject-importGlobalProperties
|
|
Cu.importGlobalProperties(["File", "Directory"]);
|
|
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
|
|
var tmpFile, tmpDir;
|
|
|
|
addMessageListener("entries.open", function(e) {
|
|
tmpFile = Services.dirsvc
|
|
.QueryInterface(Ci.nsIProperties)
|
|
.get("TmpD", Ci.nsIFile);
|
|
tmpFile.append("file.txt");
|
|
tmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
|
|
|
|
tmpDir = Services.dirsvc
|
|
.QueryInterface(Ci.nsIProperties)
|
|
.get("TmpD", Ci.nsIFile);
|
|
|
|
tmpDir.append("dir-test");
|
|
tmpDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, 0o700);
|
|
|
|
var file1 = tmpDir.clone();
|
|
file1.append("foo.txt");
|
|
file1.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
|
|
|
|
var dir1 = tmpDir.clone();
|
|
dir1.append("subdir");
|
|
dir1.create(Ci.nsIFile.DIRECTORY_TYPE, 0o700);
|
|
|
|
var file2 = dir1.clone();
|
|
file2.append("bar..txt"); // Note the double ..
|
|
file2.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
|
|
|
|
var dir2 = dir1.clone();
|
|
dir2.append("subsubdir");
|
|
dir2.create(Ci.nsIFile.DIRECTORY_TYPE, 0o700);
|
|
|
|
File.createFromNsIFile(tmpFile).then(function(file) {
|
|
sendAsyncMessage("entries.opened", {
|
|
data: [new Directory(tmpDir.path), file],
|
|
});
|
|
});
|
|
});
|
|
|
|
addMessageListener("entries.delete", function(e) {
|
|
tmpFile.remove(true);
|
|
tmpDir.remove(true);
|
|
sendAsyncMessage("entries.deleted");
|
|
});
|