| Index: Source/devtools/front_end/elements/ElementsPanel.js
|
| diff --git a/Source/devtools/front_end/elements/ElementsPanel.js b/Source/devtools/front_end/elements/ElementsPanel.js
|
| index 22af3ab2a06188c1a584e4bd46e4662d3484da01..6ffbd155bca8727fcc229583569c1f801c89d252 100644
|
| --- a/Source/devtools/front_end/elements/ElementsPanel.js
|
| +++ b/Source/devtools/front_end/elements/ElementsPanel.js
|
| @@ -38,7 +38,6 @@ WebInspector.ElementsPanel = function()
|
| {
|
| WebInspector.Panel.call(this, "elements");
|
| this.registerRequiredCSS("elementsPanel.css");
|
| - this.setHideOnDetach();
|
|
|
| this._splitView = new WebInspector.SplitView(true, true, "elementsPanelSplitViewState", 325, 325);
|
| this._splitView.addEventListener(WebInspector.SplitView.Events.SidebarSizeChanged, this._updateTreeOutlineVisibleWidth.bind(this));
|
| @@ -92,7 +91,6 @@ WebInspector.ElementsPanel = function()
|
| this.sidebarPanes.styles.addEventListener("style edited", this._stylesPaneEdited, this);
|
| this.sidebarPanes.styles.addEventListener("style property toggled", this._stylesPaneEdited, this);
|
| this.sidebarPanes.metrics.addEventListener("metrics edited", this._metricsPaneEdited, this);
|
| - this._extensionSidebarPanes = [];
|
|
|
| WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged, this._dockSideChanged.bind(this));
|
| WebInspector.settings.splitVerticallyWhenDockedToRight.addChangeListener(this._dockSideChanged.bind(this));
|
| @@ -109,6 +107,7 @@ WebInspector.ElementsPanel = function()
|
| WebInspector.settings.showUAShadowDOM.addChangeListener(this._showUAShadowDOMChanged.bind(this));
|
| WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspector.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this);
|
| WebInspector.targetManager.addModelListener(WebInspector.CSSStyleModel, WebInspector.CSSStyleModel.Events.ModelWasEnabled, this._updateSidebars, this);
|
| + WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.Events.SidebarPaneAdded, this._extensionSidebarPaneAdded, this);
|
| }
|
|
|
| WebInspector.ElementsPanel.prototype = {
|
| @@ -1431,21 +1430,32 @@ WebInspector.ElementsPanel.prototype = {
|
| this.sidebarPaneView.addPane(this.sidebarPanes.animations);
|
| this._extensionSidebarPanesContainer = this.sidebarPaneView;
|
|
|
| - for (var i = 0; i < this._extensionSidebarPanes.length; ++i)
|
| - this._extensionSidebarPanesContainer.addPane(this._extensionSidebarPanes[i]);
|
| + var extensionSidebarPanes = WebInspector.extensionServer.sidebarPanes();
|
| + for (var i = 0; i < extensionSidebarPanes.length; ++i)
|
| + this._addExtensionSidebarPane(extensionSidebarPanes[i]);
|
|
|
| this.sidebarPaneView.show(this._splitView.sidebarElement());
|
| this.sidebarPanes.styles.expand();
|
| },
|
|
|
| /**
|
| - * @param {string} id
|
| - * @param {!WebInspector.SidebarPane} pane
|
| + * @param {!WebInspector.Event} event
|
| */
|
| - addExtensionSidebarPane: function(id, pane)
|
| + _extensionSidebarPaneAdded: function(event)
|
| {
|
| - this._extensionSidebarPanes.push(pane);
|
| - this._extensionSidebarPanesContainer.addPane(pane);
|
| + var pane = /** @type {!WebInspector.ExtensionSidebarPane} */ (event.data);
|
| + this._addExtensionSidebarPane(pane);
|
| + },
|
| +
|
| + /**
|
| + * @param {!WebInspector.ExtensionSidebarPane} pane
|
| + */
|
| + _addExtensionSidebarPane: function(pane)
|
| + {
|
| + if (pane.panelName() === this.name) {
|
| + this.setHideOnDetach();
|
| + this._extensionSidebarPanesContainer.addPane(pane);
|
| + }
|
| },
|
|
|
| __proto__: WebInspector.Panel.prototype
|
|
|