1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 22:07:58 +01:00

Fix loading components after XPI update.

This commit is contained in:
Kris Maglione
2011-01-13 19:59:21 -05:00
parent e2b89a6af3
commit 967a213019
3 changed files with 16 additions and 9 deletions

6
common/bootstrap.js vendored
View File

@@ -63,8 +63,8 @@ function startup(data, reason) {
AddonManager.getAddonByID(addon.id, function (a) { addon = a; });
// Temporary hack.
if (basePath.isDirectory() && false && JSMLoader.bump == null)
JSMLoader.bump = 1;
if (basePath.isDirectory() && JSMLoader.bump == null)
JSMLoader.bump = 2;
if (basePath.isDirectory())
getURI = function getURI(path) {
@@ -100,6 +100,8 @@ FactoryProxy.prototype = {
dump("dactyl: bootstrap: create module: " + this.contractID + "\n");
Object.defineProperty(this, "module", { value: {}, enumerable: true });
dump("get module " + this.url + "\n");
dump(" " + (JSMLoader.stale[this.url]) + "\n");
JSMLoader.load(this.url, this.module);
return this.module;
},

View File

@@ -8,9 +8,9 @@ let is_bootstrap = 1;
try {
if (!JSMLoader || JSMLoader.bump != 1)
if (!JSMLoader || JSMLoader.bump != 2)
var JSMLoader = {
bump: 1,
bump: 2,
builtin: Components.utils.Sandbox(this),
canonical: {},
factories: [],
@@ -32,13 +32,15 @@ if (!JSMLoader || JSMLoader.bump != 1)
let url = name;
if (url.indexOf(":") === -1)
url = "resource://dactyl" + this.suffix + "/" + url;
let targetURL = this.getTarget(url);
if (name in this.stale) {
let stale = this.stale[name];
let stale = this.stale[name] || this.stale[targetURL];
if (stale) {
delete this.stale[name];
delete this.stale[targetURL];
let global = this.globals[name];
if (stale === this.getTarget(url))
if (stale === targetURL)
this.loadSubScript(url, global.global || global);
}
@@ -65,7 +67,9 @@ if (!JSMLoader || JSMLoader.bump != 1)
},
purge: function purge() {
for (let [url, global] in Iterator(this.globals)) {
this.stale[url] = this.getTarget(url);
let target = this.getTarget(url);
this.stale[url] = target;
this.stale[target] = target;
for each (let prop in Object.getOwnPropertyNames(global))
try {

View File

@@ -9,8 +9,9 @@
try {
Components.utils.import("resource://dactyl/bootstrap.jsm");
let frag=1;
defineModule("util", {
exports: ["FailedAssertion", "Math", "NS", "Point", "Util", "XBL", "XHTML", "XUL", "util"],
exports: ["frag", "FailedAssertion", "Math", "NS", "Point", "Util", "XBL", "XHTML", "XUL", "util"],
require: ["services"],
use: ["config", "highlight", "storage", "template"]
}, this);