Bug 1314931 - LayoutView should be browserRequire as the root component r=Honza

This commit is contained in:
Gabriel Luong 2016-11-04 19:30:01 +09:00
parent 11dbca2419
commit 5fcbc5cb50
3 changed files with 16 additions and 13 deletions

View File

@ -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) {

View File

@ -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;

View File

@ -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",