| Index: Source/core/dom/Node.cpp
|
| diff --git a/Source/core/dom/Node.cpp b/Source/core/dom/Node.cpp
|
| index 26efd32e7d0d4d9cecc192988c7d57e86b4cc50a..f24d0eca7f86a02a866a6ea89366338fc09ffe99 100644
|
| --- a/Source/core/dom/Node.cpp
|
| +++ b/Source/core/dom/Node.cpp
|
| @@ -34,7 +34,6 @@
|
| #include "core/dom/Attribute.h"
|
| #include "core/dom/ChildListMutationScope.h"
|
| #include "core/dom/ChildNodeList.h"
|
| -#include "core/dom/ClassNodeList.h"
|
| #include "core/dom/DOMImplementation.h"
|
| #include "core/dom/Document.h"
|
| #include "core/dom/DocumentFragment.h"
|
| @@ -44,7 +43,6 @@
|
| #include "core/dom/ElementRareData.h"
|
| #include "core/dom/ExceptionCode.h"
|
| #include "core/dom/LiveNodeList.h"
|
| -#include "core/dom/NameNodeList.h"
|
| #include "core/dom/NodeRareData.h"
|
| #include "core/dom/NodeTraversal.h"
|
| #include "core/dom/ProcessingInstruction.h"
|
| @@ -79,7 +77,6 @@
|
| #include "core/html/HTMLDialogElement.h"
|
| #include "core/html/HTMLFrameOwnerElement.h"
|
| #include "core/html/HTMLStyleElement.h"
|
| -#include "core/html/RadioNodeList.h"
|
| #include "core/page/ContextMenuController.h"
|
| #include "core/page/EventHandler.h"
|
| #include "core/frame/Frame.h"
|
| @@ -360,7 +357,9 @@ void Node::setNodeValue(const String&)
|
|
|
| PassRefPtr<NodeList> Node::childNodes()
|
| {
|
| - return ensureRareData().ensureNodeLists().ensureChildNodeList(this);
|
| + if (isContainerNode())
|
| + return ensureRareData().ensureNodeLists().ensureChildNodeList(toContainerNode(this));
|
| + return ensureRareData().ensureNodeLists().ensureEmptyChildNodeList(this);
|
| }
|
|
|
| Node& Node::lastDescendant() const
|
| @@ -1258,48 +1257,6 @@ bool Node::inSameContainingBlockFlowElement(Node *n)
|
|
|
| // FIXME: End of obviously misplaced HTML editing functions. Try to move these out of Node.
|
|
|
| -PassRefPtr<NodeList> Node::getElementsByTagName(const AtomicString& localName)
|
| -{
|
| - if (localName.isNull())
|
| - return 0;
|
| -
|
| - if (document().isHTMLDocument())
|
| - return ensureRareData().ensureNodeLists().addCacheWithAtomicName<HTMLTagNodeList>(this, HTMLTagNodeListType, localName);
|
| - return ensureRareData().ensureNodeLists().addCacheWithAtomicName<TagNodeList>(this, TagNodeListType, localName);
|
| -}
|
| -
|
| -PassRefPtr<NodeList> Node::getElementsByTagNameNS(const AtomicString& namespaceURI, const AtomicString& localName)
|
| -{
|
| - if (localName.isNull())
|
| - return 0;
|
| -
|
| - if (namespaceURI == starAtom)
|
| - return getElementsByTagName(localName);
|
| -
|
| - return ensureRareData().ensureNodeLists().addCacheWithQualifiedName(this, namespaceURI.isEmpty() ? nullAtom : namespaceURI, localName);
|
| -}
|
| -
|
| -// Takes an AtomicString in argument because it is common for elements to share the same name attribute.
|
| -// Therefore, the NameNodeList factory function expects an AtomicString type.
|
| -PassRefPtr<NodeList> Node::getElementsByName(const AtomicString& elementName)
|
| -{
|
| - return ensureRareData().ensureNodeLists().addCacheWithAtomicName<NameNodeList>(this, NameNodeListType, elementName);
|
| -}
|
| -
|
| -// Takes an AtomicString in argument because it is common for elements to share the same set of class names.
|
| -// Therefore, the ClassNodeList factory function expects an AtomicString type.
|
| -PassRefPtr<NodeList> Node::getElementsByClassName(const AtomicString& classNames)
|
| -{
|
| - return ensureRareData().ensureNodeLists().addCacheWithAtomicName<ClassNodeList>(this, ClassNodeListType, classNames);
|
| -}
|
| -
|
| -PassRefPtr<RadioNodeList> Node::radioNodeList(const AtomicString& name, bool onlyMatchImgElements)
|
| -{
|
| - ASSERT(hasTagName(formTag) || hasTagName(fieldsetTag));
|
| - CollectionType type = onlyMatchImgElements ? RadioImgNodeListType : RadioNodeListType;
|
| - return ensureRareData().ensureNodeLists().addCacheWithAtomicName<RadioNodeList>(this, type, name);
|
| -}
|
| -
|
| PassRefPtr<Element> Node::querySelector(const AtomicString& selectors, ExceptionState& exceptionState)
|
| {
|
| if (selectors.isEmpty()) {
|
|
|