Chromium Code Reviews| Index: Source/devtools/front_end/sources/SourcesPanel.js |
| diff --git a/Source/devtools/front_end/sources/SourcesPanel.js b/Source/devtools/front_end/sources/SourcesPanel.js |
| index c84ac4472133ca52bce5ba4fe069491568d6c6d6..bd83945496696c2275ce7f5def5299b9c6516caf 100644 |
| --- a/Source/devtools/front_end/sources/SourcesPanel.js |
| +++ b/Source/devtools/front_end/sources/SourcesPanel.js |
| @@ -44,6 +44,8 @@ importScript("StyleSheetOutlineDialog.js"); |
| importScript("TabbedEditorContainer.js"); |
| importScript("WatchExpressionsSidebarPane.js"); |
| importScript("WorkersSidebarPane.js"); |
| +importScript("ThreadsSidebarPane.js"); |
| + |
| importScript("ScriptFormatterEditorAction.js"); |
| importScript("InplaceFormatterEditorAction.js"); |
| importScript("ScriptFormatter.js"); |
| @@ -56,8 +58,9 @@ importScript("SourcesSearchScope.js"); |
| /** |
| * @constructor |
| - * @implements {WebInspector.ContextMenu.Provider} |
| * @extends {WebInspector.Panel} |
| + * @implements {WebInspector.ContextMenu.Provider} |
| + * @implements {WebInspector.TargetManager.Observer} |
| * @param {!WebInspector.Workspace=} workspaceForTest |
| */ |
| WebInspector.SourcesPanel = function(workspaceForTest) |
| @@ -70,9 +73,6 @@ WebInspector.SourcesPanel = function(workspaceForTest) |
| this.debugToolbar = this._createDebugToolbar(); |
| this._debugToolbarDrawer = this._createDebugToolbarDrawer(); |
| - this._targetsToolbar = new WebInspector.StatusBarComboBox(null, "targets-select"); |
| - this._targetsToolbar.element.id = "targets-toolbar"; |
| - this._targetsComboBoxController = new WebInspector.TargetsComboBoxController(this._targetsToolbar.selectElement(), this._targetsToolbar.element); |
| const initialDebugSidebarWidth = 225; |
| this._splitView = new WebInspector.SplitView(true, true, "sourcesPanelSplitViewState", initialDebugSidebarWidth); |
| @@ -106,6 +106,7 @@ WebInspector.SourcesPanel = function(workspaceForTest) |
| this._splitView.installResizer(this._debugSidebarResizeWidgetElement); |
| this.sidebarPanes = {}; |
| + this.sidebarPanes.threads = new WebInspector.ThreadsSidebarPane(); |
| this.sidebarPanes.watchExpressions = new WebInspector.WatchExpressionsSidebarPane(); |
| this.sidebarPanes.callstack = new WebInspector.CallStackSidebarPane(); |
| this.sidebarPanes.callstack.addEventListener(WebInspector.CallStackSidebarPane.Events.CallFrameSelected, this._callFrameSelectedInSidebar.bind(this)); |
| @@ -117,7 +118,7 @@ WebInspector.SourcesPanel = function(workspaceForTest) |
| this.sidebarPanes.xhrBreakpoints = new WebInspector.XHRBreakpointsSidebarPane(); |
| this.sidebarPanes.eventListenerBreakpoints = new WebInspector.EventListenerBreakpointsSidebarPane(); |
| - if (!WebInspector.isWorkerFrontend()) |
| + if (!WebInspector.isWorkerFrontend() && !WebInspector.experimentsSettings.workersInMainWindow.isEnabled()) |
| this.sidebarPanes.workerList = new WebInspector.WorkersSidebarPane(); |
| this._extensionSidebarPanes = []; |
| @@ -140,6 +141,7 @@ WebInspector.SourcesPanel = function(workspaceForTest) |
| WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.CallFrameSelected, this._callFrameSelected, this); |
| WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.ConsoleCommandEvaluatedInSelectedCallFrame, this._consoleCommandEvaluatedInSelectedCallFrame, this); |
| WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.GlobalObjectCleared, this._debuggerReset, this); |
| + WebInspector.targetManager.observeTargets(this); |
| } |
| WebInspector.SourcesPanel.minToolbarWidth = 215; |
| @@ -1072,7 +1074,6 @@ WebInspector.SourcesPanel.prototype = { |
| var vbox = new WebInspector.VBox(); |
| vbox.element.appendChild(this._debugToolbarDrawer); |
| vbox.element.appendChild(this.debugToolbar); |
| - vbox.element.appendChild(this._targetsToolbar.element); |
| vbox.setMinimumAndPreferredSizes(25, 25, WebInspector.SourcesPanel.minToolbarWidth, 100); |
| var sidebarPaneStack = new WebInspector.SidebarPaneStack(); |
| sidebarPaneStack.element.classList.add("flex-auto"); |
| @@ -1083,13 +1084,13 @@ WebInspector.SourcesPanel.prototype = { |
| for (var pane in this.sidebarPanes) |
| sidebarPaneStack.addPane(this.sidebarPanes[pane]); |
| this._extensionSidebarPanesContainer = sidebarPaneStack; |
| - |
| this.sidebarPaneView = vbox; |
| } else { |
| var splitView = new WebInspector.SplitView(true, true, "sourcesPanelDebuggerSidebarSplitViewState", 0.5); |
| vbox.show(splitView.mainElement()); |
| // Populate the left stack. |
| + sidebarPaneStack.addPane(this.sidebarPanes.threads); |
| sidebarPaneStack.addPane(this.sidebarPanes.callstack); |
| sidebarPaneStack.addPane(this.sidebarPanes.jsBreakpoints); |
| sidebarPaneStack.addPane(this.sidebarPanes.domBreakpoints); |
| @@ -1110,11 +1111,12 @@ WebInspector.SourcesPanel.prototype = { |
| this._extensionSidebarPanesContainer.addPane(this._extensionSidebarPanes[i]); |
| this.sidebarPaneView.show(this._splitView.sidebarElement()); |
| - |
| + this.sidebarPanes.threads.expand(); |
| this.sidebarPanes.scopechain.expand(); |
| this.sidebarPanes.jsBreakpoints.expand(); |
| this.sidebarPanes.callstack.expand(); |
| - |
| + this._sidebarPaneStack = sidebarPaneStack; |
| + this._updateTargetsSidebarVisibility(); |
| if (WebInspector.settings.watchExpressions.get().length > 0) |
| this.sidebarPanes.watchExpressions.expand(); |
| }, |
| @@ -1138,6 +1140,29 @@ WebInspector.SourcesPanel.prototype = { |
| return this._sourcesView; |
| }, |
| + /** |
| + * @param {!WebInspector.Target} target |
| + */ |
| + targetAdded: function(target) |
| + { |
| + this._updateTargetsSidebarVisibility(); |
| + }, |
| + |
| + /** |
| + * @param {!WebInspector.Target} target |
| + */ |
| + targetRemoved: function(target) |
| + { |
| + this._updateTargetsSidebarVisibility(); |
| + }, |
| + |
| + _updateTargetsSidebarVisibility: function() |
| + { |
| + if (!this._sidebarPaneStack) |
| + return; |
| + this._sidebarPaneStack.toggleHidden(this.sidebarPanes.threads, WebInspector.targetManager.targets().length < 2); |
|
vsevik
2014/08/08 08:32:03
togglePaneHidden
sergeyv
2014/08/08 09:01:50
Done.
|
| + }, |
| + |
| __proto__: WebInspector.Panel.prototype |
| } |