Bug 1320793 - Fix lazy loading of pseudo modules in devtools. r=jryans draft
authorAlexandre Poirot <poirot.alex@gmail.com>
Mon, 28 Nov 2016 07:43:14 -0800
changeset 445341 59cd3e03199ccce352b78f93f6c0d1d382841128
parent 445303 f8107cf961444a8d7fdc2c0f446238af9893f875
child 445342 540259d401a65648355c39c6c58a95bb2aa5c7d0
push id37489
push userbmo:poirot.alex@gmail.com
push dateTue, 29 Nov 2016 14:01:39 +0000
reviewersjryans
bugs1320793
milestone53.0a1
Bug 1320793 - Fix lazy loading of pseudo modules in devtools. r=jryans MozReview-Commit-ID: 51rH3WBH3dh
devtools/shared/Loader.jsm
--- a/devtools/shared/Loader.jsm
+++ b/devtools/shared/Loader.jsm
@@ -177,19 +177,22 @@ DevToolsLoader.prototype = {
     // can't be flagged as invisible to debugger.
     if (this.invisibleToDebugger) {
       delete modules.promise;
     }
 
     // Register custom pseudo modules to the current loader instance
     let loader = this._provider.loader;
     for (let id in modules) {
-      let exports = modules[id];
       let uri = resolveURI(id, loader.mapping);
-      loader.modules[uri] = { exports };
+      loader.modules[uri] = {
+        get exports() {
+          return modules[id];
+        }
+      };
     }
 
     // Register custom globals to the current loader instance
     globals.loader.id = this.id;
     Object.defineProperties(loader.globals, descriptor(globals));
 
     // Expose lazy helpers on loader
     this.lazyGetter = globals.loader.lazyGetter;