Bug 1410921 - Reuse toolbox modules from netmonitor panel. r=Honza draft
authorAlexandre Poirot <poirot.alex@gmail.com>
Mon, 23 Oct 2017 09:04:31 -0700
changeset 684777 af51cbb782ce6e67c15f4fc578b668d3820a6290
parent 684776 aee978783731da3eef04e3792f5b0a8de7dccc81
child 736965 ec64a30b96692bd2da967f62af75ce033f15bb55
push id85726
push userbmo:poirot.alex@gmail.com
push dateMon, 23 Oct 2017 16:07:05 +0000
reviewersHonza
bugs1410921
milestone58.0a1
Bug 1410921 - Reuse toolbox modules from netmonitor panel. r=Honza MozReview-Commit-ID: J3W2rXaX3oE
devtools/client/netmonitor/index.html
--- a/devtools/client/netmonitor/index.html
+++ b/devtools/client/netmonitor/index.html
@@ -9,48 +9,50 @@
     <link rel="stylesheet" href="chrome://devtools/content/netmonitor/src/assets/styles/netmonitor.css"/>
     <script src="chrome://devtools/content/shared/theme-switching.js"></script>
   </head>
   <body class="theme-body" role="application">
     <div id="mount"></div>
     <script>
       "use strict";
 
-      const { BrowserLoader } = Components.utils.import(
-        "resource://devtools/client/shared/browser-loader.js", {});
-      const require = window.windowRequire = BrowserLoader({
-        baseURI: "resource://devtools/client/netmonitor/",
-        window,
-      }).require;
-
-      const EventEmitter = require("devtools/shared/old-event-emitter");
-      const { createFactory } = require("devtools/client/shared/vendor/react");
-      const { render, unmountComponentAtNode } = require("devtools/client/shared/vendor/react-dom");
-      const Provider = createFactory(require("devtools/client/shared/vendor/react-redux").Provider);
-      const { bindActionCreators } = require("devtools/client/shared/vendor/redux");
-      const { Connector } = require("./src/connector/index");
-      const { configureStore } = require("./src/utils/create-store");
-      const App = createFactory(require("./src/components/App"));
-      const { getDisplayedRequestById } = require("./src/selectors/index");
-      const { EVENTS } = require("./src/constants");
-
-      // Inject EventEmitter into global window.
-      EventEmitter.decorate(window);
-
-      // Configure store/state object.
-      let connector = new Connector();
-      const store = configureStore(connector);
-      const actions = bindActionCreators(require("./src/actions/index"), store.dispatch);
-
-      // Inject to global window for testing
-      window.store = store;
-      window.connector = connector;
-
       window.Netmonitor = {
         bootstrap({ toolbox }) {
+          const { BrowserLoader } = Components.utils.import(
+            "resource://devtools/client/shared/browser-loader.js", {});
+          const require = window.windowRequire = BrowserLoader({
+            baseURI: "resource://devtools/client/netmonitor/",
+            window,
+            // toolbox isn't available in browser console, nor in launchpad?
+            commonLibRequire: toolbox ? toolbox.browserRequire : null,
+          }).require;
+
+          const EventEmitter = require("devtools/shared/old-event-emitter");
+          const { createFactory } = require("devtools/client/shared/vendor/react");
+          const { render, unmountComponentAtNode } = require("devtools/client/shared/vendor/react-dom");
+          const Provider = createFactory(require("devtools/client/shared/vendor/react-redux").Provider);
+          const { bindActionCreators } = require("devtools/client/shared/vendor/redux");
+          const { Connector } = require("./src/connector/index");
+          const { configureStore } = require("./src/utils/create-store");
+          const App = createFactory(require("./src/components/App"));
+          const { getDisplayedRequestById } = require("./src/selectors/index");
+          const { EVENTS } = require("./src/constants");
+
+          // Inject EventEmitter into global window.
+          EventEmitter.decorate(window);
+
+          // Configure store/state object.
+          let connector = new Connector();
+          const store = configureStore(connector);
+          const actions = bindActionCreators(require("./src/actions/index"), store.dispatch);
+
+          // Inject to global window for testing
+          window.store = store;
+          window.connector = connector;
+
           this.mount = document.querySelector("#mount");
 
           const connection = {
             tabConnection: {
               tabTarget: toolbox.target,
             },
             toolbox,
           };