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

Unified Diff: Source/devtools/front_end/profiler/CPUProfileTopDownDataGrid.js

Issue 356843008: Fix private member access violations in profiler module (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressed apavlov's comments Created 6 years, 6 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: Source/devtools/front_end/profiler/CPUProfileTopDownDataGrid.js
diff --git a/Source/devtools/front_end/profiler/CPUProfileTopDownDataGrid.js b/Source/devtools/front_end/profiler/CPUProfileTopDownDataGrid.js
index f1f7a7a5fe764ead6f8cf160010ab34da97fc2e8..48445c88434c141702469ee0868f31adc2328a93 100644
--- a/Source/devtools/front_end/profiler/CPUProfileTopDownDataGrid.js
+++ b/Source/devtools/front_end/profiler/CPUProfileTopDownDataGrid.js
@@ -40,37 +40,52 @@ WebInspector.TopDownProfileDataGridNode = function(profileNode, owningTree)
}
WebInspector.TopDownProfileDataGridNode.prototype = {
- _sharedPopulate: function()
+ /**
+ * @override
+ */
+ populateChildren: function()
{
- var children = this._remainingChildren;
- var childrenLength = children.length;
+ WebInspector.TopDownProfileDataGridNode._sharedPopulate(this);
+ },
- for (var i = 0; i < childrenLength; ++i)
- this.appendChild(new WebInspector.TopDownProfileDataGridNode(children[i], this.tree));
+ __proto__: WebInspector.ProfileDataGridNode.prototype
+}
- this._remainingChildren = null;
- },
+/**
+ * @param {!WebInspector.TopDownProfileDataGridNode|!WebInspector.TopDownProfileDataGridTree} container
+ */
+WebInspector.TopDownProfileDataGridNode._sharedPopulate = function(container)
+{
+ var children = container._remainingChildren;
+ var childrenLength = children.length;
- _exclude: function(aCallUID)
- {
- if (this._remainingChildren)
- this.populate();
+ for (var i = 0; i < childrenLength; ++i)
+ container.appendChild(new WebInspector.TopDownProfileDataGridNode(children[i], /** @type {!WebInspector.TopDownProfileDataGridTree} */(container.tree)));
- this._save();
+ container._remainingChildren = null;
+}
- var children = this.children;
- var index = this.children.length;
+/**
+ * @param {!WebInspector.TopDownProfileDataGridNode|!WebInspector.TopDownProfileDataGridTree} container
+ * @param {number} aCallUID
+ */
+WebInspector.TopDownProfileDataGridNode._excludeRecursively = function(container, aCallUID)
+{
+ if (container._remainingChildren)
+ container.populate();
- while (index--)
- children[index]._exclude(aCallUID);
+ container.save();
- var child = this.childrenByCallUID[aCallUID];
+ var children = container.children;
+ var index = container.children.length;
- if (child)
- this._merge(child, true);
- },
+ while (index--)
+ WebInspector.TopDownProfileDataGridNode._excludeRecursively(children[index], aCallUID);
- __proto__: WebInspector.ProfileDataGridNode.prototype
+ var child = container.childrenByCallUID[aCallUID];
+
+ if (child)
+ WebInspector.ProfileDataGridNode.merge(container, child, true);
}
/**
@@ -85,9 +100,7 @@ WebInspector.TopDownProfileDataGridTree = function(profileView, rootProfileNode)
this._remainingChildren = rootProfileNode.children;
- var any = /** @type {*} */(this);
- var node = /** @type {!WebInspector.ProfileDataGridNode} */(any);
- WebInspector.TopDownProfileDataGridNode.prototype.populate.call(node);
+ WebInspector.ProfileDataGridNode.populate(this);
}
WebInspector.TopDownProfileDataGridTree.prototype = {
@@ -99,7 +112,7 @@ WebInspector.TopDownProfileDataGridTree.prototype = {
if (!profileDataGridNode)
return;
- this._save();
+ this.save();
profileDataGridNode.savePosition();
this.children = [profileDataGridNode];
@@ -114,13 +127,9 @@ WebInspector.TopDownProfileDataGridTree.prototype = {
if (!profileDataGridNode)
return;
- this._save();
-
- var excludedCallUID = profileDataGridNode.callUID;
+ this.save();
- var any = /** @type {*} */(this);
- var node = /** @type {!WebInspector.TopDownProfileDataGridNode} */(any);
- WebInspector.TopDownProfileDataGridNode.prototype._exclude.call(node, excludedCallUID);
+ WebInspector.TopDownProfileDataGridNode._excludeRecursively(this, profileDataGridNode.callUID);
if (this.lastComparator)
this.sort(this.lastComparator, true);
@@ -136,9 +145,13 @@ WebInspector.TopDownProfileDataGridTree.prototype = {
WebInspector.ProfileDataGridTree.prototype.restore.call(this);
},
- _merge: WebInspector.TopDownProfileDataGridNode.prototype._merge,
-
- _sharedPopulate: WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate,
+ /**
+ * @override
+ */
+ populateChildren: function()
+ {
+ WebInspector.TopDownProfileDataGridNode._sharedPopulate(this);
+ },
__proto__: WebInspector.ProfileDataGridTree.prototype
}
« no previous file with comments | « Source/devtools/front_end/profiler/CPUProfileDataGrid.js ('k') | Source/devtools/front_end/profiler/CPUProfileView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698