| Index: Source/core/dom/Node.cpp
|
| diff --git a/Source/core/dom/Node.cpp b/Source/core/dom/Node.cpp
|
| index 016dec1a6d77208db79afa343e2d0d13e346f9e1..836972108393d842f6cb09f77db06b772caa2326 100644
|
| --- a/Source/core/dom/Node.cpp
|
| +++ b/Source/core/dom/Node.cpp
|
| @@ -519,16 +519,6 @@ void Node::normalize()
|
| }
|
| }
|
|
|
| -const AtomicString& Node::localName() const
|
| -{
|
| - return nullAtom;
|
| -}
|
| -
|
| -const AtomicString& Node::namespaceURI() const
|
| -{
|
| - return nullAtom;
|
| -}
|
| -
|
| bool Node::isContentEditable(UserSelectAllTreatment treatment)
|
| {
|
| document().updateLayoutTreeIfNeeded();
|
| @@ -1100,17 +1090,25 @@ bool Node::isEqualNode(Node* other) const
|
| if (nodeName() != other->nodeName())
|
| return false;
|
|
|
| - if (localName() != other->localName())
|
| + if (nodeValue() != other->nodeValue())
|
| return false;
|
|
|
| - if (namespaceURI() != other->namespaceURI())
|
| - return false;
|
| + if (isAttributeNode()) {
|
| + if (toAttr(this)->localName() != toAttr(other)->localName())
|
| + return false;
|
|
|
| - if (nodeValue() != other->nodeValue())
|
| - return false;
|
| + if (toAttr(this)->namespaceURI() != toAttr(other)->namespaceURI())
|
| + return false;
|
| + } else if (isElementNode()) {
|
| + if (toElement(this)->localName() != toElement(other)->localName())
|
| + return false;
|
|
|
| - if (isElementNode() && !toElement(this)->hasEquivalentAttributes(toElement(other)))
|
| - return false;
|
| + if (toElement(this)->namespaceURI() != toElement(other)->namespaceURI())
|
| + return false;
|
| +
|
| + if (!toElement(this)->hasEquivalentAttributes(toElement(other)))
|
| + return false;
|
| + }
|
|
|
| Node* child = firstChild();
|
| Node* otherChild = other->firstChild();
|
|
|