summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rwxr-xr-xcommon/bootstrap.js13
-rw-r--r--common/content/dactyl.js2
-rw-r--r--common/modules/bootstrap.jsm17
-rw-r--r--common/modules/config.jsm5
-rw-r--r--common/modules/overlay.jsm4
-rw-r--r--common/modules/sanitizer.jsm2
-rw-r--r--common/modules/util.jsm2
-rw-r--r--common/process_manifest.awk8
8 files changed, 23 insertions, 30 deletions
diff --git a/common/bootstrap.js b/common/bootstrap.js
index 34fb8802..768b2c5f 100755
--- a/common/bootstrap.js
+++ b/common/bootstrap.js
@@ -121,14 +121,14 @@ function init() {
let result = [];
+ let suffix = "-";
+ let chars = "0123456789abcdefghijklmnopqrstuv";
+ for (let n = Date.now(); n; n = Math.round(n / chars.length))
+ suffix += "0123456789abcdef"[n % chars.length];
+
for each (let line in manifest.split("\n")) {
let fields = line.split(/\s+/);
switch(fields[0]) {
- case "#":
- if (fields[1] == "Suffix:")
- var suffix = "-" + fields[2];
- break;
-
case "category":
categoryManager.addCategoryEntry(fields[1], fields[2], fields[3], false, true);
break;
@@ -140,8 +140,9 @@ function init() {
break;
case "resource":
- resources.push(fields[1]);
+ resources.push(fields[1], fields[1] + suffix);
resourceProto.setSubstitution(fields[1], getURI(fields[2]));
+ resourceProto.setSubstitution(fields[1] + suffix, getURI(fields[2]));
}
}
diff --git a/common/content/dactyl.js b/common/content/dactyl.js
index dc8b61a9..79617a61 100644
--- a/common/content/dactyl.js
+++ b/common/content/dactyl.js
@@ -361,7 +361,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
* should be loaded.
*/
loadScript: function (uri, context) {
- services.subscriptLoader.loadSubScript(uri, context, File.defaultEncoding);
+ JSMLoader.loadSubScript(uri, context, File.defaultEncoding);
},
userEval: function (str, context, fileName, lineNumber) {
diff --git a/common/modules/bootstrap.jsm b/common/modules/bootstrap.jsm
index 5609bf68..00758bc0 100644
--- a/common/modules/bootstrap.jsm
+++ b/common/modules/bootstrap.jsm
@@ -5,7 +5,6 @@
"use strict";
try {
-dump("=========== load bootstrap.jsm ===========\n");
if (!JSMLoader || JSMLoader.bump != 1)
var JSMLoader = {
@@ -16,6 +15,7 @@ if (!JSMLoader || JSMLoader.bump != 1)
factories: [],
globals: {},
io: Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService),
+ loader: Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader),
manager: Components.manager.QueryInterface(Components.interfaces.nsIComponentRegistrar),
stale: {},
suffix: "",
@@ -29,17 +29,13 @@ if (!JSMLoader || JSMLoader.bump != 1)
if (url.indexOf(":") === -1)
url = "resource://dactyl" + this.suffix + "/" + url;
- let stale = this.stale[url];
- if (stale) {
- dump("JSMLoader: load " + name + " " + stale + "\n");
- dump("JSMLoader: load " + name + " " + this.getTarget(url) + "\n");
+ if (url in this.stale) {
+ let stale = this.stale[url];
delete this.stale[url];
let global = this.globals[url];
if (stale === this.getTarget(url))
- Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
- .getService(Components.interfaces.mozIJSSubScriptLoader)
- .loadSubScript(url, global.global || global);
+ this.loadSubScript(url, global.global || global);
}
try {
@@ -58,6 +54,7 @@ if (!JSMLoader || JSMLoader.bump != 1)
throw e;
}
},
+ loadSubScript: function loadSubScript() this.loader.loadSubScript.apply(this.loader, arguments),
cleanup: function unregister() {
for each (let factory in this.factories.splice(0))
this.manager.unregisterFactory(factory.classID, factory);
@@ -94,6 +91,6 @@ Components.classes["@mozilla.org/fuel/application;1"]
.storage.set("dactyl.JSMLoader", JSMLoader);
JSMLoader.load("base.jsm", this);
-dump("exports: " + this.JSMLoader+" " +this.EXPORTED_SYMBOLS + "\n");
-}catch(e){dump(e+"\n"+(e.stack || Error().stack));Components.utils.reportError(e)}
+}catch(e){ dump(e + "\n" + (e.stack || Error().stack)); Components.utils.reportError(e) }
+
diff --git a/common/modules/config.jsm b/common/modules/config.jsm
index c7d28aac..77110d9e 100644
--- a/common/modules/config.jsm
+++ b/common/modules/config.jsm
@@ -81,7 +81,8 @@ var ConfigBase = Class("ConfigBase", {
}
else {
return array(f.leafName
- for (f in util.getFile(uri).iterDirectory())
+ // Fails on FF3: for (f in util.getFile(uri).iterDirectory())
+ for (f in values(util.getFile(uri).readDirectory()))
if (f.isDirectory())).array;
}
}),
@@ -636,7 +637,7 @@ var ConfigBase = Class("ConfigBase", {
]]></>)
});
-services.subscriptLoader.loadSubScript("resource://dactyl-local-content/config.js", this);
+JSMLoader.loadSubScript("resource://dactyl-local-content/config.js", this);
config.INIT = update(Object.create(config.INIT), config.INIT, {
init: function init(dactyl, modules, window) {
diff --git a/common/modules/overlay.jsm b/common/modules/overlay.jsm
index a1fa68d5..6ac9972e 100644
--- a/common/modules/overlay.jsm
+++ b/common/modules/overlay.jsm
@@ -88,7 +88,7 @@ var Overlay = Module("Overlay", {
const create = window.Object.create || (function () {
window.__dactyl_eval_string = "(function (proto) ({ __proto__: proto }))";
- services.subscriptLoader.loadSubScript(BASE + "eval.js", window);
+ JSMLoader.loadSubScript(BASE + "eval.js", window);
let res = window.__dactyl_eval_result;
delete window.__dactyl_eval_string;
@@ -110,7 +110,7 @@ var Overlay = Module("Overlay", {
load: function load(script) {
for (let [i, base] in Iterator(prefix)) {
try {
- services.subscriptLoader.loadSubScript(base + script + ".js", modules, "UTF-8");
+ JSMLoader.loadSubScript(base + script + ".js", modules, "UTF-8");
return;
}
catch (e) {
diff --git a/common/modules/sanitizer.jsm b/common/modules/sanitizer.jsm
index d211d288..ebc0b95c 100644
--- a/common/modules/sanitizer.jsm
+++ b/common/modules/sanitizer.jsm
@@ -21,7 +21,7 @@ defineModule("sanitizer", {
}, this);
let tmp = {};
-services.subscriptLoader.loadSubScript("chrome://browser/content/sanitize.js", tmp);
+JSMLoader.loadSubScript("chrome://browser/content/sanitize.js", tmp);
tmp.Sanitizer.prototype.__proto__ = Class.prototype;
var Range = Struct("min", "max");
diff --git a/common/modules/util.jsm b/common/modules/util.jsm
index eaa817d5..e2f09f7a 100644
--- a/common/modules/util.jsm
+++ b/common/modules/util.jsm
@@ -24,7 +24,7 @@ default xml namespace = XHTML;
memoize(this, "Commands", function () {
// FIXME
let obj = { Module: Class };
- services.subscriptLoader.loadSubScript("chrome://dactyl/content/commands.js", obj);
+ JSMLoader.loadSubScript("resource://dactyl-content/commands.js", obj);
return obj.Commands;
});
diff --git a/common/process_manifest.awk b/common/process_manifest.awk
index 9ed61942..8a513932 100644
--- a/common/process_manifest.awk
+++ b/common/process_manifest.awk
@@ -1,9 +1,7 @@
BEGIN {
chrome = "chrome"
- if (suffix) {
+ if (suffix)
chrome = suffix
- print "# Suffix: " suffix
- }
}
{ content = $1 ~ /^(content|skin|locale|resource)$/ }
content && $NF ~ /^[a-z]/ { $NF = "/" name "/" $NF }
@@ -17,10 +15,6 @@ content {
{
sub("^\\.\\./common/", "", $NF)
print
- if (content && suffix && $1 == "resource") {
- $2 = $2 "-" suffix
- print
- }
}
# vim:se sts=4 sw=4 et ft=awk: