Title: [188494] trunk/Source/WebInspectorUI
Revision
188494
Author
[email protected]
Date
2015-08-14 15:15:33 -0700 (Fri, 14 Aug 2015)

Log Message

Web Inspector: Long delay when row selection changes in timeline data grids
https://bugs.webkit.org/show_bug.cgi?id=148005

Reviewed by Brian Burg.

Selecting a tree element in the Timelines sidebar generates multiple
WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
causes NavigationBar to update its layout (which is extremely expensive).

* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
Call updateLayoutSoon instead of updateLayout to coalesce layout requests.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordSelected):
When the selected record changes in the overview graph, make sure the record's tree element
isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (188493 => 188494)


--- trunk/Source/WebInspectorUI/ChangeLog	2015-08-14 22:11:37 UTC (rev 188493)
+++ trunk/Source/WebInspectorUI/ChangeLog	2015-08-14 22:15:33 UTC (rev 188494)
@@ -1,5 +1,25 @@
 2015-08-14  Matt Baker  <[email protected]>
 
+        Web Inspector: Long delay when row selection changes in timeline data grids
+        https://bugs.webkit.org/show_bug.cgi?id=148005
+
+        Reviewed by Brian Burg.
+
+        Selecting a tree element in the Timelines sidebar generates multiple
+        WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
+        causes NavigationBar to update its layout (which is extremely expensive).
+
+        * UserInterface/Views/ContentBrowser.js:
+        (WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
+        Call updateLayoutSoon instead of updateLayout to coalesce layout requests.
+
+        * UserInterface/Views/TimelineRecordingContentView.js:
+        (WebInspector.TimelineRecordingContentView.prototype._recordSelected):
+        When the selected record changes in the overview graph, make sure the record's tree element
+        isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.
+
+2015-08-14  Matt Baker  <[email protected]>
+
         Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
         https://bugs.webkit.org/show_bug.cgi?id=148040
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js (188493 => 188494)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js	2015-08-14 22:11:37 UTC (rev 188493)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js	2015-08-14 22:15:33 UTC (rev 188494)
@@ -463,7 +463,7 @@
 
         this._updateContentViewNavigationItems();
 
-        this._navigationBar.updateLayout();
+        this._navigationBar.updateLayoutSoon();
 
         this._dispatchCurrentRepresentedObjectsDidChangeEventSoon();
     }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js (188493 => 188494)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js	2015-08-14 22:11:37 UTC (rev 188493)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js	2015-08-14 22:15:33 UTC (rev 188494)
@@ -685,7 +685,7 @@
 
         var treeElement = this.currentTimelineView.navigationSidebarTreeOutline.findTreeElement(event.data.record);
         console.assert(treeElement, "Timeline view has no tree element for record selected in timeline overview.", timelineView, event.data.record);
-        if (!treeElement)
+        if (!treeElement || treeElement.selected)
             return;
 
         // Don't select the record's tree element if one of it's children is already selected.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to