mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 13:48:23 +02:00
Differential Revision: https://phabricator.services.mozilla.com/D15082 --HG-- extra : moz-landing-system : lando
35 lines
1.3 KiB
JavaScript
35 lines
1.3 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 });
|
|
});
|
|
});
|