mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
0a8ff0ad85
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D35951 --HG-- extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
Cu.importGlobalProperties(["File"]);
|
|
|
|
addMessageListener("file.open", function(e) {
|
|
var tmpFile = Cc["@mozilla.org/file/directory_service;1"]
|
|
.getService(Ci.nsIDirectoryService)
|
|
.QueryInterface(Ci.nsIProperties)
|
|
.get("TmpD", Ci.nsIFile);
|
|
tmpFile.append("file.txt");
|
|
tmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
|
|
|
|
File.createFromNsIFile(tmpFile).then(function(file) {
|
|
sendAsyncMessage("file.opened", { data: file });
|
|
});
|
|
});
|
|
|
|
addMessageListener("nonEmptyFile.open", function(e) {
|
|
var tmpFile = Cc["@mozilla.org/file/directory_service;1"]
|
|
.getService(Ci.nsIDirectoryService)
|
|
.QueryInterface(Ci.nsIProperties)
|
|
.get("TmpD", Ci.nsIFile);
|
|
tmpFile.append("file.txt");
|
|
tmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
|
|
|
|
var outStream = Cc[
|
|
"@mozilla.org/network/file-output-stream;1"
|
|
].createInstance(Ci.nsIFileOutputStream);
|
|
outStream.init(
|
|
tmpFile,
|
|
0x02 | 0x08 | 0x20, // write, create, truncate
|
|
0o666,
|
|
0
|
|
);
|
|
var fileData = "Hello world!";
|
|
outStream.write(fileData, fileData.length);
|
|
outStream.close();
|
|
|
|
File.createFromNsIFile(tmpFile).then(function(file) {
|
|
sendAsyncMessage("nonEmptyFile.opened", { data: file });
|
|
});
|
|
});
|