| Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChart.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
|
| similarity index 95%
|
| rename from third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChart.js
|
| rename to third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
|
| index 093d87e3aefc03b9be00ae9eb488c772b7a6122b..871e27f00f0b4322d3c60a42ec68adea257ab234 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChart.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
|
| @@ -709,6 +709,7 @@ Timeline.TimelineFlameChartDataProvider = class {
|
| this._timelineData.entryTotalTimes[index] =
|
| event.duration || Timeline.TimelineFlameChartDataProvider.InstantEventVisibleDurationMs;
|
| this._timelineData.entryStartTimes[index] = event.startTime;
|
| + event[Timeline.TimelineFlameChartDataProvider._indexSymbol] = index;
|
| }
|
|
|
| /**
|
| @@ -873,6 +874,39 @@ Timeline.TimelineFlameChartDataProvider = class {
|
| return filter.accept(event);
|
| });
|
| }
|
| +
|
| + /**
|
| + * @param {number} entryIndex
|
| + * @return {boolean}
|
| + */
|
| + buildFlowForInitiator(entryIndex) {
|
| + if (this._lastInitiatorEntry === entryIndex)
|
| + return false;
|
| + this._lastInitiatorEntry = entryIndex;
|
| + var event = this._entryType(entryIndex) === Timeline.TimelineFlameChartEntryType.Event ?
|
| + /** @type {!SDK.TracingModel.Event} */ (this._entryData[entryIndex]) :
|
| + null;
|
| + var td = this._timelineData;
|
| + var initiator = event && TimelineModel.TimelineData.forEvent(event).initiator();
|
| + if (initiator && !this._isVisible(initiator))
|
| + initiator = null;
|
| + if (td.flowStartTimes.length || initiator) {
|
| + td.flowStartTimes = [];
|
| + td.flowStartLevels = [];
|
| + td.flowEndTimes = [];
|
| + td.flowEndLevels = [];
|
| + }
|
| + if (!initiator)
|
| + return true;
|
| + var initiatorIndex = initiator[Timeline.TimelineFlameChartDataProvider._indexSymbol];
|
| + var eventIndex = event[Timeline.TimelineFlameChartDataProvider._indexSymbol];
|
| + td.flowStartTimes.push(initiator.endTime || initiator.startTime);
|
| + td.flowStartLevels.push(td.entryLevels[initiatorIndex]);
|
| + td.flowEndTimes.push(event.startTime);
|
| + td.flowEndLevels.push(td.entryLevels[eventIndex]);
|
| + return true;
|
| + }
|
| };
|
|
|
| Timeline.TimelineFlameChartDataProvider.InstantEventVisibleDurationMs = 0.001;
|
| +Timeline.TimelineFlameChartDataProvider._indexSymbol = Symbol('index');
|
|
|