diff --git a/devtools/client/inspector/inspector.js b/devtools/client/inspector/inspector.js index a6a65cc63412..6060500ee28f 100644 --- a/devtools/client/inspector/inspector.js +++ b/devtools/client/inspector/inspector.js @@ -29,7 +29,6 @@ const {ComputedViewTool} = require("devtools/client/inspector/computed/computed" const {FontInspector} = require("devtools/client/inspector/fonts/fonts"); const {HTMLBreadcrumbs} = require("devtools/client/inspector/breadcrumbs"); const {InspectorSearch} = require("devtools/client/inspector/inspector-search"); -const {LayoutViewTool} = require("devtools/client/inspector/layout/layout"); const MarkupView = require("devtools/client/inspector/markup/markup"); const {RuleViewTool} = require("devtools/client/inspector/rules/rules"); const {ToolSidebar} = require("devtools/client/inspector/toolsidebar"); @@ -577,7 +576,8 @@ Inspector.prototype = { defaultTab == "layoutview" ); - this.layoutview = new LayoutViewTool(this, this.panelWin); + const {LayoutView} = this.browserRequire("devtools/client/inspector/layout/layout"); + this.layoutview = new LayoutView(this, this.panelWin); } if (this.target.form.animationsActor) { diff --git a/devtools/client/inspector/layout/layout.js b/devtools/client/inspector/layout/layout.js index 04bc35a1ad96..b250ecde8e65 100644 --- a/devtools/client/inspector/layout/layout.js +++ b/devtools/client/inspector/layout/layout.js @@ -4,7 +4,15 @@ "use strict"; -function LayoutViewTool(inspector, window) { +const { createFactory, createElement } = + require("devtools/client/shared/vendor/react"); +const ReactDOM = require("devtools/client/shared/vendor/react-dom"); +const { Provider } = require("devtools/client/shared/vendor/react-redux"); + +const App = createFactory(require("./components/app")); +const Store = require("./store"); + +function LayoutView(inspector, window) { this.inspector = inspector; this.document = window.document; this.store = null; @@ -12,17 +20,11 @@ function LayoutViewTool(inspector, window) { this.init(); } -LayoutViewTool.prototype = { +LayoutView.prototype = { init() { - const { React, ReactDOM, ReactRedux, browserRequire } = this.inspector; - - const Store = browserRequire("devtools/client/inspector/layout/store"); - const App = React.createFactory( - browserRequire("devtools/client/inspector/layout/components/App")); - let store = this.store = Store(); - let provider = React.createElement(ReactRedux.Provider, { store }, App()); + let provider = createElement(Provider, { store }, App()); ReactDOM.render(provider, this.document.querySelector("#layoutview-container")); }, @@ -31,7 +33,7 @@ LayoutViewTool.prototype = { this.document = null; this.store = null; }, - }; -exports.LayoutViewTool = LayoutViewTool; +exports.LayoutView = LayoutView; + diff --git a/devtools/client/shared/browser-loader.js b/devtools/client/shared/browser-loader.js index 361ea1c47be0..f5cac31e7b8a 100644 --- a/devtools/client/shared/browser-loader.js +++ b/devtools/client/shared/browser-loader.js @@ -12,6 +12,7 @@ const Services = devtools.require("Services"); const { AppConstants } = devtools.require("resource://gre/modules/AppConstants.jsm"); const BROWSER_BASED_DIRS = [ + "resource://devtools/client/inspector/layout", "resource://devtools/client/jsonview", "resource://devtools/client/shared/vendor", "resource://devtools/client/shared/redux",