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

Unified Diff: Source/devtools/front_end/CPUProfileView.js

Issue 185533004: FlameChart: convert colors magic into dataProvider.entryColor getter (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: color.index was removed Created 6 years, 10 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
« no previous file with comments | « no previous file | Source/devtools/front_end/FlameChart.js » ('j') | Source/devtools/front_end/FlameChart.js » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/CPUProfileView.js
diff --git a/Source/devtools/front_end/CPUProfileView.js b/Source/devtools/front_end/CPUProfileView.js
index 16f41dd85468bb15bb5b5bc121c840223ad2c732..eae611873bd3f53ea7aa10aa8611cf719398cffb 100644
--- a/Source/devtools/front_end/CPUProfileView.js
+++ b/Source/devtools/front_end/CPUProfileView.js
@@ -1109,14 +1109,6 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
},
/**
- * @return {!WebInspector.FlameChart.ColorGenerator}
- */
- colorGenerator: function()
- {
- return this._colorGenerator;
- },
-
- /**
* @return {?WebInspector.FlameChart.TimelineData}
*/
_calculateTimelineData: function()
@@ -1134,16 +1126,15 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
var openIntervals = [];
var stackTrace = [];
- var colorEntryIndexes = [];
var maxDepth = 5; // minimum stack depth for the case when we see no activity.
var depth = 0;
/**
* @constructor
- * @param {!Object} color
- * @param {!number} depth
- * @param {!number} duration
- * @param {!number} startTime
+ * @param {string} color
+ * @param {number} depth
+ * @param {number} duration
+ * @param {number} startTime
* @param {!Object} node
*/
function ChartEntry(color, depth, duration, startTime, node)
@@ -1199,15 +1190,10 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
}
var colorGenerator = this._colorGenerator;
+ var color = "";
while (node) {
- var color = colorGenerator.colorForID(node.functionName + ":" + node.url + ":" + node.lineNumber);
- var indexesForColor = colorEntryIndexes[color.index];
- if (!indexesForColor)
- indexesForColor = colorEntryIndexes[color.index] = [];
-
- var entry = new ChartEntry(color, depth, samplingInterval, sampleIndex * samplingInterval, node);
- indexesForColor.push(entries.length);
- entries.push(entry);
+ color = colorGenerator.colorForID(node.functionName + ":" + node.url + ":" + node.lineNumber);
+ entries.push(new ChartEntry(color, depth, samplingInterval, sampleIndex * samplingInterval, node));
openIntervals.push({node: node, index: index});
++index;
@@ -1217,8 +1203,8 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
entries[entries.length - 1].selfTime += samplingInterval;
}
+ var entryColors = new Array(entries.length);
var entryNodes = new Array(entries.length);
- var entryColorIndexes = new Uint16Array(entries.length);
var entryLevels = new Uint8Array(entries.length);
var entryTotalTimes = new Float32Array(entries.length);
var entrySelfTimes = new Float32Array(entries.length);
@@ -1229,7 +1215,7 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
for (var i = 0; i < entries.length; ++i) {
var entry = entries[i];
entryNodes[i] = entry.node;
- entryColorIndexes[i] = color.index;
+ entryColors[i] = entry.color;
entryLevels[i] = entry.depth;
entryTotalTimes[i] = entry.duration;
entryOffsets[i] = entry.startTime;
@@ -1241,8 +1227,6 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
this._maxStackDepth = Math.max(maxDepth, depth);
this._timelineData = {
- colorEntryIndexes: colorEntryIndexes,
- entryColorIndexes: entryColorIndexes,
entryLevels: entryLevels,
entryTotalTimes: entryTotalTimes,
entryOffsets: entryOffsets,
@@ -1252,6 +1236,7 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
this._entryNodes = entryNodes;
this._entrySelfTimes = entrySelfTimes;
this._entryDeoptFlags = entryDeoptFlags;
+ this._entryColors = entryColors;
return /** @type {!WebInspector.FlameChart.TimelineData} */ (this._timelineData);
},
@@ -1342,5 +1327,14 @@ WebInspector.CPUFlameChartDataProvider.prototype = {
entryData: function(entryIndex)
{
return this._entryNodes[entryIndex];
- }
+ },
+
+ /**
+ * @param {number} entryIndex
+ * @return {!string}
+ */
+ entryColor: function(entryIndex)
+ {
+ return this._entryColors[entryIndex];
+ },
}
« no previous file with comments | « no previous file | Source/devtools/front_end/FlameChart.js » ('j') | Source/devtools/front_end/FlameChart.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698