Title: [185150] trunk/Source/WebInspectorUI
Revision
185150
Author
commit-qu...@webkit.org
Date
2015-06-03 07:55:56 -0700 (Wed, 03 Jun 2015)

Log Message

Web Inspector: Debugger Popover for Node object should have go-to-arrow to show the node in DOM tree
https://bugs.webkit.org/show_bug.cgi?id=145594

Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-06-03
Reviewed by Timothy Hatcher.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.inspectElement):
Previously we could get an exception later on if we tried to
inspect an element that was not in the DOM. Bail if the node
is not in the DOM or not.

* UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .title > .go-to-arrow):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject.data.pushNodeToFrontend):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
For a node type, add a go-to-arrow in the popover if it is in the DOM or not.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (185149 => 185150)


--- trunk/Source/WebInspectorUI/ChangeLog	2015-06-03 07:35:03 UTC (rev 185149)
+++ trunk/Source/WebInspectorUI/ChangeLog	2015-06-03 14:55:56 UTC (rev 185150)
@@ -1,3 +1,23 @@
+2015-06-03  Joseph Pecoraro  <pecor...@apple.com>
+
+        Web Inspector: Debugger Popover for Node object should have go-to-arrow to show the node in DOM tree
+        https://bugs.webkit.org/show_bug.cgi?id=145594
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Controllers/DOMTreeManager.js:
+        (WebInspector.DOMTreeManager.prototype.inspectElement):
+        Previously we could get an exception later on if we tried to
+        inspect an element that was not in the DOM. Bail if the node
+        is not in the DOM or not.
+
+        * UserInterface/Views/SourceCodeTextEditor.css:
+        (.popover .debugger-popover-content > .title > .go-to-arrow):
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject.data.pushNodeToFrontend):
+        (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
+        For a node type, add a go-to-arrow in the popover if it is in the DOM or not.
+
 2015-06-02  Joseph Pecoraro  <pecor...@apple.com>
 
         Web Inspector: Remove uses of delete in Sidebar related code

Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js (185149 => 185150)


--- trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js	2015-06-03 07:35:03 UTC (rev 185149)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js	2015-06-03 14:55:56 UTC (rev 185150)
@@ -266,9 +266,11 @@
     inspectElement(nodeId)
     {
         var node = this._idToDOMNode[nodeId];
-        if (node)
-            this.dispatchEventToListeners(WebInspector.DOMTreeManager.Event.DOMNodeWasInspected, {node});
+        if (!node || !node.ownerDocument)
+            return;
 
+        this.dispatchEventToListeners(WebInspector.DOMTreeManager.Event.DOMNodeWasInspected, {node});
+
         this._inspectModeEnabled = false;
         this.dispatchEventToListeners(WebInspector.DOMTreeManager.Event.InspectModeStateChanged);
     }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.css (185149 => 185150)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.css	2015-06-03 07:35:03 UTC (rev 185149)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.css	2015-06-03 14:55:56 UTC (rev 185150)
@@ -150,6 +150,14 @@
     white-space: nowrap;
 }
 
+.popover .debugger-popover-content > .title > .go-to-arrow {
+    position: relative;
+    top: 2px;
+    left: 4px;
+    width: 12px;
+    height: 12px;
+}
+
 .popover .debugger-popover-content > .body {
     border-top: 1px solid rgb(194, 194, 147);
     overflow: auto;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js (185149 => 185150)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2015-06-03 07:35:03 UTC (rev 185149)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2015-06-03 14:55:56 UTC (rev 185150)
@@ -1502,6 +1502,22 @@
         titleElement.textContent = data.description;
         content.appendChild(titleElement);
 
+        if (data.subtype === "node") {
+            data.pushNodeToFrontend(function(nodeId) {
+                if (!nodeId)
+                    return;
+
+                var domNode = WebInspector.domTreeManager.nodeForId(nodeId);
+                if (!domNode.ownerDocument)
+                    return;
+
+                var goToButton = titleElement.appendChild(WebInspector.createGoToArrowButton());
+                goToButton.addEventListener("click", function() {
+                    WebInspector.domTreeManager.inspectElement(nodeId);
+                });
+            });
+        }
+
         // FIXME: If this is a variable, it would be nice to put the variable name in the PropertyPath.
         var objectTree = new WebInspector.ObjectTreeView(data);
         objectTree.showOnlyProperties();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to