forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			910 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			910 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* eslint-env mozilla/chrome-script */
 | |
| 
 | |
| Cu.importGlobalProperties(["File"]);
 | |
| 
 | |
| var tmpFile;
 | |
| 
 | |
| function writeFile(text, answer) {
 | |
|   var stream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(
 | |
|     Ci.nsIFileOutputStream
 | |
|   );
 | |
|   stream.init(tmpFile, 0x02 | 0x08 | 0x10, 0o600, 0);
 | |
|   stream.write(text, text.length);
 | |
|   stream.close();
 | |
| 
 | |
|   File.createFromNsIFile(tmpFile).then(function(file) {
 | |
|     sendAsyncMessage(answer, { file });
 | |
|   });
 | |
| }
 | |
| 
 | |
| addMessageListener("file.open", function(e) {
 | |
|   tmpFile = Cc["@mozilla.org/file/directory_service;1"]
 | |
|     .getService(Ci.nsIDirectoryService)
 | |
|     .QueryInterface(Ci.nsIProperties)
 | |
|     .get("TmpD", Ci.nsIFile);
 | |
|   tmpFile.append("foo.txt");
 | |
|   tmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
 | |
| 
 | |
|   writeFile("hello world", "file.opened");
 | |
| });
 | |
| 
 | |
| addMessageListener("file.change", function(e) {
 | |
|   writeFile("hello world---------------", "file.changed");
 | |
| });
 | 
