1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-26 13:15:46 +01:00

Ditch the bloody chrome registry.

This commit is contained in:
Kris Maglione
2011-01-13 16:04:32 -05:00
parent 203730ae62
commit 6fcd00e8ca
15 changed files with 122 additions and 101 deletions

View File

@@ -296,7 +296,7 @@ var IO = Module("io", {
return File(file);
},
isJarURL: function (url) {
isJarURL: function isJarURL(url) {
try {
let uri = util.newURI(url);
let channel = services.io.newChannelFromURI(uri);
@@ -308,6 +308,22 @@ var IO = Module("io", {
return false;
},
listJar: function listJar(file, path) {
file = util.getFile(file);
if (file) {
// let jar = services.zipReader.getZip(file); Crashes.
let jar = services.ZipReader(file);
try {
for (let entry in jar.findEntries("*"))
if (filter.test(s))
yield entry;
}
finally {
jar.close();
}
}
},
readHeredoc: function (end) {
return "";
},
@@ -869,25 +885,12 @@ unlet s:cpo_save
let uri = io.isJarURL(dir);
if (uri)
context.generate = function generate_jar() {
let file = util.getFile(uri.JARFile);
if (file) {
// let jar = services.zipReader.getZip(file); Crashes.
let jar = services.ZipReader(file);
try {
let filter = RegExp("^" + util.regexp.escape(decodeURI(getDir(uri.JAREntry)))
+ "[^/]*/?$");
return [
{
isDirectory: function () s.substr(-1) == "/",
leafName: /([^\/]*)\/?$/.exec(s)[1]
}
for (s in iter(jar.findEntries("*"))) if (filter.test(s))
]
return [
{
isDirectory: function () s.substr(-1) == "/",
leafName: /([^\/]*)\/?$/.exec(s)[1]
}
finally {
jar.close();
}
}
for (s in io.listJar(getDir(uri.JARFile, uri.JAREntry)))]
};
else
context.generate = function generate_file() {