1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-17 17:25:48 +01:00

Minor chrome: URI completion bug fixes.

This commit is contained in:
Kris Maglione
2010-12-16 02:03:22 -05:00
parent b1331b689d
commit 011a7edd29
2 changed files with 9 additions and 12 deletions

View File

@@ -215,7 +215,7 @@ const IO = Module("io", {
let channel = services.io.newChannelFromURI(uri); let channel = services.io.newChannelFromURI(uri);
channel.cancel(Cr.NS_BINDING_ABORTED); channel.cancel(Cr.NS_BINDING_ABORTED);
if (channel instanceof Ci.nsIJARChannel) if (channel instanceof Ci.nsIJARChannel)
return channel.QueryInterface(Ci.nsIJARChannel); return channel.URI.QueryInterface(Ci.nsIJARURI);
} }
catch (e) {} catch (e) {}
return false; return false;
@@ -670,7 +670,7 @@ lookup:
dir = getDir(dir || context.filter); dir = getDir(dir || context.filter);
let file = util.getFile(dir); let file = util.getFile(dir);
if (file && file.exists() && !file.isDirectory()) if (file && (!file.exists() || !file.isDirectory()))
file = file.parent; file = file.parent;
if (!full) if (!full)
@@ -694,22 +694,22 @@ lookup:
// context.background = true; // context.background = true;
context.key = dir; context.key = dir;
let channel = io.isJarURL(dir); let uri = io.isJarURL(dir);
if (channel) if (uri)
context.generate = function generate_jar() { context.generate = function generate_jar() {
let uri = channel.URI.QueryInterface(Ci.nsIJARURI);
let file = util.getFile(uri.JARFile); let file = util.getFile(uri.JARFile);
if (file) { if (file) {
// let jar = services.zipReader.getZip(file); Crashes. // let jar = services.zipReader.getZip(file); Crashes.
let jar = services.ZipReader(file); let jar = services.ZipReader(file);
try { try {
let path = decodeURI(getDir(uri.JAREntry)); let filter = RegExp("^" + util.regexp.escape(decodeURI(getDir(uri.JAREntry)))
+ "[^/]*/?$");
return [ return [
{ {
isDirectory: function () s.substr(-1) == "/", isDirectory: function () s.substr(-1) == "/",
leafName: /([^\/]*)\/?$/.exec(s)[1] leafName: /([^\/]*)\/?$/.exec(s)[1]
} }
for (s in iter(jar.findEntries("*"))) if (s.indexOf(path) == 0) for (s in iter(jar.findEntries("*"))) if (filter.test(s))
] ]
} }
finally { finally {
@@ -720,12 +720,9 @@ lookup:
else else
context.generate = function generate_file() { context.generate = function generate_file() {
try { try {
util.dump(String(file), file && file.path);
return io.File(file || dir).readDirectory(); return io.File(file || dir).readDirectory();
} }
catch (e) { catch (e) {}
util.reportError(e);
}
return []; return [];
}; };
}; };

View File

@@ -29,7 +29,7 @@
<Description <Description
em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
em:minVersion="3.5" em:minVersion="3.5"
em:maxVersion="4.0b8pre"/> em:maxVersion="4.0b9pre"/>
</em:targetApplication> </em:targetApplication>
</Description> </Description>
</RDF> </RDF>