Index: Source/devtools/front_end/CPUProfileView.js |
diff --git a/Source/devtools/front_end/CPUProfileView.js b/Source/devtools/front_end/CPUProfileView.js |
index f500abe528aafd96613d4aa363d216918e9d3931..c0152cd9c0968fc3179b85a6f7020c701291ba30 100644 |
--- a/Source/devtools/front_end/CPUProfileView.js |
+++ b/Source/devtools/front_end/CPUProfileView.js |
@@ -386,8 +386,8 @@ WebInspector.CPUProfileView.prototype = { |
{ |
if (this._flameChart) |
return; |
- var dataProvider = new WebInspector.CPUFlameChartDataProvider(this); |
- this._flameChart = new WebInspector.FlameChart(dataProvider); |
+ this._dataProvider = new WebInspector.CPUFlameChartDataProvider(this); |
+ this._flameChart = new WebInspector.FlameChart(this._dataProvider); |
this._flameChart.addEventListener(WebInspector.FlameChart.Events.EntrySelected, this._onEntrySelected.bind(this)); |
}, |
@@ -396,7 +396,8 @@ WebInspector.CPUProfileView.prototype = { |
*/ |
_onEntrySelected: function(event) |
{ |
- var node = event.data; |
+ var entryIndex = event.data; |
+ var node = this._dataProvider._entryNodes[entryIndex]; |
if (!node || !node.scriptId) |
return; |
var script = WebInspector.debuggerModel.scriptForId(node.scriptId) |
@@ -1329,21 +1330,25 @@ WebInspector.CPUFlameChartDataProvider.prototype = { |
/** |
* @param {number} entryIndex |
- * @return {!Object} |
+ * @return {!string} |
*/ |
- entryData: function(entryIndex) |
+ entryColor: function(entryIndex) |
{ |
- return this._entryNodes[entryIndex]; |
+ var node = this._entryNodes[entryIndex]; |
+ return this._colorGenerator.colorForID(node.functionName + ":" + node.url + ":" + node.lineNumber);; |
}, |
/** |
* @param {number} entryIndex |
- * @return {!string} |
+ * @return {!{startTimeOffset: number, endTimeOffset: number}} |
*/ |
- entryColor: function(entryIndex) |
+ highlightTimeRange: function(entryIndex) |
{ |
- var node = this._entryNodes[entryIndex]; |
- return this._colorGenerator.colorForID(node.functionName + ":" + node.url + ":" + node.lineNumber);; |
+ var startTimeOffset = this._timelineData.entryOffsets[entryIndex]; |
+ return { |
+ startTimeOffset: startTimeOffset, |
+ endTimeOffset: startTimeOffset + this._timelineData.entryTotalTimes[entryIndex] |
+ }; |
}, |
/** |