Index: Source/core/dom/NamedNodeMap.cpp |
diff --git a/Source/core/dom/NamedNodeMap.cpp b/Source/core/dom/NamedNodeMap.cpp |
index 04c6fbcfea3d74b989ff55d120f9b64baf8de0c8..63feb0d72ddfde6382f2d9dccaadadbc87ab9331 100644 |
--- a/Source/core/dom/NamedNodeMap.cpp |
+++ b/Source/core/dom/NamedNodeMap.cpp |
@@ -46,17 +46,17 @@ void NamedNodeMap::deref() |
} |
#endif |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::getNamedItem(const AtomicString& name) const |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::getNamedItem(const AtomicString& name) const |
{ |
return m_element->getAttributeNode(name); |
} |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::getNamedItemNS(const AtomicString& namespaceURI, const AtomicString& localName) const |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::getNamedItemNS(const AtomicString& namespaceURI, const AtomicString& localName) const |
{ |
return m_element->getAttributeNodeNS(namespaceURI, localName); |
} |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::removeNamedItem(const AtomicString& name, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::removeNamedItem(const AtomicString& name, ExceptionState& exceptionState) |
{ |
size_t index = m_element->attributes().findIndex(name, m_element->shouldIgnoreAttributeCase()); |
if (index == kNotFound) { |
@@ -66,7 +66,7 @@ PassRefPtrWillBeRawPtr<Node> NamedNodeMap::removeNamedItem(const AtomicString& n |
return m_element->detachAttribute(index); |
} |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::removeNamedItemNS(const AtomicString& namespaceURI, const AtomicString& localName, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::removeNamedItemNS(const AtomicString& namespaceURI, const AtomicString& localName, ExceptionState& exceptionState) |
{ |
size_t index = m_element->attributes().findIndex(QualifiedName(nullAtom, localName, namespaceURI)); |
if (index == kNotFound) { |
@@ -76,28 +76,19 @@ PassRefPtrWillBeRawPtr<Node> NamedNodeMap::removeNamedItemNS(const AtomicString& |
return m_element->detachAttribute(index); |
} |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::setNamedItem(Node* node, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::setNamedItem(Attr* attr, ExceptionState& exceptionState) |
{ |
- if (!node) { |
- exceptionState.throwDOMException(NotFoundError, "The node provided was null."); |
- return nullptr; |
- } |
- |
- // Not mentioned in spec: throw a HIERARCHY_REQUEST_ERROR if the user passes in a non-attribute node |
- if (!node->isAttributeNode()) { |
- exceptionState.throwDOMException(HierarchyRequestError, "The node provided is not an attribute node."); |
- return nullptr; |
- } |
- |
- return m_element->setAttributeNode(toAttr(node), exceptionState); |
+ ASSERT(attr); |
+ return m_element->setAttributeNode(attr, exceptionState); |
} |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::setNamedItemNS(Node* node, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::setNamedItemNS(Attr* attr, ExceptionState& exceptionState) |
{ |
- return setNamedItem(node, exceptionState); |
+ ASSERT(attr); |
+ return m_element->setAttributeNodeNS(attr, exceptionState); |
} |
-PassRefPtrWillBeRawPtr<Node> NamedNodeMap::item(unsigned index) const |
+PassRefPtrWillBeRawPtr<Attr> NamedNodeMap::item(unsigned index) const |
{ |
AttributeCollection attributes = m_element->attributes(); |
if (index >= attributes.size()) |