Title: [202876] trunk/Source/WebInspectorUI
- Revision
- 202876
- Author
- [email protected]
- Date
- 2016-07-06 13:23:36 -0700 (Wed, 06 Jul 2016)
Log Message
Web Inspector: sometimes reloading a page with main resource selected will show an empty content view
https://bugs.webkit.org/show_bug.cgi?id=158069
<rdar://problem/26516710>
Reviewed by Timothy Hatcher.
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
Continue until we get one that works.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
Avoid showing a content view for a background tab if it could steal
the content view from a foreground tab. This is a targeted fix for
reload + tab content view loading behavior. A more general fix would
be reducing the work done by non-foreground tabs.
* UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.prototype._tabBarItemSelected):
Update navigation sidebar first so it is set when showing the TabContentView.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (202875 => 202876)
--- trunk/Source/WebInspectorUI/ChangeLog 2016-07-06 20:22:46 UTC (rev 202875)
+++ trunk/Source/WebInspectorUI/ChangeLog 2016-07-06 20:23:36 UTC (rev 202876)
@@ -1,3 +1,26 @@
+2016-07-06 Joseph Pecoraro <[email protected]>
+
+ Web Inspector: sometimes reloading a page with main resource selected will show an empty content view
+ https://bugs.webkit.org/show_bug.cgi?id=158069
+ <rdar://problem/26516710>
+
+ Reviewed by Timothy Hatcher.
+
+ * UserInterface/Views/DebuggerSidebarPanel.js:
+ (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
+ Continue until we get one that works.
+
+ * UserInterface/Views/NavigationSidebarPanel.js:
+ (WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
+ Avoid showing a content view for a background tab if it could steal
+ the content view from a foreground tab. This is a targeted fix for
+ reload + tab content view loading behavior. A more general fix would
+ be reducing the work done by non-foreground tabs.
+
+ * UserInterface/Views/TabBrowser.js:
+ (WebInspector.TabBrowser.prototype._tabBarItemSelected):
+ Update navigation sidebar first so it is set when showing the TabContentView.
+
2016-07-06 Brian Burg <[email protected]>
Web Inspector: Uncaught Exception reporter should include the currently dispatching protocol event or request/response if applicable
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (202875 => 202876)
--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2016-07-06 20:22:46 UTC (rev 202875)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2016-07-06 20:23:36 UTC (rev 202876)
@@ -203,8 +203,8 @@
var currentTreeElement = this._contentTreeOutline.children[0];
while (currentTreeElement && !currentTreeElement.root) {
if (currentTreeElement instanceof WebInspector.ResourceTreeElement || currentTreeElement instanceof WebInspector.ScriptTreeElement) {
- this.showDefaultContentViewForTreeElement(currentTreeElement);
- return;
+ if (this.showDefaultContentViewForTreeElement(currentTreeElement))
+ return;
}
currentTreeElement = currentTreeElement.traverseNextTreeElement(false, null, true);
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js (202875 => 202876)
--- trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js 2016-07-06 20:22:46 UTC (rev 202875)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js 2016-07-06 20:23:36 UTC (rev 202876)
@@ -208,6 +208,14 @@
if (!treeElement || !treeElement.representedObject)
return false;
+ // FIXME: <https://webkit.org/b/153634> Web Inspector: some background tabs think they are the foreground tab and do unnecessary work
+ // Do not steal a content view if we are not the active tab/sidebar.
+ if (!this.selected) {
+ let contentView = this.contentBrowser.contentViewForRepresentedObject(treeElement.representedObject);
+ if (contentView && contentView.parentContainer !== this.contentBrowser.contentViewContainer)
+ return false;
+ }
+
let contentView = this.contentBrowser.showContentViewForRepresentedObject(treeElement.representedObject);
if (!contentView)
return false;
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js (202875 => 202876)
--- trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js 2016-07-06 20:22:46 UTC (rev 202875)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TabBrowser.js 2016-07-06 20:23:36 UTC (rev 202876)
@@ -204,6 +204,8 @@
{
var tabContentView = this._tabBar.selectedTabBarItem ? this._tabBar.selectedTabBarItem.representedObject : null;
+ this._showNavigationSidebarPanelForTabContentView(tabContentView);
+
if (tabContentView) {
this._recentTabContentViews.remove(tabContentView);
this._recentTabContentViews.unshift(tabContentView);
@@ -219,7 +221,6 @@
console.assert(!this.selectedTabContentView);
}
- this._showNavigationSidebarPanelForTabContentView(tabContentView);
this._showDetailsSidebarPanelsForTabContentView(tabContentView);
this.dispatchEventToListeners(WebInspector.TabBrowser.Event.SelectedTabContentViewDidChange);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes