| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights
reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights
reserved. |
| 7 * (C) 2007 Eric Seidel (eric@webkit.org) | 7 * (C) 2007 Eric Seidel (eric@webkit.org) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 { | 40 { |
| 41 m_element->ref(); | 41 m_element->ref(); |
| 42 } | 42 } |
| 43 | 43 |
| 44 void NamedNodeMap::deref() | 44 void NamedNodeMap::deref() |
| 45 { | 45 { |
| 46 m_element->deref(); | 46 m_element->deref(); |
| 47 } | 47 } |
| 48 #endif | 48 #endif |
| 49 | 49 |
| 50 PassRefPtr<Node> NamedNodeMap::getNamedItem(const AtomicString& name) const | 50 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::getNamedItem(const AtomicString& name
) const |
| 51 { | 51 { |
| 52 return m_element->getAttributeNode(name); | 52 return m_element->getAttributeNode(name); |
| 53 } | 53 } |
| 54 | 54 |
| 55 PassRefPtr<Node> NamedNodeMap::getNamedItemNS(const AtomicString& namespaceURI,
const AtomicString& localName) const | 55 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::getNamedItemNS(const AtomicString& na
mespaceURI, const AtomicString& localName) const |
| 56 { | 56 { |
| 57 return m_element->getAttributeNodeNS(namespaceURI, localName); | 57 return m_element->getAttributeNodeNS(namespaceURI, localName); |
| 58 } | 58 } |
| 59 | 59 |
| 60 PassRefPtr<Node> NamedNodeMap::removeNamedItem(const AtomicString& name, Excepti
onState& exceptionState) | 60 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::removeNamedItem(const AtomicString& n
ame, ExceptionState& exceptionState) |
| 61 { | 61 { |
| 62 size_t index = m_element->hasAttributes() ? m_element->getAttributeItemIndex
(name, m_element->shouldIgnoreAttributeCase()) : kNotFound; | 62 size_t index = m_element->hasAttributes() ? m_element->getAttributeItemIndex
(name, m_element->shouldIgnoreAttributeCase()) : kNotFound; |
| 63 if (index == kNotFound) { | 63 if (index == kNotFound) { |
| 64 exceptionState.throwDOMException(NotFoundError, "No item with name '" +
name + "' was found."); | 64 exceptionState.throwDOMException(NotFoundError, "No item with name '" +
name + "' was found."); |
| 65 return nullptr; | 65 return nullptr; |
| 66 } | 66 } |
| 67 return m_element->detachAttribute(index); | 67 return m_element->detachAttribute(index); |
| 68 } | 68 } |
| 69 | 69 |
| 70 PassRefPtr<Node> NamedNodeMap::removeNamedItemNS(const AtomicString& namespaceUR
I, const AtomicString& localName, ExceptionState& exceptionState) | 70 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::removeNamedItemNS(const AtomicString&
namespaceURI, const AtomicString& localName, ExceptionState& exceptionState) |
| 71 { | 71 { |
| 72 size_t index = m_element->hasAttributes() ? m_element->getAttributeItemIndex
(QualifiedName(nullAtom, localName, namespaceURI)) : kNotFound; | 72 size_t index = m_element->hasAttributes() ? m_element->getAttributeItemIndex
(QualifiedName(nullAtom, localName, namespaceURI)) : kNotFound; |
| 73 if (index == kNotFound) { | 73 if (index == kNotFound) { |
| 74 exceptionState.throwDOMException(NotFoundError, "No item with name '" +
namespaceURI + "::" + localName + "' was found."); | 74 exceptionState.throwDOMException(NotFoundError, "No item with name '" +
namespaceURI + "::" + localName + "' was found."); |
| 75 return nullptr; | 75 return nullptr; |
| 76 } | 76 } |
| 77 return m_element->detachAttribute(index); | 77 return m_element->detachAttribute(index); |
| 78 } | 78 } |
| 79 | 79 |
| 80 PassRefPtr<Node> NamedNodeMap::setNamedItem(Node* node, ExceptionState& exceptio
nState) | 80 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::setNamedItem(Node* node, ExceptionSta
te& exceptionState) |
| 81 { | 81 { |
| 82 if (!node) { | 82 if (!node) { |
| 83 exceptionState.throwDOMException(NotFoundError, "The node provided was n
ull."); | 83 exceptionState.throwDOMException(NotFoundError, "The node provided was n
ull."); |
| 84 return nullptr; | 84 return nullptr; |
| 85 } | 85 } |
| 86 | 86 |
| 87 // Not mentioned in spec: throw a HIERARCHY_REQUEST_ERROR if the user passes
in a non-attribute node | 87 // Not mentioned in spec: throw a HIERARCHY_REQUEST_ERROR if the user passes
in a non-attribute node |
| 88 if (!node->isAttributeNode()) { | 88 if (!node->isAttributeNode()) { |
| 89 exceptionState.throwDOMException(HierarchyRequestError, "The node provid
ed is not an attribute node."); | 89 exceptionState.throwDOMException(HierarchyRequestError, "The node provid
ed is not an attribute node."); |
| 90 return nullptr; | 90 return nullptr; |
| 91 } | 91 } |
| 92 | 92 |
| 93 return m_element->setAttributeNode(toAttr(node), exceptionState); | 93 return m_element->setAttributeNode(toAttr(node), exceptionState); |
| 94 } | 94 } |
| 95 | 95 |
| 96 PassRefPtr<Node> NamedNodeMap::setNamedItemNS(Node* node, ExceptionState& except
ionState) | 96 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::setNamedItemNS(Node* node, ExceptionS
tate& exceptionState) |
| 97 { | 97 { |
| 98 return setNamedItem(node, exceptionState); | 98 return setNamedItem(node, exceptionState); |
| 99 } | 99 } |
| 100 | 100 |
| 101 PassRefPtr<Node> NamedNodeMap::item(unsigned index) const | 101 PassRefPtrWillBeRawPtr<Node> NamedNodeMap::item(unsigned index) const |
| 102 { | 102 { |
| 103 if (index >= length()) | 103 if (index >= length()) |
| 104 return nullptr; | 104 return nullptr; |
| 105 return m_element->ensureAttr(m_element->attributeItem(index).name()); | 105 return m_element->ensureAttr(m_element->attributeItem(index).name()); |
| 106 } | 106 } |
| 107 | 107 |
| 108 size_t NamedNodeMap::length() const | 108 size_t NamedNodeMap::length() const |
| 109 { | 109 { |
| 110 if (!m_element->hasAttributes()) | 110 if (!m_element->hasAttributes()) |
| 111 return 0; | 111 return 0; |
| 112 return m_element->attributeCount(); | 112 return m_element->attributeCount(); |
| 113 } | 113 } |
| 114 | 114 |
| 115 void NamedNodeMap::trace(Visitor* visitor) | 115 void NamedNodeMap::trace(Visitor* visitor) |
| 116 { | 116 { |
| 117 visitor->trace(m_element); | 117 visitor->trace(m_element); |
| 118 } | 118 } |
| 119 | 119 |
| 120 } // namespace WebCore | 120 } // namespace WebCore |
| OLD | NEW |