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

Reply via email to