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

Unified Diff: third_party/WebKit/Source/devtools/front_end/sdk/CPUProfileDataModel.js

Issue 2248963005: DevTools: Support loading of legacy CPU profile format. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 | « third_party/WebKit/LayoutTests/inspector/profiler/cpu-profiler-native-nodes-filter-expected.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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}
*/
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/profiler/cpu-profiler-native-nodes-filter-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698