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

Unified Diff: third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js

Issue 2779253003: DevTools: Show top level event initiator when a child is selected. (Closed)
Patch Set: Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
index 296742004b644557735756968026e8b5259ca228..2566939b2eee50faffe7b976215ce25fff5fcc78 100644
--- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
+++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
@@ -865,20 +865,24 @@ Timeline.TimelineFlameChartDataProvider = class {
return false;
this._lastInitiatorEntry = entryIndex;
var event = this.eventByIndex(entryIndex);
- var initiator = event && TimelineModel.TimelineData.forEvent(event).initiator();
- if (initiator && !this._isVisible(initiator))
- initiator = null;
var td = this._timelineData;
- if (td.flowStartTimes.length || initiator) {
- td.flowStartTimes = [];
- td.flowStartLevels = [];
- td.flowEndTimes = [];
- td.flowEndLevels = [];
+ td.flowStartTimes = [];
+ td.flowStartLevels = [];
+ td.flowEndTimes = [];
+ td.flowEndLevels = [];
+ // Find the closest ancestor with an initiator.
+ var initiator;
+ for (; event; event = TimelineModel.TimelineModel.parentEvent(event)) {
+ if (!this._isVisible(event))
+ continue;
+ initiator = TimelineModel.TimelineData.forEvent(event).initiator();
+ if (initiator)
+ break;
}
- if (!initiator)
+ if (!event || !initiator || !this._isVisible(initiator))
caseq 2017/03/29 22:08:20 nit: first clause is redundant
alph 2017/03/29 22:16:57 Done.
return true;
- var initiatorIndex = initiator[Timeline.TimelineFlameChartDataProvider._indexSymbol];
var eventIndex = event[Timeline.TimelineFlameChartDataProvider._indexSymbol];
+ var initiatorIndex = initiator[Timeline.TimelineFlameChartDataProvider._indexSymbol];
td.flowStartTimes.push(initiator.endTime || initiator.startTime);
td.flowStartLevels.push(td.entryLevels[initiatorIndex]);
td.flowEndTimes.push(event.startTime);

Powered by Google App Engine
This is Rietveld 408576698