diff --git a/common/bootstrap.js b/common/bootstrap.js index 46d231b7..65469a7d 100755 --- a/common/bootstrap.js +++ b/common/bootstrap.js @@ -36,7 +36,7 @@ try { // Temporary migration code. catch (e) {} const BOOTSTRAP_CONTRACT = "@dactyl.googlecode.com/base/bootstrap"; -JSMLoader = JSMLoader || BOOTSTRAP_CONTRACT in Cc && Cc[BOOTSTRAP_CONTRACT].getService().wrappedJSObject; +JSMLoader = JSMLoader || BOOTSTRAP_CONTRACT in Cc && Cc[BOOTSTRAP_CONTRACT].getService().wrappedJSObject.loader; function reportError(e) { dump("\ndactyl: bootstrap: " + e + "\n" + (e.stack || Error().stack) + "\n"); @@ -203,11 +203,13 @@ function init() { instance: { QueryInterface: XPCOMUtils.generateQI([]), contractID: BOOTSTRAP_CONTRACT, - wrappedJSObject: JSMLoader + wrappedJSObject: {} }, createInstance: function () this.instance }) + Cc[BOOTSTRAP_CONTRACT].getService().wrappedJSObject.loader = JSMLoader; + for each (let component in components) component.register(); diff --git a/common/modules/bootstrap.jsm b/common/modules/bootstrap.jsm index 173589e8..4b5b531a 100644 --- a/common/modules/bootstrap.jsm +++ b/common/modules/bootstrap.jsm @@ -11,7 +11,7 @@ var global = this; var BOOTSTRAP_CONTRACT = "@dactyl.googlecode.com/base/bootstrap"; var JSMLoader = BOOTSTRAP_CONTRACT in Components.classes && - Components.classes[BOOTSTRAP_CONTRACT].getService().wrappedJSObject; + Components.classes[BOOTSTRAP_CONTRACT].getService().wrappedJSObject.loader; if (!JSMLoader || JSMLoader.bump != 4) JSMLoader = {