mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-21 00:28:00 +01:00
Fix loading components after XPI update.
This commit is contained in:
6
common/bootstrap.js
vendored
6
common/bootstrap.js
vendored
@@ -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;
|
||||
},
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user