X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=js%2FlocalFile.js;h=3709aeea47cae198764074b51c4d4c87e4014e1a;hp=40d4ac8376c8c43e9d219887703176f21b09473f;hb=c21f22c897782e6d49ce1e8cd06e2cb27d02d2f6;hpb=fd2a7fe743221bea7c20e3519bdd5c864288f4c7 diff --git a/js/localFile.js b/js/localFile.js index 40d4ac8..3709aee 100644 --- a/js/localFile.js +++ b/js/localFile.js @@ -4,7 +4,9 @@ return $.browser.mozilla; }; - var loadBin_mozilla = function (path) { + var loadBin_mozilla = function (localFile) { + /* localFile: nsILocalFile */ + try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } @@ -14,12 +16,9 @@ "signed.applets.codebase_principal_support is set to true."); } - var localFile - = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); - localFile.initWithPath(path); - var stream - = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream); + = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance( + Components.interfaces.nsIFileInputStream); stream.init(localFile, 0x01, 00004, null); var bstream @@ -29,7 +28,8 @@ bstream.QueryInterface(Components.interfaces.nsIInputStream); var binary - = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream); + = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance( + Components.interfaces.nsIBinaryInputStream); binary.setInputStream(stream); return binary.readBytes(binary.available()); @@ -72,7 +72,7 @@ var ret = picker.show(); if (ret == nsIFilePicker.returnOK || ret == nsIFilePicker.returnReplace) { - return picker.file.path; + return picker.file; } else { return null; @@ -88,9 +88,9 @@ } }; - Rakka.loadLocalBinaryFile = function (path) { + Rakka.loadLocalBinaryFile = function (file) { if ($.browser.mozilla) { - return loadBin_mozilla(path); + return loadBin_mozilla(file); } else { throw new Error("It's not possible to load local files using JavaScript with your browser. Consider using Firefox.");