Title: [197974] trunk/Source/WebInspectorUI
Revision
197974
Author
[email protected]
Date
2016-03-10 16:49:16 -0800 (Thu, 10 Mar 2016)

Log Message

Web Inspector: Timelines UI redesign: remove navigation sidebar
https://bugs.webkit.org/show_bug.cgi?id=153036
<rdar://problem/24195627>

Reviewed by Timothy Hatcher.

Removed TimelineView methods used by the sidebar to setup the content tree
outline and handle tree element events, which are no longer used. Tree elements
are no longer created by TimelineViews as records are processed.

* UserInterface/Main.html:
Removed files.

* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
Removed tree outline event listeners and data grid parameter.
(WebInspector.LayoutTimelineView.prototype._processPendingRecords):
(WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord):
Get record from data grid node instead of tree element.
(WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
(WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline): Deleted.
(WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline): Deleted.
No longer needed, highlighting performed by data grid event handlers.

* UserInterface/Views/MemoryTimelineView.js:
(WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
No longer needed.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateFilter): Deleted.
Removed hack which was specific to TimelineSidebarPanel.

* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
Removed sidebar styles and tree outline data grid parameter.
(WebInspector.NetworkTimelineView.prototype._processPendingRecords):
(WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
(WebInspector.NetworkTimelineView.prototype.treeElementSelected): Deleted.
No longer needed.

* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView):
(WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
(WebInspector.OverviewTimelineView.prototype.dataGridNodePathComponentSelected):
Create path components from the grid selection. This should have been
included in https://webkit.org/b/154954.

(WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime.getStartTime):
(WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime):
(WebInspector.OverviewTimelineView.prototype._insertDataGridNode):
(WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
(WebInspector.OverviewTimelineView.prototype._addSourceCodeTimeline):
Refactored to accept grid nodes instead of tree elements.

(WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):
(WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
(WebInspector.OverviewTimelineView.prototype.shown):
(WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected): Deleted.
(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Deleted.
Not used anywhere.

(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime.getStartTime): Deleted.
(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime): Deleted.
(WebInspector.OverviewTimelineView.prototype._insertTreeElement): Deleted.
(WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): Deleted.
Reimplemented as _compareDataGridNodesByStartTime, _insertDataGridNode and _addResourceToDataGridIfNeeded.

* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
Removed sidebar styles and tree outline data grid parameter.

(WebInspector.RenderingFrameTimelineView.prototype.get selectionPathComponents):
(WebInspector.RenderingFrameTimelineView.prototype.dataGridNodePathComponentSelected):
Create path components from the grid selection. This should have been
included in https://webkit.org/b/154954.

(WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
(WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
(WebInspector.RenderingFrameTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
(WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected): Deleted.
(WebInspector.RenderingFrameTimelineView.prototype.treeElementSelected): Deleted.
(WebInspector.RenderingFrameTimelineView.prototype.treeElementPathComponentSelected): Deleted.

* UserInterface/Views/ScriptClusterTimelineView.js:
(WebInspector.ScriptClusterTimelineView):
Don't hold reference to extraArguments, just pass to subviews.

* UserInterface/Views/ScriptDetailsTimelineView.js:
(WebInspector.ScriptDetailsTimelineView):
Removed sidebar styles and tree outline data grid parameter.
(WebInspector.ScriptDetailsTimelineView.prototype._processPendingRecords):
(WebInspector.ScriptDetailsTimelineView.prototype._dataGridFiltersDidChange):
(WebInspector.ScriptDetailsTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
(WebInspector.ScriptDetailsTimelineView.prototype.treeElementSelected): Deleted.
(WebInspector.ScriptDetailsTimelineView.prototype.dataGridNodeForTreeElement): Deleted.
(WebInspector.ScriptDetailsTimelineView.prototype.populateProfileNodeTreeElement): Deleted.

* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
Fixed failure when treeElement and parentTreeElementOrDataGridNode are both null.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
Removed extraArguments and sidebar panel references.
(WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject):
Use icon style from the tab, instead of the sidebar.
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
Removed updates to the sidebar.
(WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._instrumentAdded):
Removed sidebar reference when creating new TimelineViews.
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):

* UserInterface/Views/TimelineSidebarPanel.css: Removed.

* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView):
Removed hidden sidebar FIXME.
(WebInspector.TimelineTabContentView.prototype._addRecording):
New location for sidebar style class constant StopwatchIconStyleClass.

* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.get navigationItems): Deleted.
(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline): Deleted.
(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
(WebInspector.TimelineView.prototype.get timelineSidebarPanel): Deleted.
(WebInspector.TimelineView.prototype.treeElementPathComponentSelected): Deleted.
(WebInspector.TimelineView.prototype.treeElementDeselected): Deleted.
(WebInspector.TimelineView.prototype.treeElementSelected): Deleted.
(WebInspector.TimelineView.prototype._treeSelectionDidChange): Deleted.
Sidebar logic for panel and content tree outline removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (197973 => 197974)


--- trunk/Source/WebInspectorUI/ChangeLog	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-03-11 00:49:16 UTC (rev 197974)
@@ -1,3 +1,141 @@
+2016-03-10  Matt Baker  <[email protected]>
+
+        Web Inspector: Timelines UI redesign: remove navigation sidebar
+        https://bugs.webkit.org/show_bug.cgi?id=153036
+        <rdar://problem/24195627>
+
+        Reviewed by Timothy Hatcher.
+
+        Removed TimelineView methods used by the sidebar to setup the content tree
+        outline and handle tree element events, which are no longer used. Tree elements
+        are no longer created by TimelineViews as records are processed.
+
+        * UserInterface/Main.html:
+        Removed files.
+
+        * UserInterface/Views/LayoutTimelineView.js:
+        (WebInspector.LayoutTimelineView):
+        Removed tree outline event listeners and data grid parameter.
+        (WebInspector.LayoutTimelineView.prototype._processPendingRecords):
+        (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
+        (WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord):
+        Get record from data grid node instead of tree element.
+        (WebInspector.LayoutTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        (WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline): Deleted.
+        (WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline): Deleted.
+        No longer needed, highlighting performed by data grid event handlers.
+
+        * UserInterface/Views/MemoryTimelineView.js:
+        (WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        No longer needed.
+
+        * UserInterface/Views/NavigationSidebarPanel.js:
+        (WebInspector.NavigationSidebarPanel.prototype._updateFilter): Deleted.
+        Removed hack which was specific to TimelineSidebarPanel.
+
+        * UserInterface/Views/NetworkTimelineView.js:
+        (WebInspector.NetworkTimelineView):
+        Removed sidebar styles and tree outline data grid parameter.
+        (WebInspector.NetworkTimelineView.prototype._processPendingRecords):
+        (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
+        (WebInspector.NetworkTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        (WebInspector.NetworkTimelineView.prototype.treeElementSelected): Deleted.
+        No longer needed.
+
+        * UserInterface/Views/OverviewTimelineView.js:
+        (WebInspector.OverviewTimelineView):
+        (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
+        (WebInspector.OverviewTimelineView.prototype.dataGridNodePathComponentSelected):
+        Create path components from the grid selection. This should have been
+        included in https://webkit.org/b/154954.
+
+        (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime.getStartTime):
+        (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime):
+        (WebInspector.OverviewTimelineView.prototype._insertDataGridNode):
+        (WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
+        (WebInspector.OverviewTimelineView.prototype._addSourceCodeTimeline):
+        Refactored to accept grid nodes instead of tree elements.
+
+        (WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):
+        (WebInspector.OverviewTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        (WebInspector.OverviewTimelineView.prototype.shown):
+        (WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected): Deleted.
+        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Deleted.
+        Not used anywhere.
+
+        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime.getStartTime): Deleted.
+        (WebInspector.OverviewTimelineView.prototype._compareTreeElementsByStartTime): Deleted.
+        (WebInspector.OverviewTimelineView.prototype._insertTreeElement): Deleted.
+        (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded): Deleted.
+        Reimplemented as _compareDataGridNodesByStartTime, _insertDataGridNode and _addResourceToDataGridIfNeeded.
+
+        * UserInterface/Views/RenderingFrameTimelineView.js:
+        (WebInspector.RenderingFrameTimelineView):
+        Removed sidebar styles and tree outline data grid parameter.
+
+        (WebInspector.RenderingFrameTimelineView.prototype.get selectionPathComponents):
+        (WebInspector.RenderingFrameTimelineView.prototype.dataGridNodePathComponentSelected):
+        Create path components from the grid selection. This should have been
+        included in https://webkit.org/b/154954.
+
+        (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
+        (WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
+        (WebInspector.RenderingFrameTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        (WebInspector.RenderingFrameTimelineView.prototype.treeElementDeselected): Deleted.
+        (WebInspector.RenderingFrameTimelineView.prototype.treeElementSelected): Deleted.
+        (WebInspector.RenderingFrameTimelineView.prototype.treeElementPathComponentSelected): Deleted.
+
+        * UserInterface/Views/ScriptClusterTimelineView.js:
+        (WebInspector.ScriptClusterTimelineView):
+        Don't hold reference to extraArguments, just pass to subviews.
+
+        * UserInterface/Views/ScriptDetailsTimelineView.js:
+        (WebInspector.ScriptDetailsTimelineView):
+        Removed sidebar styles and tree outline data grid parameter.
+        (WebInspector.ScriptDetailsTimelineView.prototype._processPendingRecords):
+        (WebInspector.ScriptDetailsTimelineView.prototype._dataGridFiltersDidChange):
+        (WebInspector.ScriptDetailsTimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        (WebInspector.ScriptDetailsTimelineView.prototype.treeElementSelected): Deleted.
+        (WebInspector.ScriptDetailsTimelineView.prototype.dataGridNodeForTreeElement): Deleted.
+        (WebInspector.ScriptDetailsTimelineView.prototype.populateProfileNodeTreeElement): Deleted.
+
+        * UserInterface/Views/TimelineDataGrid.js:
+        (WebInspector.TimelineDataGrid.prototype.addRowInSortOrder):
+        Fixed failure when treeElement and parentTreeElementOrDataGridNode are both null.
+
+        * UserInterface/Views/TimelineRecordingContentView.js:
+        (WebInspector.TimelineRecordingContentView):
+        Removed extraArguments and sidebar panel references.
+        (WebInspector.TimelineRecordingContentView.prototype.contentBrowserTreeElementForRepresentedObject):
+        Use icon style from the tab, instead of the sidebar.
+        (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
+        Removed updates to the sidebar.
+        (WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected):
+        (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
+        (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded):
+        Removed sidebar reference when creating new TimelineViews.
+        (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
+
+        * UserInterface/Views/TimelineSidebarPanel.css: Removed.
+
+        * UserInterface/Views/TimelineTabContentView.js:
+        (WebInspector.TimelineTabContentView):
+        Removed hidden sidebar FIXME.
+        (WebInspector.TimelineTabContentView.prototype._addRecording):
+        New location for sidebar style class constant StopwatchIconStyleClass.
+
+        * UserInterface/Views/TimelineView.js:
+        (WebInspector.TimelineView):
+        (WebInspector.TimelineView.prototype.get navigationItems): Deleted.
+        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutline): Deleted.
+        (WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineLabel): Deleted.
+        (WebInspector.TimelineView.prototype.get timelineSidebarPanel): Deleted.
+        (WebInspector.TimelineView.prototype.treeElementPathComponentSelected): Deleted.
+        (WebInspector.TimelineView.prototype.treeElementDeselected): Deleted.
+        (WebInspector.TimelineView.prototype.treeElementSelected): Deleted.
+        (WebInspector.TimelineView.prototype._treeSelectionDidChange): Deleted.
+        Sidebar logic for panel and content tree outline removed.
+
 2016-03-10  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Enable Memory Timelines by default if supported

Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Main.html	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html	2016-03-11 00:49:16 UTC (rev 197974)
@@ -169,7 +169,6 @@
     <link rel="stylesheet" href=""
     <link rel="stylesheet" href=""
     <link rel="stylesheet" href=""
-    <link rel="stylesheet" href=""
     <link rel="stylesheet" href=""
     <link rel="stylesheet" href=""
     <link rel="stylesheet" href=""
@@ -622,7 +621,6 @@
     <script src=""
     <script src=""
     <script src=""
-    <script src=""
     <script src=""
     <script src=""
     <script src=""

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -31,8 +31,6 @@
 
         console.assert(timeline.type === WebInspector.TimelineRecord.Type.Layout, timeline);
 
-        this.navigationSidebarTreeOutline.element.classList.add("layout");
-
         let columns = {name: {}, location: {}, width: {}, height: {}, startTime: {}, totalTime: {}};
 
         columns.name.title = WebInspector.UIString("Type");
@@ -70,7 +68,7 @@
         for (var column in columns)
             columns[column].sortable = true;
 
-        this._dataGrid = new WebInspector.LayoutTimelineDataGrid(this.navigationSidebarTreeOutline, columns);
+        this._dataGrid = new WebInspector.LayoutTimelineDataGrid(null, columns);
         this._dataGrid.addEventListener(WebInspector.TimelineDataGrid.Event.FiltersDidChange, this._dataGridFiltersDidChange, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
 
@@ -84,8 +82,6 @@
 
         this._dataGrid.element.addEventListener("mouseover", this._mouseOverDataGrid.bind(this));
         this._dataGrid.element.addEventListener("mouseleave", this._mouseLeaveDataGrid.bind(this));
-        this.navigationSidebarTreeOutline.element.addEventListener("mouseover", this._mouseOverTreeOutline.bind(this));
-        this.navigationSidebarTreeOutline.element.addEventListener("mouseleave", this._mouseLeaveTreeOutline.bind(this));
 
         this.element.classList.add("layout");
         this.addSubview(this._dataGrid);
@@ -97,11 +93,6 @@
 
     // Public
 
-    get navigationSidebarTreeOutlineLabel()
-    {
-        return WebInspector.UIString("Records");
-    }
-
     get selectionPathComponents()
     {
         let dataGridNode = this._dataGrid.selectedNode;
@@ -213,29 +204,27 @@
             return;
 
         for (var layoutTimelineRecord of this._pendingRecords) {
-            var treeElement = new WebInspector.TimelineRecordTreeElement(layoutTimelineRecord, WebInspector.SourceCodeLocation.NameStyle.Short);
-            var dataGridNode = new WebInspector.LayoutTimelineDataGridNode(layoutTimelineRecord, this.zeroTime);
+            let dataGridNode = new WebInspector.LayoutTimelineDataGridNode(layoutTimelineRecord, this.zeroTime);
 
-            this._dataGrid.addRowInSortOrder(treeElement, dataGridNode);
+            this._dataGrid.addRowInSortOrder(null, dataGridNode);
 
-            var stack = [{children: layoutTimelineRecord.children, parentTreeElement: treeElement, index: 0}];
+            let stack = [{children: layoutTimelineRecord.children, parentDataGridNode: dataGridNode, index: 0}];
             while (stack.length) {
-                var entry = stack.lastValue;
+                let entry = stack.lastValue;
                 if (entry.index >= entry.children.length) {
                     stack.pop();
                     continue;
                 }
 
-                var childRecord = entry.children[entry.index];
+                let childRecord = entry.children[entry.index];
                 console.assert(childRecord.type === WebInspector.TimelineRecord.Type.Layout, childRecord);
 
-                var childTreeElement = new WebInspector.TimelineRecordTreeElement(childRecord, WebInspector.SourceCodeLocation.NameStyle.Short);
-                var layoutDataGridNode = new WebInspector.LayoutTimelineDataGridNode(childRecord, this.zeroTime);
-                console.assert(entry.parentTreeElement, "entry without parent!");
-                this._dataGrid.addRowInSortOrder(childTreeElement, layoutDataGridNode, entry.parentTreeElement);
+                let childDataGridNode = new WebInspector.LayoutTimelineDataGridNode(childRecord, this.zeroTime);
+                console.assert(entry.parentDataGridNode, "entry without parent!");
+                this._dataGrid.addRowInSortOrder(null, childDataGridNode, entry.parentDataGridNode);
 
-                if (childTreeElement && childRecord.children.length)
-                    stack.push({children: childRecord.children, parentTreeElement: childTreeElement, index: 0});
+                if (childDataGridNode && childRecord.children.length)
+                    stack.push({children: childRecord.children, parentDataGridNode: childDataGridNode, index: 0});
                 ++entry.index;
             }
         }
@@ -259,7 +248,7 @@
 
     _dataGridFiltersDidChange(event)
     {
-        this.timelineSidebarPanel.updateFilter();
+        // FIXME: <https://webkit.org/b/154924> Web Inspector: hook up grid row filtering in the new Timelines UI
     }
 
     _dataGridNodeSelected(event)
@@ -317,15 +306,9 @@
         if (this._hoveredDataGridNode)
             return this._hoveredDataGridNode.record;
 
-        if (this._hoveredTreeElement)
-            return this._hoveredTreeElement.record;
+        if (this._dataGrid.selectedNode && this._dataGrid.selectedNode.revealed)
+            return this._dataGrid.selectedNode.record;
 
-        if (this._dataGrid.selectedNode) {
-            var treeElement = this._dataGrid.treeElementForDataGridNode(this._dataGrid.selectedNode);
-            if (treeElement.revealed())
-                return this._dataGrid.selectedNode.record;
-        }
-
         return null;
     }
 
@@ -344,20 +327,4 @@
         this._hoveredDataGridNode = null;
         this._updateHighlight();
     }
-
-    _mouseOverTreeOutline(event)
-    {
-        var hoveredTreeElement = this.navigationSidebarTreeOutline.treeElementFromNode(event.target);
-        if (!hoveredTreeElement)
-            return;
-
-        this._hoveredTreeElement = hoveredTreeElement;
-        this._updateHighlight();
-    }
-
-    _mouseLeaveTreeOutline(event)
-    {
-        this._hoveredTreeElement = null;
-        this._updateHighlight();
-    }
 };

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/MemoryTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/MemoryTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/MemoryTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -111,11 +111,6 @@
 
     // Public
 
-    get navigationSidebarTreeOutlineLabel()
-    {
-        return WebInspector.UIString("Records");
-    }
-
     shown()
     {
         super.shown();

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -609,14 +609,6 @@
 
         this._checkForEmptyFilterResults();
         this._updateContentOverflowShadowVisibility();
-
-        // Filter may have hidden the selected resource in the timeline view, which should now notify its listeners.
-        // FIXME: This is a layering violation. This should at least be in TimelineSidebarPanel.
-        if (selectedTreeElement && selectedTreeElement.hidden !== selectionWasHidden) {
-            var currentContentView = this.contentBrowser.currentContentView;
-            if (currentContentView instanceof WebInspector.TimelineRecordingContentView && typeof currentContentView.currentTimelineView.filterUpdated === "function")
-                currentContentView.currentTimelineView.filterUpdated();
-        }
     }
 
     _treeElementAddedOrChanged(event)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -31,9 +31,6 @@
 
         console.assert(timeline.type === WebInspector.TimelineRecord.Type.Network);
 
-        this.navigationSidebarTreeOutline.disclosureButtons = false;
-        this.navigationSidebarTreeOutline.element.classList.add("network");
-
         let columns = {name: {}, domain: {}, type: {}, method: {}, scheme: {}, statusCode: {}, cached: {}, size: {}, transferSize: {}, requestSent: {}, latency: {}, duration: {}};
 
         columns.name.title = WebInspector.UIString("Name");
@@ -90,7 +87,7 @@
         for (var column in columns)
             columns[column].sortable = true;
 
-        this._dataGrid = new WebInspector.TimelineDataGrid(this.navigationSidebarTreeOutline, columns);
+        this._dataGrid = new WebInspector.TimelineDataGrid(null, columns);
         this._dataGrid.addEventListener(WebInspector.TimelineDataGrid.Event.FiltersDidChange, this._dataGridFiltersDidChange, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("network-timeline-view-sort", "requestSent");
@@ -102,15 +99,11 @@
         timeline.addEventListener(WebInspector.Timeline.Event.RecordAdded, this._networkTimelineRecordAdded, this);
 
         this._pendingRecords = [];
+        this._resourceDataGridNodeMap = new Map;
     }
 
     // Public
 
-    get navigationSidebarTreeOutlineLabel()
-    {
-        return WebInspector.UIString("Resources");
-    }
-
     get selectionPathComponents()
     {
         if (!this._dataGrid.selectedNode || this._dataGrid.selectedNode.hidden)
@@ -189,14 +182,6 @@
         dataGridNode.revealAndSelect();
     }
 
-    treeElementSelected(treeElement, selectedByUser)
-    {
-        if (this._dataGrid.shouldIgnoreSelectionEvent())
-            return;
-
-        super.treeElementSelected(treeElement, selectedByUser);
-    }
-
     layout()
     {
         this._processPendingRecords();
@@ -209,16 +194,17 @@
         if (!this._pendingRecords.length)
             return;
 
-        for (var resourceTimelineRecord of this._pendingRecords) {
-            // Skip the record if it already exists in the tree.
-            var treeElement = this.navigationSidebarTreeOutline.findTreeElement(resourceTimelineRecord.resource);
-            if (treeElement)
+        for (let resourceTimelineRecord of this._pendingRecords) {
+            // Skip the record if it already exists in the grid.
+            // FIXME: replace with this._dataGrid.findDataGridNode(resourceTimelineRecord.resource) once <https://webkit.org/b/155305> is fixed.
+            let dataGridNode = this._resourceDataGridNodeMap.get(resourceTimelineRecord.resource);
+            if (dataGridNode)
                 continue;
 
-            treeElement = new WebInspector.ResourceTreeElement(resourceTimelineRecord.resource);
-            var dataGridNode = new WebInspector.ResourceTimelineDataGridNode(resourceTimelineRecord, false, this);
+            dataGridNode = new WebInspector.ResourceTimelineDataGridNode(resourceTimelineRecord, false, this);
+            this._resourceDataGridNodeMap.set(resourceTimelineRecord.resource, dataGridNode);
 
-            this._dataGrid.addRowInSortOrder(treeElement, dataGridNode);
+            this._dataGrid.addRowInSortOrder(null, dataGridNode);
         }
 
         this._pendingRecords = [];
@@ -236,7 +222,7 @@
 
     _dataGridFiltersDidChange(event)
     {
-        this.timelineSidebarPanel.updateFilter();
+        // FIXME: <https://webkit.org/b/154924> Web Inspector: hook up grid row filtering in the new Timelines UI
     }
 
     _dataGridNodeSelected(event)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -47,8 +47,6 @@
         this._dataGrid = new WebInspector.DataGrid(columns);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
 
-        this._treeOutlineDataGridSynchronizer = new WebInspector.TreeOutlineDataGridSynchronizer(this.navigationSidebarTreeOutline, this._dataGrid);
-
         this._currentTimeMarker = new WebInspector.TimelineMarker(0, WebInspector.TimelineMarker.Type.CurrentTime);
         this._timelineRuler.addMarker(this._currentTimeMarker);
 
@@ -63,15 +61,11 @@
         recording.addEventListener(WebInspector.TimelineRecording.Event.Reset, this._recordingReset, this);
 
         this._pendingRepresentedObjects = [];
+        this._resourceDataGridNodeMap = new Map;
     }
 
     // Public
 
-    get navigationSidebarTreeOutlineLabel()
-    {
-        return WebInspector.UIString("Timeline Events");
-    }
-
     get secondsPerPixel()
     {
         return this._timelineRuler.secondsPerPixel;
@@ -86,7 +80,6 @@
     {
         super.shown();
 
-        this._treeOutlineDataGridSynchronizer.synchronize();
         this._timelineRuler.updateLayout(WebInspector.View.LayoutReason.Resize);
     }
 
@@ -98,23 +91,19 @@
 
     get selectionPathComponents()
     {
-        var dataGridNode = this._dataGrid.selectedNode;
-        if (!dataGridNode)
+        let dataGridNode = this._dataGrid.selectedNode;
+        if (!dataGridNode || dataGridNode.hidden)
             return null;
 
-        var pathComponents = [];
+        let pathComponents = [];
 
         while (dataGridNode && !dataGridNode.root) {
-            var treeElement = this._treeOutlineDataGridSynchronizer.treeElementForDataGridNode(dataGridNode);
-            console.assert(treeElement);
-            if (!treeElement)
-                break;
-
-            if (treeElement.hidden)
+            console.assert(dataGridNode instanceof WebInspector.TimelineDataGridNode);
+            if (dataGridNode.hidden)
                 return null;
 
-            var pathComponent = new WebInspector.GeneralTreeElementPathComponent(treeElement);
-            pathComponent.addEventListener(WebInspector.HierarchicalPathComponent.Event.SiblingWasSelected, this.treeElementPathComponentSelected, this);
+            let pathComponent = new WebInspector.TimelineDataGridNodePathComponent(dataGridNode);
+            pathComponent.addEventListener(WebInspector.HierarchicalPathComponent.Event.SiblingWasSelected, this.dataGridNodePathComponentSelected, this);
             pathComponents.unshift(pathComponent);
             dataGridNode = dataGridNode.parent;
         }
@@ -131,11 +120,11 @@
 
     // Protected
 
-    treeElementPathComponentSelected(event)
+    dataGridNodePathComponentSelected(event)
     {
-        var dataGridNode = this._treeOutlineDataGridSynchronizer.dataGridNodeForTreeElement(event.data.pathComponent.generalTreeElement);
-        if (!dataGridNode)
-            return;
+        let dataGridNode = event.data.pathComponent.timelineDataGridNode;
+        console.assert(dataGridNode.dataGrid === this._dataGrid);
+
         dataGridNode.revealAndSelect();
     }
 
@@ -193,127 +182,92 @@
 
     // Private
 
-    _compareTreeElementsByDetails(a, b)
+    _compareDataGridNodesByStartTime(a, b)
     {
-        if (a instanceof WebInspector.SourceCodeTimelineTreeElement && b instanceof WebInspector.ResourceTreeElement)
-            return -1;
-
-        if (a instanceof WebInspector.ResourceTreeElement && b instanceof WebInspector.SourceCodeTimelineTreeElement)
-            return 1;
-
-        if (a instanceof WebInspector.SourceCodeTimelineTreeElement && b instanceof WebInspector.SourceCodeTimelineTreeElement) {
-            var aTimeline = a.sourceCodeTimeline;
-            var bTimeline = b.sourceCodeTimeline;
-
-            if (!aTimeline.sourceCodeLocation && !bTimeline.sourceCodeLocation) {
-                if (aTimeline.recordType !== bTimeline.recordType)
-                    return aTimeline.recordType.localeCompare(bTimeline.recordType);
-
-                return a.mainTitle.localeCompare(b.mainTitle);
-            }
-
-            if (!aTimeline.sourceCodeLocation || !bTimeline.sourceCodeLocation)
-                return !!aTimeline.sourceCodeLocation - !!bTimeline.sourceCodeLocation;
-
-            if (aTimeline.sourceCodeLocation.lineNumber !== bTimeline.sourceCodeLocation.lineNumber)
-                return aTimeline.sourceCodeLocation.lineNumber - bTimeline.sourceCodeLocation.lineNumber;
-
-            return aTimeline.sourceCodeLocation.columnNumber - bTimeline.sourceCodeLocation.columnNumber;
-        }
-
-        // Fallback to comparing by start time for ResourceTreeElement or anything else.
-        return this._compareTreeElementsByStartTime(a, b);
-    }
-
-    _compareTreeElementsByStartTime(a, b)
-    {
-        function getStartTime(treeElement)
+        function getStartTime(dataGridNode)
         {
-            if (treeElement instanceof WebInspector.ResourceTreeElement)
-                return treeElement.resource.firstTimestamp;
-            if (treeElement instanceof WebInspector.SourceCodeTimelineTreeElement)
-                return treeElement.sourceCodeTimeline.startTime;
+            if (dataGridNode instanceof WebInspector.ResourceTimelineDataGridNode)
+                return dataGridNode.resource.firstTimestamp;
+            if (dataGridNode instanceof WebInspector.SourceCodeTimelineTimelineDataGridNode)
+                return dataGridNode.sourceCodeTimeline.startTime;
 
-            console.error("Unknown tree element.");
+            console.error("Unknown data grid node.", dataGridNode);
             return 0;
         }
 
-        var result = getStartTime(a) - getStartTime(b);
+        let result = getStartTime(a) - getStartTime(b);
         if (result)
             return result;
 
         // Fallback to comparing titles.
-        return a.mainTitle.localeCompare(b.mainTitle);
+        return a.displayName().localeCompare(b.displayName());
     }
 
-    _insertTreeElement(treeElement, parentTreeElement)
+    _insertDataGridNode(dataGridNode, parentDataGridNode)
     {
-        console.assert(treeElement);
-        console.assert(!treeElement.parent);
-        console.assert(parentTreeElement);
+        console.assert(dataGridNode);
+        console.assert(!dataGridNode.parent);
 
-        parentTreeElement.insertChild(treeElement, insertionIndexForObjectInListSortedByFunction(treeElement, parentTreeElement.children, this._compareTreeElementsByStartTime.bind(this)));
+        if (parentDataGridNode)
+            parentDataGridNode.insertChild(dataGridNode, insertionIndexForObjectInListSortedByFunction(dataGridNode, parentDataGridNode.children, this._compareDataGridNodesByStartTime.bind(this)));
+        else
+            this._dataGrid.appendChild(dataGridNode);
     }
 
-    _addResourceToTreeIfNeeded(resource)
+    _addResourceToDataGridIfNeeded(resource)
     {
         console.assert(resource);
         if (!resource)
             return null;
 
-        var treeElement = this.navigationSidebarTreeOutline.findTreeElement(resource);
-        if (treeElement)
-            return treeElement;
+        // FIXME: replace with this._dataGrid.findDataGridNode(resource) once <https://webkit.org/b/155305> is fixed.
+        let dataGridNode = this._resourceDataGridNodeMap.get(resource);
+        if (dataGridNode)
+            return dataGridNode;
 
-        var parentFrame = resource.parentFrame;
+        let parentFrame = resource.parentFrame;
         if (!parentFrame)
             return;
 
-        var expandedByDefault = false;
+        let resourceTimelineRecord = this._networkTimeline ? this._networkTimeline.recordForResource(resource) : null;
+        if (!resourceTimelineRecord)
+            resourceTimelineRecord = new WebInspector.ResourceTimelineRecord(resource);
+
+        let resourceDataGridNode = new WebInspector.ResourceTimelineDataGridNode(resourceTimelineRecord, true, this);
+        this._resourceDataGridNodeMap.set(resource, resourceDataGridNode);
+
+        let expandedByDefault = false;
         if (parentFrame.mainResource === resource || parentFrame.provisionalMainResource === resource) {
             parentFrame = parentFrame.parentFrame;
             expandedByDefault = !parentFrame; // Main frame expands by default.
         }
 
-        var resourceTreeElement = new WebInspector.ResourceTreeElement(resource);
         if (expandedByDefault)
-            resourceTreeElement.expand();
+            resourceDataGridNode.expand();
 
-        var resourceTimelineRecord = this._networkTimeline ? this._networkTimeline.recordForResource(resource) : null;
-        if (!resourceTimelineRecord)
-            resourceTimelineRecord = new WebInspector.ResourceTimelineRecord(resource);
-
-        var resourceDataGridNode = new WebInspector.ResourceTimelineDataGridNode(resourceTimelineRecord, true, this);
-        this._treeOutlineDataGridSynchronizer.associate(resourceTreeElement, resourceDataGridNode);
-
-        var parentTreeElement = this.navigationSidebarTreeOutline;
+        let parentDataGridNode = null;
         if (parentFrame) {
             // Find the parent main resource, adding it if needed, to append this resource as a child.
-            var parentResource = parentFrame.provisionalMainResource || parentFrame.mainResource;
+            let parentResource = parentFrame.provisionalMainResource || parentFrame.mainResource;
 
-            parentTreeElement = this._addResourceToTreeIfNeeded(parentResource);
-            console.assert(parentTreeElement);
-            if (!parentTreeElement)
+            parentDataGridNode = this._addResourceToDataGridIfNeeded(parentResource);
+            console.assert(parentDataGridNode);
+            if (!parentDataGridNode)
                 return;
         }
 
-        this._insertTreeElement(resourceTreeElement, parentTreeElement);
+        this._insertDataGridNode(resourceDataGridNode, parentDataGridNode);
 
-        return resourceTreeElement;
+        return resourceDataGridNode;
     }
 
     _addSourceCodeTimeline(sourceCodeTimeline)
     {
-        var parentTreeElement = sourceCodeTimeline.sourceCodeLocation ? this._addResourceToTreeIfNeeded(sourceCodeTimeline.sourceCode) : this.navigationSidebarTreeOutline;
-        console.assert(parentTreeElement);
-        if (!parentTreeElement)
-            return;
+        let parentDataGridNode = sourceCodeTimeline.sourceCodeLocation ? this._addResourceToDataGridIfNeeded(sourceCodeTimeline.sourceCode) : null;
+        let sourceCodeTimelineDataGridNode = new WebInspector.SourceCodeTimelineTimelineDataGridNode(sourceCodeTimeline, this);
+        this._resourceDataGridNodeMap.set(sourceCodeTimeline, sourceCodeTimelineDataGridNode);
 
-        var sourceCodeTimelineTreeElement = new WebInspector.SourceCodeTimelineTreeElement(sourceCodeTimeline);
-        var sourceCodeTimelineDataGridNode = new WebInspector.SourceCodeTimelineTimelineDataGridNode(sourceCodeTimeline, this);
-
-        this._treeOutlineDataGridSynchronizer.associate(sourceCodeTimelineTreeElement, sourceCodeTimelineDataGridNode);
-        this._insertTreeElement(sourceCodeTimelineTreeElement, parentTreeElement);
+        this._insertDataGridNode(sourceCodeTimelineDataGridNode, parentDataGridNode);
     }
 
     _processPendingRepresentedObjects()
@@ -323,7 +277,7 @@
 
         for (var representedObject of this._pendingRepresentedObjects) {
             if (representedObject instanceof WebInspector.Resource)
-                this._addResourceToTreeIfNeeded(representedObject);
+                this._addResourceToDataGridIfNeeded(representedObject);
             else if (representedObject instanceof WebInspector.SourceCodeTimeline)
                 this._addSourceCodeTimeline(representedObject);
             else

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -31,8 +31,6 @@
 
         console.assert(WebInspector.TimelineRecord.Type.RenderingFrame);
 
-        this.navigationSidebarTreeOutline.element.classList.add("rendering-frame");
-
         var scopeBarItems = [];
         for (var key in WebInspector.RenderingFrameTimelineView.DurationFilter) {
             var value = WebInspector.RenderingFrameTimelineView.DurationFilter[key];
@@ -78,7 +76,7 @@
         for (var column in columns)
             columns[column].sortable = true;
 
-        this._dataGrid = new WebInspector.TimelineDataGrid(this.navigationSidebarTreeOutline, columns, this);
+        this._dataGrid = new WebInspector.TimelineDataGrid(null, columns, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("rendering-frame-timeline-view-sort", "startTime");
         this._dataGrid.sortOrderSetting = new WebInspector.Setting("rendering-frame-timeline-view-sort-order", WebInspector.DataGrid.SortOrder.Ascending);
@@ -109,11 +107,6 @@
 
     // Public
 
-    get navigationSidebarTreeOutlineLabel()
-    {
-        return WebInspector.UIString("Records");
-    }
-
     shown()
     {
         super.shown();
@@ -138,23 +131,19 @@
 
     get selectionPathComponents()
     {
-        var dataGridNode = this._dataGrid.selectedNode;
-        if (!dataGridNode)
+        let dataGridNode = this._dataGrid.selectedNode;
+        if (!dataGridNode || dataGridNode.hidden)
             return null;
 
-        var pathComponents = [];
+        let pathComponents = [];
 
         while (dataGridNode && !dataGridNode.root) {
-            var treeElement = this._dataGrid.treeElementForDataGridNode(dataGridNode);
-            console.assert(treeElement);
-            if (!treeElement)
-                break;
-
-            if (treeElement.hidden)
+            console.assert(dataGridNode instanceof WebInspector.TimelineDataGridNode);
+            if (dataGridNode.hidden)
                 return null;
 
-            var pathComponent = new WebInspector.GeneralTreeElementPathComponent(treeElement);
-            pathComponent.addEventListener(WebInspector.HierarchicalPathComponent.Event.SiblingWasSelected, this.treeElementPathComponentSelected, this);
+            let pathComponent = new WebInspector.TimelineDataGridNodePathComponent(dataGridNode);
+            pathComponent.addEventListener(WebInspector.HierarchicalPathComponent.Event.SiblingWasSelected, this.dataGridNodePathComponentSelected, this);
             pathComponents.unshift(pathComponent);
             dataGridNode = dataGridNode.parent;
         }
@@ -209,28 +198,11 @@
         super.showContentViewForTreeElement(treeElement);
     }
 
-    treeElementDeselected(treeElement)
+    dataGridNodePathComponentSelected(event)
     {
-        var dataGridNode = this._dataGrid.dataGridNodeForTreeElement(treeElement);
-        if (!dataGridNode)
-            return;
+        let dataGridNode = event.data.pathComponent.timelineDataGridNode;
+        console.assert(dataGridNode.dataGrid === this._dataGrid);
 
-        dataGridNode.deselect();
-    }
-
-    treeElementSelected(treeElement, selectedByUser)
-    {
-        if (this._dataGrid.shouldIgnoreSelectionEvent())
-            return;
-
-        super.treeElementSelected(treeElement, selectedByUser);
-    }
-
-    treeElementPathComponentSelected(event)
-    {
-        var dataGridNode = this._dataGrid.dataGridNodeForTreeElement(event.data.pathComponent.generalTreeElement);
-        if (!dataGridNode)
-            return;
         dataGridNode.revealAndSelect();
     }
 
@@ -253,54 +225,45 @@
         if (!this._pendingRecords.length)
             return;
 
-        for (var renderingFrameTimelineRecord of this._pendingRecords) {
+        for (let renderingFrameTimelineRecord of this._pendingRecords) {
             console.assert(renderingFrameTimelineRecord instanceof WebInspector.RenderingFrameTimelineRecord);
 
-            var treeElement = new WebInspector.TimelineRecordTreeElement(renderingFrameTimelineRecord);
-            var dataGridNode = new WebInspector.RenderingFrameTimelineDataGridNode(renderingFrameTimelineRecord, this.zeroTime);
-            this._dataGrid.addRowInSortOrder(treeElement, dataGridNode);
+            let dataGridNode = new WebInspector.RenderingFrameTimelineDataGridNode(renderingFrameTimelineRecord, this.zeroTime);
+            this._dataGrid.addRowInSortOrder(null, dataGridNode);
 
-            var stack = [{children: renderingFrameTimelineRecord.children, parentTreeElement: treeElement, index: 0}];
+            let stack = [{children: renderingFrameTimelineRecord.children, parentDataGridNode: dataGridNode, index: 0}];
             while (stack.length) {
-                var entry = stack.lastValue;
+                let entry = stack.lastValue;
                 if (entry.index >= entry.children.length) {
                     stack.pop();
                     continue;
                 }
 
-                var childRecord = entry.children[entry.index];
-                var childTreeElement = null;
+                let childRecord = entry.children[entry.index];
+                let childDataGridNode = null;
                 if (childRecord.type === WebInspector.TimelineRecord.Type.Layout) {
-                    childTreeElement = new WebInspector.TimelineRecordTreeElement(childRecord, WebInspector.SourceCodeLocation.NameStyle.Short);
-                    if (childRecord.width && childRecord.height) {
-                        let subtitle = document.createElement("span");
-                        subtitle.textContent = WebInspector.UIString("%d \u2A09 %d").format(childRecord.width, childRecord.height);
-                        childTreeElement.subtitle = subtitle;
-                    }
-                    var layoutDataGridNode = new WebInspector.LayoutTimelineDataGridNode(childRecord, this.zeroTime);
+                    childDataGridNode = new WebInspector.LayoutTimelineDataGridNode(childRecord, this.zeroTime);
 
-                    this._dataGrid.addRowInSortOrder(childTreeElement, layoutDataGridNode, entry.parentTreeElement);
+                    this._dataGrid.addRowInSortOrder(null, childDataGridNode, entry.parentDataGridNode);
                 } else if (childRecord.type === WebInspector.TimelineRecord.Type.Script) {
-                    var rootNodes = [];
+                    let rootNodes = [];
                     if (childRecord.profile) {
                         // FIXME: Support using the bottom-up tree once it is implemented.
                         rootNodes = childRecord.profile.topDownRootNodes;
                     }
 
-                    childTreeElement = new WebInspector.TimelineRecordTreeElement(childRecord, WebInspector.SourceCodeLocation.NameStyle.Short, rootNodes.length);
-                    var scriptDataGridNode = new WebInspector.ScriptTimelineDataGridNode(childRecord, this.zeroTime);
+                    childDataGridNode = new WebInspector.ScriptTimelineDataGridNode(childRecord, this.zeroTime);
 
-                    this._dataGrid.addRowInSortOrder(childTreeElement, scriptDataGridNode, entry.parentTreeElement);
+                    this._dataGrid.addRowInSortOrder(null, childDataGridNode, entry.parentDataGridNode);
 
-                    for (var profileNode of rootNodes) {
-                        var profileNodeTreeElement = new WebInspector.ProfileNodeTreeElement(profileNode, this);
-                        var profileNodeDataGridNode = new WebInspector.ProfileNodeDataGridNode(profileNode, this.zeroTime, this.startTime, this.endTime);
-                        this._dataGrid.addRowInSortOrder(profileNodeTreeElement, profileNodeDataGridNode, childTreeElement);
+                    for (let profileNode of rootNodes) {
+                        let profileNodeDataGridNode = new WebInspector.ProfileNodeDataGridNode(profileNode, this.zeroTime, this.startTime, this.endTime);
+                        this._dataGrid.addRowInSortOrder(null, profileNodeDataGridNode, childDataGridNode);
                     }
                 }
 
-                if (childTreeElement && childRecord.children.length)
-                    stack.push({children: childRecord.children, parentTreeElement: childTreeElement, index: 0});
+                if (childDataGridNode && childRecord.children.length)
+                    stack.push({children: childRecord.children, parentDataGridNode: childDataGridNode, index: 0});
                 ++entry.index;
             }
         }
@@ -326,7 +289,7 @@
 
     _scopeBarSelectionDidChange(event)
     {
-        this.timelineSidebarPanel.updateFilter();
+        // FIXME: <https://webkit.org/b/154924> Web Inspector: hook up grid row filtering in the new Timelines UI
     }
 };
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScriptClusterTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -31,8 +31,6 @@
 
         console.assert(timeline.type === WebInspector.TimelineRecord.Type.Script);
 
-        this._extraArguments = extraArguments;
-
         this._currentContentViewSetting = new WebInspector.Setting("script-cluster-timeline-view-current-view", WebInspector.ScriptClusterTimelineView.EventsIdentifier);
 
         let showSelectorArrows = this._canShowProfileView();
@@ -52,8 +50,8 @@
         }
 
         // FIXME: We should be able to create these lazily.
-        this._eventsContentView = new WebInspector.ScriptDetailsTimelineView(this.representedObject, this._extraArguments);
-        this._profileContentView = this._canShowProfileView() ? new WebInspector.ScriptProfileTimelineView(this.representedObject, this._extraArguments) : null;
+        this._eventsContentView = new WebInspector.ScriptDetailsTimelineView(this.representedObject, extraArguments);
+        this._profileContentView = this._canShowProfileView() ? new WebInspector.ScriptProfileTimelineView(this.representedObject, extraArguments) : null;
 
         this._showContentViewForIdentifier(this._currentContentViewSetting.value);
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -31,8 +31,6 @@
 
         console.assert(timeline.type === WebInspector.TimelineRecord.Type.Script);
 
-        this.navigationSidebarTreeOutline.element.classList.add("script");
-
         let columns = {name: {}, location: {}, callCount: {}, startTime: {}, totalTime: {}, selfTime: {}, averageTime: {}};
 
         columns.name.title = WebInspector.UIString("Name");
@@ -73,7 +71,7 @@
         for (var column in columns)
             columns[column].sortable = true;
 
-        this._dataGrid = new WebInspector.ScriptTimelineDataGrid(this.navigationSidebarTreeOutline, columns, this);
+        this._dataGrid = new WebInspector.ScriptTimelineDataGrid(null, columns, this);
         this._dataGrid.addEventListener(WebInspector.TimelineDataGrid.Event.FiltersDidChange, this._dataGridFiltersDidChange, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("script-timeline-view-sort", "startTime");
@@ -90,11 +88,6 @@
 
     // Public
 
-    get navigationSidebarTreeOutlineLabel()
-    {
-        return WebInspector.UIString("Records");
-    }
-
     shown()
     {
         super.shown();
@@ -180,34 +173,6 @@
         dataGridNode.revealAndSelect();
     }
 
-    treeElementSelected(treeElement, selectedByUser)
-    {
-        if (this._dataGrid.shouldIgnoreSelectionEvent())
-            return;
-
-        super.treeElementSelected(treeElement, selectedByUser);
-    }
-
-    dataGridNodeForTreeElement(treeElement)
-    {
-        if (treeElement instanceof WebInspector.ProfileNodeTreeElement)
-            return new WebInspector.ProfileNodeDataGridNode(treeElement.profileNode, this.zeroTime, this.startTime, this.endTime);
-        return null;
-    }
-
-    populateProfileNodeTreeElement(treeElement)
-    {
-        var zeroTime = this.zeroTime;
-        var startTime = this.startTime;
-        var endTime = this.endTime;
-
-        for (var childProfileNode of treeElement.profileNode.childNodes) {
-            var profileNodeTreeElement = new WebInspector.ProfileNodeTreeElement(childProfileNode, this);
-            var profileNodeDataGridNode = new WebInspector.ProfileNodeDataGridNode(childProfileNode, zeroTime, startTime, endTime);
-            this._dataGrid.addRowInSortOrder(profileNodeTreeElement, profileNodeDataGridNode, treeElement);
-        }
-    }
-
     layout()
     {
         if (this.startTime !== this._oldStartTime || this.endTime !== this._oldEndTime) {
@@ -240,22 +205,19 @@
         let startTime = this.startTime;
         let endTime = this.endTime;
 
-        for (var scriptTimelineRecord of this._pendingRecords) {
-            var rootNodes = [];
+        for (let scriptTimelineRecord of this._pendingRecords) {
+            let rootNodes = [];
             if (scriptTimelineRecord.profile) {
                 // FIXME: Support using the bottom-up tree once it is implemented.
                 rootNodes = scriptTimelineRecord.profile.topDownRootNodes;
             }
 
-            var treeElement = new WebInspector.TimelineRecordTreeElement(scriptTimelineRecord, WebInspector.SourceCodeLocation.NameStyle.Short, true);
-            var dataGridNode = new WebInspector.ScriptTimelineDataGridNode(scriptTimelineRecord, zeroTime);
+            let dataGridNode = new WebInspector.ScriptTimelineDataGridNode(scriptTimelineRecord, zeroTime);
+            this._dataGrid.addRowInSortOrder(null, dataGridNode);
 
-            this._dataGrid.addRowInSortOrder(treeElement, dataGridNode);
-
-            for (var profileNode of rootNodes) {
-                var profileNodeTreeElement = new WebInspector.ProfileNodeTreeElement(profileNode, this);
-                var profileNodeDataGridNode = new WebInspector.ProfileNodeDataGridNode(profileNode, zeroTime, startTime, endTime);
-                this._dataGrid.addRowInSortOrder(profileNodeTreeElement, profileNodeDataGridNode, treeElement);
+            for (let profileNode of rootNodes) {
+                let profileNodeDataGridNode = new WebInspector.ProfileNodeDataGridNode(profileNode, zeroTime, startTime, endTime);
+                this._dataGrid.addRowInSortOrder(null, profileNodeDataGridNode, dataGridNode);
             }
         }
 
@@ -279,7 +241,7 @@
 
     _dataGridFiltersDidChange(event)
     {
-        this.timelineSidebarPanel.updateFilter();
+        // FIXME: <https://webkit.org/b/154924> Web Inspector: hook up grid row filtering in the new Timelines UI
     }
 
     _dataGridNodeSelected(event)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -153,29 +153,9 @@
         return true;
     }
 
-    addRowInSortOrder(treeElement, dataGridNode, parentElement)
-    {
-        this._treeOutlineDataGridSynchronizer.associate(treeElement, dataGridNode);
-
-        parentElement = parentElement || this._treeOutlineDataGridSynchronizer.treeOutline;
-        var parentNode = parentElement.root ? this : this._treeOutlineDataGridSynchronizer.dataGridNodeForTreeElement(parentElement);
-
-        console.assert(parentNode);
-
-        if (this.sortColumnIdentifier) {
-            var insertionIndex = insertionIndexForObjectInListSortedByFunction(dataGridNode, parentNode.children, this._sortComparator.bind(this));
-
-            // Insert into the parent, which will cause the synchronizer to insert into the data grid.
-            parentElement.insertChild(treeElement, insertionIndex);
-        } else {
-            // Append to the parent, which will cause the synchronizer to append to the data grid.
-            parentElement.appendChild(treeElement);
-        }
-    }
-
     addRowInSortOrder(treeElement, dataGridNode, parentTreeElementOrDataGridNode)
     {
-        let parentDataGridNode = parentTreeElementOrDataGridNode || this;
+        let parentDataGridNode;
         let childElement = dataGridNode;
 
         if (treeElement) {
@@ -192,6 +172,9 @@
 
             parentTreeElementOrDataGridNode = parentTreeElement;
             childElement = treeElement;
+        } else {
+            parentTreeElementOrDataGridNode = parentTreeElementOrDataGridNode || this;
+            parentDataGridNode = parentTreeElementOrDataGridNode;
         }
 
         if (this.sortColumnIdentifier) {

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -26,15 +26,11 @@
 
 WebInspector.TimelineRecordingContentView = class TimelineRecordingContentView extends WebInspector.ContentView
 {
-    constructor(recording, extraArguments)
+    constructor(recording)
     {
-        console.assert(extraArguments);
-        console.assert(extraArguments.timelineSidebarPanel instanceof WebInspector.TimelineSidebarPanel);
-
         super(recording);
 
         this._recording = recording;
-        this._timelineSidebarPanel = extraArguments.timelineSidebarPanel;
 
         this.element.classList.add("timeline-recording");
 
@@ -61,7 +57,7 @@
         this._clearTimelineNavigationItem = new WebInspector.ButtonNavigationItem("clear-timeline", WebInspector.UIString("Clear Timeline"), "Images/NavigationItemTrash.svg", 15, 15);
         this._clearTimelineNavigationItem.addEventListener(WebInspector.ButtonNavigationItem.Event.Clicked, this._clearTimeline, this);
 
-        this._overviewTimelineView = new WebInspector.OverviewTimelineView(recording, {timelineSidebarPanel: this._timelineSidebarPanel});
+        this._overviewTimelineView = new WebInspector.OverviewTimelineView(recording);
         this._overviewTimelineView.secondsPerPixel = this._timelineOverview.secondsPerPixel;
 
         this._timelineViewMap = new Map;
@@ -343,7 +339,7 @@
             iconClassName = WebInspector.TimelineTabContentView.iconClassNameForTimeline(representedObject);
             title = WebInspector.UIString("Details");
         } else {
-            iconClassName = "stopwatch-icon";
+            iconClassName = WebInspector.TimelineTabContentView.StopwatchIconStyleClass;
             title = WebInspector.UIString("Overview");
         }
 
@@ -383,10 +379,7 @@
 
         this._timelineOverview.viewMode = newViewMode;
 
-        if (timelineView instanceof WebInspector.TimelineView) {
-            this._timelineSidebarPanel.contentTreeOutline = timelineView.navigationSidebarTreeOutline;
-            this._timelineSidebarPanel.contentTreeOutlineLabel = timelineView.navigationSidebarTreeOutlineLabel;
-
+        if (timelineView) {
             this._updateTimelineViewSelection(timelineView);
             timelineView.currentTime = this._currentTime;
 
@@ -403,7 +396,6 @@
 
     _pathComponentSelected(event)
     {
-        this._timelineSidebarPanel.showTimelineViewForTimeline(event.data.pathComponent.representedObject);
     }
 
     _timeRangePathComponentSelected(event)
@@ -498,7 +490,8 @@
         if (this._timelineOverview.timelineRuler.entireRangeSelected)
             this._updateTimelineViewSelection(this._overviewTimelineView);
 
-        this._timelineSidebarPanel.updateFilter();
+        // Filter records on new recording times.
+        // FIXME: <https://webkit.org/b/154924> Web Inspector: hook up grid row filtering in the new Timelines UI
 
         // Force a layout now since we are already in an animation frame and don't need to delay it until the next.
         this._timelineOverview.updateLayoutIfNeeded();
@@ -620,7 +613,7 @@
         let timeline = this._recording.timelineForInstrument(instrument);
         console.assert(!this._timelineViewMap.has(timeline), timeline);
 
-        this._timelineViewMap.set(timeline, WebInspector.ContentView.createFromRepresentedObject(timeline, {timelineSidebarPanel: this._timelineSidebarPanel, recording: this._recording}));
+        this._timelineViewMap.set(timeline, WebInspector.ContentView.createFromRepresentedObject(timeline, {recording: this._recording}));
         if (timeline.type === WebInspector.TimelineRecord.Type.RenderingFrame)
             this._renderingFrameTimeline = timeline;
 
@@ -728,7 +721,8 @@
             var selectedTreeElement = this.currentTimelineView && this.currentTimelineView.navigationSidebarTreeOutline ? this.currentTimelineView.navigationSidebarTreeOutline.selectedTreeElement : null;
             var selectionWasHidden = selectedTreeElement && selectedTreeElement.hidden;
 
-            this._timelineSidebarPanel.updateFilter();
+            // Filter records on new timeline selection.
+            // FIXME: <https://webkit.org/b/154924> Web Inspector: hook up grid row filtering in the new Timelines UI
 
             if (selectedTreeElement && selectedTreeElement.hidden !== selectionWasHidden)
                 this.dispatchEventToListeners(WebInspector.ContentView.Event.SelectionPathComponentsDidChange);

Deleted: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineSidebarPanel.css (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineSidebarPanel.css	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineSidebarPanel.css	2016-03-11 00:49:16 UTC (rev 197974)
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop {
-    /* Workaround for background image clipping issue on non-retina machines. See http://webkit.org/b/147346. */
-    filter: brightness(100%);
-}
-
-.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:hover {
-    filter: brightness(95%);
-}
-
-.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:active {
-    filter: brightness(80%);
-}
-
-.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop * {
-    pointer-events: none;
-}
-
-.sidebar > .panel.navigation.timeline > .navigation-bar > .item.flexible-space {
-    justify-content: center;
-
-    line-height: 20px;
-    font-weight: bold;
-
-    color: hsl(0, 0%, 29%);
-    text-shadow: hsla(0, 0%, 100%, 0.5) 0 1px 0;
-}
-
-.sidebar > .panel.navigation.timeline > .title-bar {
-    position: absolute;
-    left: 0;
-    right: 0;
-
-    height: 29px;
-
-    border-bottom: 1px solid var(--border-color);
-    background-color: var(--panel-background-color);
-    color: hsl(0, 0%, 22%);
-
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-
-    font-weight: bold;
-
-    padding: 4px 9px;
-
-    white-space: nowrap;
-    overflow: hidden;
-}
-
-.sidebar > .panel.navigation.timeline > .title-bar.timelines {
-    top: 29px;
-    padding: 8px 9px;
-}
-
-.sidebar > .panel.navigation.timeline > .navigation-bar-container {
-    position: absolute;
-    top: 29px;
-    left: 0;
-    right: 0;
-}
-
-.sidebar > .panel.navigation.timeline > .navigation-bar-container > .navigation-bar {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    align-content: center;
-}
-
-.sidebar > .panel.navigation.timeline > .title-bar.timeline-events {
-    display: flex;
-    height: 23px;
-    border-top: 1px solid var(--border-color);
-}
-
-.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar {
-    position: absolute;
-    top: 2px;
-    right: 0;
-    font-weight: normal;
-}
-
-.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple {
-    background-color: transparent;
-    color: black;
-}
-
-.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple .arrows {
-    color: black;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content {
-    position: absolute;
-    top: 58px;
-    left: 0;
-    right: 0;
-
-    overflow: hidden;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content .close-button {
-    width: 14px;
-
-    visibility: hidden;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content li.item .icon {
-    width: 24px;
-    height: 24px;
-    margin-top: 5px;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected .close-button {
-    visibility: visible;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even) {
-    background-color: hsla(0, 0%, 0%, 0.03);
-    background-clip: padding-box;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child) {
-    border-top: 1px solid hsla(0, 0%, 0%, 0.09);
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item {
-    border-top-color: hsl(0, 0%, 83%);
-}
-
-body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item {
-    border-top-color: hsl(0, 0%, 83%);
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item {
-    border-top-color: hsl(209, 100%, 49%);
-}
-
-.sidebar > .panel.navigation.timeline > .content,
-.sidebar > .panel.navigation.timeline > .empty-content-placeholder {
-    top: 189px;
-}
-
-.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content {
- /* This hides the scrollbar. The view shows a scrollbar, we don't need two. */
-    padding-right: 16px;
-    right: -16px;
-}
-
-.sidebar > .panel.navigation.timeline .item:not(:hover, .selected) .status .status-button,
-.sidebar > .panel.navigation.timeline .item:hover:not(.selected) .status .close.status-button {
-    display: none;
-}
-
-.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .status .go-to-arrow.status-button {
-    display: none;
-}
-
-.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .status .close.status-button {
-    display: none;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > div.header {
-    display: none;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart {
-    height: 108px;
-}
-
-.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart > .chart-content > .chart {
-    width: 76px;
-    height: 76px;
-}

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineTabContentView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -33,10 +33,6 @@
 
         super(identifier || "timeline", "timeline", tabBarItem, WebInspector.TimelineSidebarPanel, detailsSidebarPanels);
 
-        // FIXME: Remove these when the TimelineSidebarPanel is removed. https://bugs.webkit.org/show_bug.cgi?id=154973
-        this.contentBrowser.navigationBar.removeNavigationItem(this._showNavigationSidebarItem);
-        this.navigationSidebarPanel.hide();
-
         // Maintain an invisible tree outline containing tree elements for all recordings.
         // The visible recording's tree element is selected when the content view changes.
         this._recordingTreeElementMap = new Map;
@@ -423,7 +419,7 @@
     {
         console.assert(recording instanceof WebInspector.TimelineRecording, recording);
 
-        let recordingTreeElement = new WebInspector.GeneralTreeElement(WebInspector.TimelineSidebarPanel.StopwatchIconStyleClass, recording.displayName, null, recording);
+        let recordingTreeElement = new WebInspector.GeneralTreeElement(WebInspector.TimelineTabContentView.StopwatchIconStyleClass, recording.displayName, null, recording);
         this._recordingTreeElementMap.set(recording, recordingTreeElement);
         this._recordingsTreeOutline.appendChild(recordingTreeElement);
     }
@@ -555,3 +551,4 @@
 WebInspector.TimelineTabContentView.ShowingTimelineRecordingContentViewCookieKey = "timeline-sidebar-panel-showing-timeline-recording-content-view";
 WebInspector.TimelineTabContentView.SelectedTimelineViewIdentifierCookieKey = "timeline-sidebar-panel-selected-timeline-view-identifier";
 WebInspector.TimelineTabContentView.OverviewTimelineIdentifierCookieValue = "overview";
+WebInspector.TimelineTabContentView.StopwatchIconStyleClass = "stopwatch-icon";

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineView.js (197973 => 197974)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineView.js	2016-03-11 00:47:31 UTC (rev 197973)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineView.js	2016-03-11 00:49:16 UTC (rev 197974)
@@ -26,22 +26,13 @@
 
 WebInspector.TimelineView = class TimelineView extends WebInspector.ContentView
 {
-    constructor(representedObject, extraArguments)
+    constructor(representedObject)
     {
-        console.assert(extraArguments);
-        console.assert(extraArguments.timelineSidebarPanel instanceof WebInspector.TimelineSidebarPanel);
-
         super(representedObject);
 
         // This class should not be instantiated directly. Create a concrete subclass instead.
         console.assert(this.constructor !== WebInspector.TimelineView && this instanceof WebInspector.TimelineView);
 
-        this._timelineSidebarPanel = extraArguments.timelineSidebarPanel;
-
-        this._contentTreeOutline = this._timelineSidebarPanel.createContentTreeOutline();
-        this._contentTreeOutline.addEventListener(WebInspector.TreeOutline.Event.SelectionDidChange, this._treeSelectionDidChange, this);
-        this._contentTreeOutline.__canShowContentViewForTreeElement = this.canShowContentViewForTreeElement.bind(this);
-
         this.element.classList.add("timeline-view");
 
         this._zeroTime = 0;
@@ -52,32 +43,11 @@
 
     // Public
 
-    get navigationItems()
-    {
-        return this._scopeBar ? [this._scopeBar] : [];
-    }
-
-    get navigationSidebarTreeOutline()
-    {
-        return this._contentTreeOutline;
-    }
-
-    get navigationSidebarTreeOutlineLabel()
-    {
-        // Implemented by sub-classes if needed.
-        return null;
-    }
-
     get navigationSidebarTreeOutlineScopeBar()
     {
         return this._scopeBar;
     }
 
-    get timelineSidebarPanel()
-    {
-        return this._timelineSidebarPanel;
-    }
-
     get selectionPathComponents()
     {
         // Implemented by sub-classes if needed.
@@ -222,42 +192,8 @@
         WebInspector.showOriginalOrFormattedSourceCodeLocation(sourceCodeLocation);
     }
 
-    treeElementPathComponentSelected(event)
-    {
-        // Implemented by sub-classes if needed.
-    }
-
-    treeElementDeselected(treeElement)
-    {
-        // Implemented by sub-classes if needed.
-    }
-
-    treeElementSelected(treeElement, selectedByUser)
-    {
-        // Implemented by sub-classes if needed.
-
-        if (!this._timelineSidebarPanel.canShowDifferentContentView())
-            return;
-
-        if (treeElement instanceof WebInspector.FolderTreeElement)
-            return;
-
-        this.showContentViewForTreeElement(treeElement);
-    }
-
     userSelectedRecordFromOverview(timelineRecord)
     {
         // Implemented by sub-classes if needed.
     }
-
-    // Private
-
-    _treeSelectionDidChange(event)
-    {
-        if (event.data.deselectedElement)
-            this.treeElementDeselected(event.data.deselectedElement);
-
-        if (event.data.selectedElement)
-            this.treeElementSelected(event.data.selectedElement, event.data.selectedByUser);
-    }
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to