script_entries.js (1352B)
1 /* eslint-env mozilla/chrome-script */ 2 // eslint-disable-next-line mozilla/reject-importGlobalProperties 3 Cu.importGlobalProperties(["File", "Directory"]); 4 var tmpFile, tmpDir; 5 6 addMessageListener("entries.open", function () { 7 tmpFile = Services.dirsvc 8 .QueryInterface(Ci.nsIProperties) 9 .get("TmpD", Ci.nsIFile); 10 tmpFile.append("file.txt"); 11 tmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600); 12 13 tmpDir = Services.dirsvc 14 .QueryInterface(Ci.nsIProperties) 15 .get("TmpD", Ci.nsIFile); 16 17 tmpDir.append("dir-test"); 18 tmpDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, 0o700); 19 20 var file1 = tmpDir.clone(); 21 file1.append("foo.txt"); 22 file1.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600); 23 24 var dir1 = tmpDir.clone(); 25 dir1.append("subdir"); 26 dir1.create(Ci.nsIFile.DIRECTORY_TYPE, 0o700); 27 28 var file2 = dir1.clone(); 29 file2.append("bar..txt"); // Note the double .. 30 file2.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600); 31 32 var dir2 = dir1.clone(); 33 dir2.append("subsubdir"); 34 dir2.create(Ci.nsIFile.DIRECTORY_TYPE, 0o700); 35 36 File.createFromNsIFile(tmpFile).then(function (file) { 37 sendAsyncMessage("entries.opened", { 38 data: [new Directory(tmpDir.path), file], 39 }); 40 }); 41 }); 42 43 addMessageListener("entries.delete", function () { 44 tmpFile.remove(true); 45 tmpDir.remove(true); 46 sendAsyncMessage("entries.deleted"); 47 });