Index: Source/WebCore/inspector/front-end/ElementsPanel.js |
=================================================================== |
--- Source/WebCore/inspector/front-end/ElementsPanel.js (revision 88781) |
+++ Source/WebCore/inspector/front-end/ElementsPanel.js (working copy) |
@@ -113,13 +113,12 @@ |
this._registerShortcuts(); |
- WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.NodeInserted, this._nodeUpdated.bind(this, true)); |
+ WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.NodeInserted, this._nodeInserted, this); |
WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.NodeRemoved, this._nodeRemoved, this); |
WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrModified, this._attributesUpdated, this); |
- WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.CharacterDataModified, this._nodeUpdated.bind(this, false)); |
+ WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.CharacterDataModified, this._characterDataModified, this); |
WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.DocumentUpdated, this._documentUpdated, this); |
WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.ChildNodeCountUpdated, this._childNodeCountUpdated, this); |
- WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.ShadowRootUpdated, this._nodeUpdated.bind(this, true)); |
this.recentlyModifiedNodes = []; |
} |
@@ -432,27 +431,33 @@ |
delete this._isEditingStyle; |
}, |
- _nodeUpdated: function(hierarchyUpdated, event) |
+ _attributesUpdated: function(event) |
{ |
- var updatedNodeDetails = { node: event.data }; |
- if (hierarchyUpdated) |
- updatedNodeDetails.parent = event.data.parentNode; |
- this.recentlyModifiedNodes.push(updatedNodeDetails); |
+ this.recentlyModifiedNodes.push({node: event.data, updated: true}); |
if (this.visible) |
this._updateModifiedNodesSoon(); |
+ |
+ if (!this._isEditingStyle && event.data === this.focusedDOMNode) |
+ this._styleSheetChanged(); |
}, |
- _attributesUpdated: function(event) |
+ _characterDataModified: function(event) |
{ |
- this._nodeUpdated(false, event); |
+ this.recentlyModifiedNodes.push({node: event.data, updated: true}); |
+ if (this.visible) |
+ this._updateModifiedNodesSoon(); |
+ }, |
- if (!this._isEditingStyle && event.data === this.focusedDOMNode) |
- this._styleSheetChanged(); |
+ _nodeInserted: function(event) |
+ { |
+ this.recentlyModifiedNodes.push({node: event.data, parent: event.data.parentNode, inserted: true}); |
+ if (this.visible) |
+ this._updateModifiedNodesSoon(); |
}, |
_nodeRemoved: function(event) |
{ |
- this.recentlyModifiedNodes.push({node: event.data.node, parent: event.data.parent}); |
+ this.recentlyModifiedNodes.push({node: event.data.node, parent: event.data.parent, removed: true}); |
if (this.visible) |
this._updateModifiedNodesSoon(); |
}, |
@@ -485,13 +490,16 @@ |
var parent = this.recentlyModifiedNodes[i].parent; |
var node = this.recentlyModifiedNodes[i].node; |
- if (!parent) { |
+ if (this.recentlyModifiedNodes[i].updated) { |
var nodeItem = this.treeOutline.findTreeElement(node); |
if (nodeItem) |
nodeItem.updateTitle(); |
continue; |
} |
+ if (!parent) |
+ continue; |
+ |
var parentNodeItem = this.treeOutline.findTreeElement(parent); |
if (parentNodeItem && !parentNodeItem.alreadyUpdatedChildren) { |
parentNodeItem.updateChildren(); |
@@ -661,10 +669,6 @@ |
crumbTitle = "<!DOCTYPE>"; |
break; |
- case Node.SHADOW_ROOT_NODE: |
- crumbTitle = "(shadow)"; |
- break; |
- |
default: |
crumbTitle = this.treeOutline.nodeNameToCorrectCase(current.nodeName()); |
} |