Changeset 228722 in webkit
- Timestamp:
- Feb 19, 2018 6:04:30 PM (6 years ago)
- Location:
- trunk/Source/WebInspectorUI
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebInspectorUI/ChangeLog
r228581 r228722 1 2018-02-19 Matt Baker <mattbaker@apple.com> 2 3 Web Inspector: Canvas tab: hide navigation sidebar when viewing the overview 4 https://bugs.webkit.org/show_bug.cgi?id=182597 5 <rdar://problem/37341564> 6 7 Reviewed by Devin Rousso. 8 9 Support showing/hiding the navigation sidebar panel based on the current 10 represented object. Individual TabContentViews can opt-in to this behavior, 11 by overriding TabContentView.prototype.managesNavigationSidebarPanel. 12 13 * UserInterface/Views/CanvasSidebarPanel.js: 14 (WI.CanvasSidebarPanel.prototype.canShowRepresentedObject): 15 * UserInterface/Views/CanvasTabContentView.js: 16 (WI.CanvasTabContentView.prototype.get managesNavigationSidebarPanel): 17 Hide the Canvas navigation sidebar when viewing the overview. 18 19 * UserInterface/Views/ContentBrowserTabContentView.js: 20 (WI.ContentBrowserTabContentView): 21 (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel): 22 (WI.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange): 23 (WI.ContentBrowserTabContentView.prototype._contentBrowserCurrentRepresentedObjectsDidChange): 24 25 * UserInterface/Views/NavigationSidebarPanel.js: 26 (WI.NavigationSidebarPanel.prototype.canShowRepresentedObject): 27 Provide default implementation that just defers to the TabContentView. 28 This exists so that a NavigationSidebarPanel that implements canShowRepresentedObject 29 will have a meaningful default to fall back on. 30 31 * UserInterface/Views/TabBrowser.js: 32 (WI.TabBrowser.prototype._sidebarCollapsedStateDidChange): 33 (WI.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView): 34 35 * UserInterface/Views/TabContentView.js: 36 (WI.TabContentView.prototype.get managesNavigationSidebarPanel): 37 1 38 2018-02-16 Matt Baker <mattbaker@apple.com> 2 39 -
trunk/Source/WebInspectorUI/UserInterface/Views/CanvasSidebarPanel.js
r228362 r228722 152 152 } 153 153 154 canShowRepresentedObject(representedObject) 155 { 156 if (representedObject instanceof WI.CanvasCollection) 157 return false; 158 159 return super.canShowRepresentedObject(representedObject); 160 } 161 154 162 // Protected 155 163 -
trunk/Source/WebInspectorUI/UserInterface/Views/CanvasTabContentView.js
r228301 r228722 86 86 } 87 87 88 get managesNavigationSidebarPanel() 89 { 90 return true; 91 } 92 88 93 canShowRepresentedObject(representedObject) 89 94 { -
trunk/Source/WebInspectorUI/UserInterface/Views/ContentBrowserTabContentView.js
r223308 r228722 40 40 this._contentBrowser.delegate = this; 41 41 42 this._ignoreNavigationSidebarPanelCollapsedEvent = false; 43 this._ignoreDetailsSidebarPanelCollapsedEvent = false; 44 this._ignoreDetailsSidebarPanelSelectedEvent = false; 45 42 46 this._lastSelectedDetailsSidebarPanelSetting = new WI.Setting(identifier + "-last-selected-details-sidebar-panel", null); 43 47 44 this._contentBrowser.addEventListener(WI.ContentBrowser.Event.CurrentRepresentedObjectsDidChange, this. showDetailsSidebarPanels, this);48 this._contentBrowser.addEventListener(WI.ContentBrowser.Event.CurrentRepresentedObjectsDidChange, this._contentBrowserCurrentRepresentedObjectsDidChange, this); 45 49 this._contentBrowser.addEventListener(WI.ContentBrowser.Event.CurrentContentViewDidChange, this._contentBrowserCurrentContentViewDidChange, this); 46 50 … … 133 137 { 134 138 return true; 139 } 140 141 showNavigationSidebarPanel() 142 { 143 if (!this.visible) 144 return; 145 146 if (!this.navigationSidebarPanel) 147 return; 148 149 this._ignoreNavigationSidebarPanelCollapsedEvent = true; 150 151 let currentRepresentedObjects = this._contentBrowser.currentRepresentedObjects; 152 let shouldShowSidebar = currentRepresentedObjects.some((object) => this.navigationSidebarPanel.canShowRepresentedObject(object)); 153 154 if (shouldShowSidebar) { 155 if (!this.navigationSidebarPanel.parentSidebar) 156 WI.navigationSidebar.addSidebarPanel(this.navigationSidebarPanel); 157 } else if (this.navigationSidebarPanel.parentSidebar) 158 WI.navigationSidebar.removeSidebarPanel(this.navigationSidebarPanel); 159 160 if (this.navigationSidebarPanel.parentSidebar) { 161 WI.navigationSidebar.selectedSidebarPanel = this.navigationSidebarPanel; 162 WI.navigationSidebar.collapsed = this.navigationSidebarCollapsedSetting.value; 163 } else 164 WI.navigationSidebar.collapsed = true; 165 166 this._ignoreNavigationSidebarPanelCollapsedEvent = false; 167 168 this._showNavigationSidebarItem.enabled = !!this.navigationSidebarPanel.parentSidebar; 135 169 } 136 170 … … 221 255 _navigationSidebarCollapsedStateDidChange(event) 222 256 { 257 if (!this.visible) 258 return; 259 223 260 this._showNavigationSidebarItem.activated = !WI.navigationSidebar.collapsed; 261 262 if (this._ignoreNavigationSidebarPanelCollapsedEvent) 263 return; 264 265 this.navigationSidebarCollapsedSetting.value = WI.navigationSidebar.collapsed; 224 266 } 225 267 … … 280 322 this.navigationSidebarPanel.contentTreeOutline.selectedTreeElement.deselect(true); 281 323 } 324 325 _contentBrowserCurrentRepresentedObjectsDidChange() 326 { 327 if (this.managesNavigationSidebarPanel) 328 this.showNavigationSidebarPanel(); 329 this.showDetailsSidebarPanels(); 330 } 282 331 }; -
trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js
r226765 r228722 202 202 } 203 203 204 canShowRepresentedObject(representedObject) 205 { 206 let selectedTabContentView = WI.tabBrowser.selectedTabContentView; 207 console.assert(selectedTabContentView instanceof WI.TabContentView, "Missing TabContentView for NavigationSidebarPanel."); 208 return selectedTabContentView && selectedTabContentView.canShowRepresentedObject(representedObject); 209 } 210 204 211 saveStateToCookie(cookie) 205 212 { -
trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js
r228581 r228722 322 322 return; 323 323 324 if (event.target === this._navigationSidebar )324 if (event.target === this._navigationSidebar && !tabContentView.managesNavigationSidebarPanel) 325 325 tabContentView.navigationSidebarCollapsedSetting.value = this._navigationSidebar.collapsed; 326 326 else if (event.target === this._detailsSidebar && !tabContentView.managesDetailsSidebarPanels) … … 374 374 } 375 375 376 if (tabContentView.managesNavigationSidebarPanel) { 377 tabContentView.showNavigationSidebarPanel(); 378 this._ignoreSidebarEvents = false; 379 return; 380 } 381 376 382 this._navigationSidebar.addSidebarPanel(navigationSidebarPanel); 377 383 this._navigationSidebar.selectedSidebarPanel = navigationSidebarPanel; -
trunk/Source/WebInspectorUI/UserInterface/Views/TabContentView.js
r228024 r228722 100 100 } 101 101 102 get managesNavigationSidebarPanel() 103 { 104 // Implemented by subclasses. 105 return false; 106 } 107 102 108 get managesDetailsSidebarPanels() 103 109 {
Note: See TracChangeset
for help on using the changeset viewer.