How do I traverse a directory in Mozilla Firefox 4.0 and beyond? -



How do I traverse a directory in Mozilla Firefox 4.0 and beyond? -

used this:

class="lang-js prettyprint-override">// firefox 3.6 , before; mozilla 1.9.2 , before var ext = this.cc["@mozilla.org/extensions/manager;1"] .getservice(this.ci.nsiextensionmanager) .getinstalllocation(id) .getitemlocation(id); // list xml files in installation folder: var entries = ext.directoryentries; var files = []; while(entries.hasmoreelements()) { )

how ext variable now? have gotten far following:

class="lang-js prettyprint-override">components.utils.import("resource://gre/modules/addonmanager.jsm"); addonmanager.getaddonbyid(id, function(addon) { ext = addon.getresourceuri(""); }

but not sure how directory info traverse it...

there might not directory traverse - starting firefox 4 extensions no longer unpacked when install them, resource uri point xpi file (via jar: protocol scheme). again, in cases extension unpacked upon installation, file:/// uri. should (untested):

class="lang-js prettyprint-override">var uri = addon.getresourceuri(""); if (uri instanceof components.interfaces.nsijaruri) { var xpifile = uri.jarfile.queryinterface(components.interfaces.nsifileurl).file; var reader = components.classes["@mozilla.org/libjar/zip-reader;1"] .createinstance(components.interfaces.nsizipreader); reader.init(xpifile); var enumerator = reader.findentries(null); while (enumerator.hasmoreelements()) { var entry = enumerator.getnext().queryinterface(components.interfaces.nsizipentry); alert(entry.name); } reader.close(); } else if (uri instanceof components.interfaces.nsifileurl) { var dir = uri.file; var enumerator = dir.directoryentries; while (enumerator.hasmoreelements()) { var entry = enumerator.getnext().queryinterface(components.interfaces.nsifile); alert(entry.path); } } else throw new error("unexpected install location");

firefox firefox-addon directory traversal

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -