Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js |
| index 8e10f9a6e2ce2e543a120d056c89059418ffb331..486c731fe91268b4ad01394411293e4b8df33866 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js |
| @@ -192,6 +192,7 @@ Timeline.TimelineFlameChartEntryType = { |
| Frame: Symbol('Frame'), |
| Event: Symbol('Event'), |
| InteractionRecord: Symbol('InteractionRecord'), |
| + ExtensionEvent: Symbol('ExtensionEvent') |
| }; |
| /** |
| @@ -283,14 +284,15 @@ Timeline.TimelineFlameChartView = class extends UI.VBox { |
| * @param {!TimelineModel.TimelineModel} timelineModel |
| * @param {!TimelineModel.TimelineFrameModel} frameModel |
| * @param {!TimelineModel.TimelineIRModel} irModel |
| + * @param {!Array<!{title: string, model: !SDK.TracingModel}>} extensionModels |
| * @param {!Array<!TimelineModel.TimelineModel.Filter>} filters |
| */ |
| - constructor(delegate, timelineModel, frameModel, irModel, filters) { |
| + constructor(delegate, timelineModel, frameModel, irModel, extensionModels, filters) { |
| super(); |
| this.element.classList.add('timeline-flamechart'); |
| this._delegate = delegate; |
| this._model = timelineModel; |
| - |
| + this._extensionModels = extensionModels; |
| this._splitWidget = new UI.SplitWidget(false, false, 'timelineFlamechartMainView', 150); |
| this._dataProvider = new Timeline.TimelineFlameChartDataProvider(this._model, frameModel, irModel, filters); |
| @@ -311,6 +313,8 @@ Timeline.TimelineFlameChartView = class extends UI.VBox { |
| this._onNetworkEntrySelected = this._onEntrySelected.bind(this, this._networkDataProvider); |
| this._mainView.addEventListener(UI.FlameChart.Events.EntrySelected, this._onMainEntrySelected, this); |
| this._networkView.addEventListener(UI.FlameChart.Events.EntrySelected, this._onNetworkEntrySelected, this); |
| + this._lastExtensionCount = 0; |
| + |
| Bindings.blackboxManager.addChangeListener(this.refreshRecords, this); |
| } |
| @@ -354,13 +358,25 @@ Timeline.TimelineFlameChartView = class extends UI.VBox { |
| */ |
| refreshRecords() { |
| this._dataProvider.reset(); |
| + this._lastExtensionCount = 0; |
|
alph
2016/12/13 20:16:49
_nextExtensionIndex or just _extensionCount
|
| + this.extensionDataAdded(); |
| this._mainView.scheduleUpdate(); |
| + |
| this._networkDataProvider.reset(); |
| this._networkView.scheduleUpdate(); |
| } |
| /** |
| * @override |
| + */ |
| + extensionDataAdded() { |
| + while (this._lastExtensionCount < this._extensionModels.length) |
| + this._dataProvider.appendExtensionEvents(this._extensionModels[this._lastExtensionCount++]); |
| + this._mainView.scheduleUpdate(); |
| + } |
| + |
| + /** |
| + * @override |
| * @param {?SDK.TracingModel.Event} event |
| */ |
| highlightEvent(event) { |