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:
@@ -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 [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user