From 0e0a75a0a7a9eb61faa72a74c01411e80662e16f Mon Sep 17 00:00:00 2001 From: "yurys@chromium.org" Date: Tue, 26 Jun 2012 12:32:38 +0000 Subject: [PATCH] Web Inspector: popover is not shown for detached DOM nodes, not referenced directly from JS https://bugs.webkit.org/show_bug.cgi?id=89955 Reviewed by Vsevolod Vlasov. Show object popover for all heap snapshot nodes event for those whose canBeQueried flag is false. We didn't show popover for such objects before as it could lead to the backend crash. In the meantime the backend shouldn't fail on such DOM wrappers and report an error if it cannot resolve inspected object. * inspector/front-end/HeapSnapshotGridNodes.js: (WebInspector.HeapSnapshotGenericObjectNode): (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data): * inspector/front-end/HeapSnapshotView.js: (WebInspector.HeapSnapshotView.prototype._getHoverAnchor): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121256 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 19 +++++++++++++++++++ .../inspector/front-end/HeapSnapshotGridNodes.js | 10 +++++----- .../WebCore/inspector/front-end/HeapSnapshotView.js | 5 +---- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index a0b18b9..6021f43 100755 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,22 @@ +2012-06-26 Yury Semikhatsky + + Web Inspector: popover is not shown for detached DOM nodes, not referenced directly from JS + https://bugs.webkit.org/show_bug.cgi?id=89955 + + Reviewed by Vsevolod Vlasov. + + Show object popover for all heap snapshot nodes event for those whose + canBeQueried flag is false. We didn't show popover for such objects before + as it could lead to the backend crash. In the meantime the backend shouldn't + fail on such DOM wrappers and report an error if it cannot resolve + inspected object. + + * inspector/front-end/HeapSnapshotGridNodes.js: + (WebInspector.HeapSnapshotGenericObjectNode): + (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data): + * inspector/front-end/HeapSnapshotView.js: + (WebInspector.HeapSnapshotView.prototype._getHoverAnchor): + 2012-06-26 Christophe Dumez [EFL] Simplify SharedBuffer::createWithContentsOfFile() implementation diff --git a/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js b/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js index 3c3395b..f8c8b4a 100644 --- a/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js +++ b/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js @@ -91,7 +91,7 @@ WebInspector.HeapSnapshotGridNode.prototype = { node.dispose(); }, - hasHoverMessage: false, + _reachableFromWindow: false, queryObjectContent: function(callback) { @@ -356,12 +356,12 @@ WebInspector.HeapSnapshotGenericObjectNode = function(tree, node) this.snapshotNodeId = node.id; this.snapshotNodeIndex = node.nodeIndex; if (this._type === "string") - this.hasHoverMessage = true; + this._reachableFromWindow = true; else if (this._type === "object" && this.isWindow(this._name)) { this._name = this.shortenWindowURL(this._name, false); - this.hasHoverMessage = true; + this._reachableFromWindow = true; } else if (node.flags & tree.snapshot.nodeFlags.canBeQueried) - this.hasHoverMessage = true; + this._reachableFromWindow = true; if (node.flags & tree.snapshot.nodeFlags.detachedDOMTreeNode) this.detachedDOMTreeNode = true; }; @@ -435,7 +435,7 @@ WebInspector.HeapSnapshotGenericObjectNode.prototype = { value += "[]"; break; }; - if (this.hasHoverMessage) + if (this._reachableFromWindow) valueStyle += " highlight"; if (value === "Object") value = ""; diff --git a/Source/WebCore/inspector/front-end/HeapSnapshotView.js b/Source/WebCore/inspector/front-end/HeapSnapshotView.js index 9a8dd08..5a2fe54 100644 --- a/Source/WebCore/inspector/front-end/HeapSnapshotView.js +++ b/Source/WebCore/inspector/front-end/HeapSnapshotView.js @@ -562,10 +562,7 @@ WebInspector.HeapSnapshotView.prototype = { var row = target.enclosingNodeOrSelfWithNodeName("tr"); if (!row) return; - var gridNode = row._dataGridNode; - if (!gridNode.hasHoverMessage) - return; - span.node = gridNode; + span.node = row._dataGridNode; return span; }, -- 2.7.4