Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/timeline/EventsTimelineTreeView.js

Issue 2886393003: DevTools: Use badges to render products in timeline details. (Closed)
Patch Set: rebaseline Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698