OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * @unrestricted | 6 * @unrestricted |
7 */ | 7 */ |
8 Timeline.EventsTimelineTreeView = class extends Timeline.TimelineTreeView { | 8 Timeline.EventsTimelineTreeView = class extends Timeline.TimelineTreeView { |
9 /** | 9 /** |
10 * @param {!Array<!TimelineModel.TimelineModelFilter>} filters | 10 * @param {!Array<!TimelineModel.TimelineModelFilter>} filters |
11 * @param {!Timeline.TimelineModeViewDelegate} delegate | 11 * @param {!Timeline.TimelineModeViewDelegate} delegate |
12 */ | 12 */ |
13 constructor(filters, delegate) { | 13 constructor(filters, delegate) { |
14 super(); | 14 super(); |
15 this._filtersControl = new Timeline.EventsTimelineTreeView.Filters(); | 15 this._filtersControl = new Timeline.EventsTimelineTreeView.Filters(); |
16 this._filtersControl.addEventListener( | 16 this._filtersControl.addEventListener( |
17 Timeline.EventsTimelineTreeView.Filters.Events.FilterChanged, this._onFi
lterChanged, this); | 17 Timeline.EventsTimelineTreeView.Filters.Events.FilterChanged, this._onFi
lterChanged, this); |
18 this.init(filters); | 18 this.init(filters); |
19 this._delegate = delegate; | 19 this._delegate = delegate; |
| 20 this._badgePool = new ProductRegistry.BadgePool(); |
20 this._filters.push.apply(this._filters, this._filtersControl.filters()); | 21 this._filters.push.apply(this._filters, this._filtersControl.filters()); |
21 this._dataGrid.markColumnAsSortedBy('startTime', DataGrid.DataGrid.Order.Asc
ending); | 22 this._dataGrid.markColumnAsSortedBy('startTime', DataGrid.DataGrid.Order.Asc
ending); |
22 this._splitWidget.showBoth(); | 23 this._splitWidget.showBoth(); |
23 } | 24 } |
24 | 25 |
25 /** | 26 /** |
26 * @override | 27 * @override |
27 * @param {!Timeline.TimelineSelection} selection | 28 * @param {!Timeline.TimelineSelection} selection |
28 */ | 29 */ |
29 updateContents(selection) { | 30 updateContents(selection) { |
| 31 this._badgePool.reset(); |
30 super.updateContents(selection); | 32 super.updateContents(selection); |
31 if (selection.type() === Timeline.TimelineSelection.Type.TraceEvent) { | 33 if (selection.type() === Timeline.TimelineSelection.Type.TraceEvent) { |
32 var event = /** @type {!SDK.TracingModel.Event} */ (selection.object()); | 34 var event = /** @type {!SDK.TracingModel.Event} */ (selection.object()); |
33 this._selectEvent(event, true); | 35 this._selectEvent(event, true); |
34 } | 36 } |
35 } | 37 } |
36 | 38 |
37 /** | 39 /** |
38 * @override | 40 * @override |
39 * @return {!TimelineModel.TimelineProfileTree.Node} | 41 * @return {!TimelineModel.TimelineProfileTree.Node} |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 | 108 |
107 /** | 109 /** |
108 * @override | 110 * @override |
109 * @param {!TimelineModel.TimelineProfileTree.Node} node | 111 * @param {!TimelineModel.TimelineProfileTree.Node} node |
110 * @return {boolean} | 112 * @return {boolean} |
111 */ | 113 */ |
112 _showDetailsForNode(node) { | 114 _showDetailsForNode(node) { |
113 var traceEvent = node.event; | 115 var traceEvent = node.event; |
114 if (!traceEvent) | 116 if (!traceEvent) |
115 return false; | 117 return false; |
116 Timeline.TimelineUIUtils.buildTraceEventDetails(traceEvent, this.model().tim
elineModel(), this._linkifier, false) | 118 Timeline.TimelineUIUtils |
117 .then(fragment => this._detailsView.element.appendChild(fragment)); | 119 .buildTraceEventDetails(traceEvent, this.model().timelineModel(), this._
linkifier, this._badgePool, false) |
| 120 .then(fragment => this._detailsView.element.appendChild(fragment)); |
118 return true; | 121 return true; |
119 } | 122 } |
120 | 123 |
121 /** | 124 /** |
122 * @override | 125 * @override |
123 * @param {?TimelineModel.TimelineProfileTree.Node} node | 126 * @param {?TimelineModel.TimelineProfileTree.Node} node |
124 */ | 127 */ |
125 _onHover(node) { | 128 _onHover(node) { |
126 this._delegate.highlightEvent(node && node.event); | 129 this._delegate.highlightEvent(node && node.event); |
127 } | 130 } |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 this.dispatchEventToListeners(Timeline.EventsTimelineTreeView.Filters.Events
.FilterChanged); | 201 this.dispatchEventToListeners(Timeline.EventsTimelineTreeView.Filters.Events
.FilterChanged); |
199 } | 202 } |
200 }; | 203 }; |
201 | 204 |
202 Timeline.EventsTimelineTreeView.Filters._durationFilterPresetsMs = [0, 1, 15]; | 205 Timeline.EventsTimelineTreeView.Filters._durationFilterPresetsMs = [0, 1, 15]; |
203 | 206 |
204 /** @enum {symbol} */ | 207 /** @enum {symbol} */ |
205 Timeline.EventsTimelineTreeView.Filters.Events = { | 208 Timeline.EventsTimelineTreeView.Filters.Events = { |
206 FilterChanged: Symbol('FilterChanged') | 209 FilterChanged: Symbol('FilterChanged') |
207 }; | 210 }; |
OLD | NEW |