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