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

Unified Diff: third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js

Issue 2188413004: DevTools: Remove Advanced heap snapshot properties setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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: third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js
index 00257f7a4b00d6ca82d4fc990193836ad2e0de44..3e3907022e0e68e087d64f6ca9faefdcc0cca56f 100644
--- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js
+++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js
@@ -33,20 +33,15 @@
* @extends {WebInspector.HeapSnapshot}
* @param {!Object} profile
* @param {!WebInspector.HeapSnapshotProgress} progress
- * @param {boolean} showHiddenData
*/
-WebInspector.JSHeapSnapshot = function(profile, progress, showHiddenData)
+WebInspector.JSHeapSnapshot = function(profile, progress)
{
this._nodeFlags = { // bit flags
canBeQueried: 1,
detachedDOMTreeNode: 2,
- pageObject: 4, // The idea is to track separately the objects owned by the page and the objects owned by debugger.
-
- visitedMarkerMask: 0x0ffff,
- visitedMarker: 0x10000
+ pageObject: 4 // The idea is to track separately the objects owned by the page and the objects owned by debugger.
};
- this._lazyStringCache = { };
- this._showHiddenData = showHiddenData;
+ this._lazyStringCache = {};
WebInspector.HeapSnapshot.call(this, profile, progress);
}
@@ -109,16 +104,7 @@ WebInspector.JSHeapSnapshot.prototype = {
*/
containmentEdgesFilter: function()
{
- var showHiddenData = this._showHiddenData;
- function filter(edge)
- {
- if (edge.isInvisible())
- return false;
- if (showHiddenData)
- return true;
- return !edge.isHidden() && !edge.node().isHidden();
- }
- return filter;
+ return edge => !edge.isInvisible();
},
/**
@@ -251,12 +237,16 @@ WebInspector.JSHeapSnapshot.prototype = {
*/
userObjectsMapAndFlag: function()
caseq 2016/07/30 00:26:26 let's drop it altogether and inline.
alph 2016/07/30 00:31:59 It's virtual. This is about merging JSHeapSnapshot
{
- return this._showHiddenData ? null : {
+ return {
map: this._flags,
flag: this._nodeFlags.pageObject
};
},
+ /**
+ * @param {!WebInspector.HeapSnapshotNode} node
+ * @return {number}
+ */
_flagsOfNode: function(node)
{
return this._flags[node.nodeIndex / this._nodeFieldCount];
@@ -346,16 +336,15 @@ WebInspector.JSHeapSnapshot.prototype = {
var nodesCount = this.nodeCount;
var flags = this._flags;
- var flag = this._nodeFlags.pageObject;
- var visitedMarker = this._nodeFlags.visitedMarker;
- var visitedMarkerMask = this._nodeFlags.visitedMarkerMask;
- var markerAndFlag = visitedMarker | flag;
+ var pageObjectFlag = this._nodeFlags.pageObject;
var nodesToVisit = new Uint32Array(nodesCount);
var nodesToVisitLength = 0;
var rootNodeOrdinal = this._rootNodeIndex / nodeFieldCount;
var node = this.rootNode();
+
+ // Populate the entry points. They are Window objects and DOM Tree Roots.
for (var edgeIndex = firstEdgeIndexes[rootNodeOrdinal], endEdgeIndex = firstEdgeIndexes[rootNodeOrdinal + 1];
edgeIndex < endEdgeIndex;
edgeIndex += edgeFieldsCount) {
@@ -369,25 +358,24 @@ WebInspector.JSHeapSnapshot.prototype = {
continue;
var nodeOrdinal = nodeIndex / nodeFieldCount;
nodesToVisit[nodesToVisitLength++] = nodeOrdinal;
- flags[nodeOrdinal] |= visitedMarker;
+ flags[nodeOrdinal] |= pageObjectFlag;
}
+ // Mark everything reachable with the pageObject flag.
while (nodesToVisitLength) {
var nodeOrdinal = nodesToVisit[--nodesToVisitLength];
- flags[nodeOrdinal] |= flag;
- flags[nodeOrdinal] &= visitedMarkerMask;
var beginEdgeIndex = firstEdgeIndexes[nodeOrdinal];
var endEdgeIndex = firstEdgeIndexes[nodeOrdinal + 1];
for (var edgeIndex = beginEdgeIndex; edgeIndex < endEdgeIndex; edgeIndex += edgeFieldsCount) {
var childNodeIndex = containmentEdges[edgeIndex + edgeToNodeOffset];
var childNodeOrdinal = childNodeIndex / nodeFieldCount;
- if (flags[childNodeOrdinal] & markerAndFlag)
+ if (flags[childNodeOrdinal] & pageObjectFlag)
continue;
var type = containmentEdges[edgeIndex + edgeTypeOffset];
if (type === edgeWeakType)
continue;
nodesToVisit[nodesToVisitLength++] = childNodeOrdinal;
- flags[childNodeOrdinal] |= visitedMarker;
+ flags[childNodeOrdinal] |= pageObjectFlag;
}
}
},

Powered by Google App Engine
This is Rietveld 408576698