Title: [191614] trunk/Source/WebInspectorUI
Revision
191614
Author
[email protected]
Date
2015-10-26 17:11:45 -0700 (Mon, 26 Oct 2015)

Log Message

Web Inspector: Hundreds of failed assertions after switching to Rendering Frames after recording complete
https://bugs.webkit.org/show_bug.cgi?id=150568

Reviewed by Timothy Hatcher.

When the TimelineRecordingContentView responds to the current content view changing,
the TimelineOverview may be swapped out (if switching from a Timelines content view to a
Rendering Frames content view). This patch installs a new overview (if it's changing) prior
to setting the TimelineSidebarPanel's tree outline, as setting the tree outline forces
filters to run.

Filtering tree elements requires that the timeline overview is up to date, which was the
cause the assertion deluge.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (191613 => 191614)


--- trunk/Source/WebInspectorUI/ChangeLog	2015-10-27 00:08:21 UTC (rev 191613)
+++ trunk/Source/WebInspectorUI/ChangeLog	2015-10-27 00:11:45 UTC (rev 191614)
@@ -1,3 +1,22 @@
+2015-10-26  Matt Baker  <[email protected]>
+
+        Web Inspector: Hundreds of failed assertions after switching to Rendering Frames after recording complete
+        https://bugs.webkit.org/show_bug.cgi?id=150568
+
+        Reviewed by Timothy Hatcher.
+
+        When the TimelineRecordingContentView responds to the current content view changing,
+        the TimelineOverview may be swapped out (if switching from a Timelines content view to a
+        Rendering Frames content view). This patch installs a new overview (if it's changing) prior
+        to setting the TimelineSidebarPanel's tree outline, as setting the tree outline forces
+        filters to run.
+
+        Filtering tree elements requires that the timeline overview is up to date, which was the
+        cause the assertion deluge.
+
+        * UserInterface/Views/TimelineRecordingContentView.js:
+        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
+
 2015-10-26  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Spacebar to start recording should not cause system beep

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js (191613 => 191614)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js	2015-10-27 00:08:21 UTC (rev 191613)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js	2015-10-27 00:11:45 UTC (rev 191614)
@@ -328,21 +328,13 @@
 
     _currentContentViewDidChange(event)
     {
-        var newTimelineOverview = this._linearTimelineOverview;
-        var timelineView = this.currentTimelineView;
-        if (timelineView) {
-            this._timelineSidebarPanel.contentTreeOutline = timelineView.navigationSidebarTreeOutline;
-            this._timelineSidebarPanel.contentTreeOutlineLabel = timelineView.navigationSidebarTreeOutlineLabel;
-            this._timelineSidebarPanel.contentTreeOutlineScopeBar = timelineView.navigationSidebarTreeOutlineScopeBar;
+        let newTimelineOverview;
+        let timelineView = this.currentTimelineView;
+        if (timelineView && timelineView.representedObject.type === WebInspector.TimelineRecord.Type.RenderingFrame)
+            newTimelineOverview = this._renderingFrameTimelineOverview;
+        else
+            newTimelineOverview = this._linearTimelineOverview;
 
-            if (timelineView.representedObject.type === WebInspector.TimelineRecord.Type.RenderingFrame)
-                newTimelineOverview = this._renderingFrameTimelineOverview;
-
-            timelineView.startTime = newTimelineOverview.selectionStartTime;
-            timelineView.endTime = newTimelineOverview.selectionStartTime + newTimelineOverview.selectionDuration;
-            timelineView.currentTime = this._currentTime;
-        }
-
         if (newTimelineOverview !== this._currentTimelineOverview) {
             this._currentTimelineOverview.hidden();
 
@@ -355,6 +347,16 @@
             this._updateTimelineOverviewHeight();
         }
 
+        if (timelineView) {
+            this._timelineSidebarPanel.contentTreeOutline = timelineView.navigationSidebarTreeOutline;
+            this._timelineSidebarPanel.contentTreeOutlineLabel = timelineView.navigationSidebarTreeOutlineLabel;
+            this._timelineSidebarPanel.contentTreeOutlineScopeBar = timelineView.navigationSidebarTreeOutlineScopeBar;
+
+            timelineView.startTime = newTimelineOverview.selectionStartTime;
+            timelineView.endTime = newTimelineOverview.selectionStartTime + newTimelineOverview.selectionDuration;
+            timelineView.currentTime = this._currentTime;
+        }
+
         this.dispatchEventToListeners(WebInspector.ContentView.Event.SelectionPathComponentsDidChange);
         this.dispatchEventToListeners(WebInspector.ContentView.Event.NavigationItemsDidChange);
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to