Title: [169067] trunk/Source/WebInspectorUI
- Revision
- 169067
- Author
- [email protected]
- Date
- 2014-05-19 14:19:49 -0700 (Mon, 19 May 2014)
Log Message
Web Inspector: Inspect Element sometimes does not select the right DOM Node
https://bugs.webkit.org/show_bug.cgi?id=127938
Patch by Jono Wells <[email protected]> on 2014-05-19
Reviewed by Joseph Pecoraro.
Inspecting an element when the inspector is in a closed state was selecting the node but then
overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
Now when an element is inspected a flag prevents the restore from taking place.
* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype.inspectElement):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.
(WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
Added.
* UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (169066 => 169067)
--- trunk/Source/WebInspectorUI/ChangeLog 2014-05-19 21:17:06 UTC (rev 169066)
+++ trunk/Source/WebInspectorUI/ChangeLog 2014-05-19 21:19:49 UTC (rev 169067)
@@ -1,3 +1,27 @@
+2014-05-19 Jono Wells <[email protected]>
+
+ Web Inspector: Inspect Element sometimes does not select the right DOM Node
+ https://bugs.webkit.org/show_bug.cgi?id=127938
+
+ Reviewed by Joseph Pecoraro.
+
+ Inspecting an element when the inspector is in a closed state was selecting the node but then
+ overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
+ Now when an element is inspected a flag prevents the restore from taking place.
+
+ * UserInterface/Controllers/DOMTreeManager.js:
+ (WebInspector.DOMTreeManager):
+ (WebInspector.DOMTreeManager.prototype.inspectElement):
+ (WebInspector.DOMTreeManager.prototype.inspectNodeObject):
+ Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.
+
+ (WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
+ Added.
+
+ * UserInterface/Views/FrameDOMTreeContentView.js:
+ (WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
+ Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.
+
2014-05-15 Jono Wells <[email protected]>
Web Inspector: Should remove JSDoc comment blocks.
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js (169066 => 169067)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js 2014-05-19 21:17:06 UTC (rev 169066)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js 2014-05-19 21:19:49 UTC (rev 169067)
@@ -36,6 +36,7 @@
this._attributeLoadNodeIds = {};
this._flows = new Map;
this._contentNodesToFlowsMap = new Map;
+ this._restoreSelectedNodeIsAllowed = true;
};
WebInspector.Object.addConstructorFunctions(WebInspector.DOMTreeManager);
@@ -263,8 +264,15 @@
this._unbind(node.children[i]);
},
+ get restoreSelectedNodeIsAllowed()
+ {
+ return this._restoreSelectedNodeIsAllowed;
+ },
+
inspectElement: function(nodeId)
{
+ this._restoreSelectedNodeIsAllowed = true;
+
var node = this._idToDOMNode[nodeId];
if (node)
this.dispatchEventToListeners(WebInspector.DOMTreeManager.Event.DOMNodeWasInspected, {node: node});
@@ -275,6 +283,8 @@
inspectNodeObject: function(remoteObject)
{
+ this._restoreSelectedNodeIsAllowed = false;
+
function nodeAvailable(nodeId)
{
remoteObject.release();
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js (169066 => 169067)
--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2014-05-19 21:17:06 UTC (rev 169066)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js 2014-05-19 21:19:49 UTC (rev 169067)
@@ -293,6 +293,9 @@
_restoreSelectedNodeAfterUpdate: function(documentURL, defaultNode)
{
+ if (!WebInspector.domTreeManager.restoreSelectedNodeIsAllowed)
+ return;
+
function selectNode(lastSelectedNode)
{
var nodeToFocus = lastSelectedNode;
@@ -313,6 +316,8 @@
function selectLastSelectedNode(nodeId)
{
+ if (!WebInspector.domTreeManager.restoreSelectedNodeIsAllowed)
+ return;
selectNode.call(this, WebInspector.domTreeManager.nodeForId(nodeId));
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes