Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js |
| index 0c98355352cd8fc8e8edc7d85f5df0cd1eb9793d..f83c2bfbb806a463227f1e1ec428a4716c01e4cf 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js |
| @@ -42,6 +42,7 @@ WebInspector.CPUProfileDataModel = function(profile) |
| this.profileStartTime = profile.startTime * 1000; |
| this.profileEndTime = profile.endTime * 1000; |
| this.totalHitCount = 0; |
| + this._compatibilityConversionHeadToNodes(profile); |
| this.profileHead = this._translateProfileTree(profile.nodes); |
| WebInspector.ProfileTreeModel.call(this, this.profileHead); |
| this._extractMetaNodes(); |
| @@ -54,6 +55,30 @@ WebInspector.CPUProfileDataModel = function(profile) |
| WebInspector.CPUProfileDataModel.prototype = { |
| /** |
| + * @param {!ProfilerAgent.CPUProfile} profile |
| + */ |
| + _compatibilityConversionHeadToNodes: function(profile) |
| + { |
| + if (!profile.head || profile.nodes) |
| + return; |
| + /** @type {!Array<!ProfilerAgent.CPUProfileNode>} */ |
| + var nodes = []; |
| + convertNodesTree(profile.head); |
| + profile.nodes = nodes; |
| + profile.head = null; |
|
dgozman
2016/08/18 01:55:15
Maybe delete profile.head?
alph
2016/08/18 05:22:48
Assigning null seems to be better from v8 performa
dgozman
2016/08/18 05:30:31
Sure, but assigning null makes profile not conform
|
| + /** |
| + * @param {!ProfilerAgent.CPUProfileNode} node |
| + * @return {number} |
| + */ |
| + function convertNodesTree(node) |
| + { |
| + nodes.push(node); |
| + node.children = (/** @type {!Array<!ProfilerAgent.CPUProfileNode>} */(node.children)).map(convertNodesTree); |
| + return node.id; |
| + } |
| + }, |
| + |
| + /** |
| * @param {!Array<!ProfilerAgent.CPUProfileNode>} nodes |
| * @return {!WebInspector.CPUProfileNode} |
| */ |