Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Side by Side Diff: Source/core/dom/ContainerNode.h

Issue 143453010: Have getElementsByClassName() / getElementsByTagName*() return an HTMLCollection (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Null HTMLCollection handling Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 Node* childNode(unsigned index) const; 97 Node* childNode(unsigned index) const;
98 98
99 PassRefPtr<Element> querySelector(const AtomicString& selectors, ExceptionSt ate&); 99 PassRefPtr<Element> querySelector(const AtomicString& selectors, ExceptionSt ate&);
100 PassRefPtr<NodeList> querySelectorAll(const AtomicString& selectors, Excepti onState&); 100 PassRefPtr<NodeList> querySelectorAll(const AtomicString& selectors, Excepti onState&);
101 101
102 void insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionState& = ASSERT_NO_EXCEPTION); 102 void insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionState& = ASSERT_NO_EXCEPTION);
103 void replaceChild(PassRefPtr<Node> newChild, Node* oldChild, ExceptionState& = ASSERT_NO_EXCEPTION); 103 void replaceChild(PassRefPtr<Node> newChild, Node* oldChild, ExceptionState& = ASSERT_NO_EXCEPTION);
104 void removeChild(Node* child, ExceptionState& = ASSERT_NO_EXCEPTION); 104 void removeChild(Node* child, ExceptionState& = ASSERT_NO_EXCEPTION);
105 void appendChild(PassRefPtr<Node> newChild, ExceptionState& = ASSERT_NO_EXCE PTION); 105 void appendChild(PassRefPtr<Node> newChild, ExceptionState& = ASSERT_NO_EXCE PTION);
106 106
107 PassRefPtr<NodeList> getElementsByTagName(const AtomicString&); 107 PassRefPtr<HTMLCollection> getElementsByTagName(const AtomicString&);
108 PassRefPtr<NodeList> getElementsByTagNameNS(const AtomicString& namespaceURI , const AtomicString& localName); 108 PassRefPtr<HTMLCollection> getElementsByTagNameNS(const AtomicString& namesp aceURI, const AtomicString& localName);
109 PassRefPtr<NodeList> getElementsByName(const AtomicString& elementName); 109 PassRefPtr<NodeList> getElementsByName(const AtomicString& elementName);
110 PassRefPtr<NodeList> getElementsByClassName(const AtomicString& classNames); 110 PassRefPtr<HTMLCollection> getElementsByClassName(const AtomicString& classN ames);
111 PassRefPtr<RadioNodeList> radioNodeList(const AtomicString&, bool onlyMatchI mgElements = false); 111 PassRefPtr<RadioNodeList> radioNodeList(const AtomicString&, bool onlyMatchI mgElements = false);
112 112
113 // These methods are only used during parsing. 113 // These methods are only used during parsing.
114 // They don't send DOM mutation events or handle reparenting. 114 // They don't send DOM mutation events or handle reparenting.
115 // However, arbitrary code may be run by beforeload handlers. 115 // However, arbitrary code may be run by beforeload handlers.
116 void parserAppendChild(PassRefPtr<Node>); 116 void parserAppendChild(PassRefPtr<Node>);
117 void parserRemoveChild(Node&); 117 void parserRemoveChild(Node&);
118 void parserInsertBefore(PassRefPtr<Node> newChild, Node& refChild); 118 void parserInsertBefore(PassRefPtr<Node> newChild, Node& refChild);
119 void parserTakeAllChildrenFrom(ContainerNode&); 119 void parserTakeAllChildrenFrom(ContainerNode&);
120 120
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 319
320 RefPtr<Node> m_currentNode; 320 RefPtr<Node> m_currentNode;
321 unsigned m_currentIndex; 321 unsigned m_currentIndex;
322 OwnPtr<Vector<RefPtr<Node> > > m_childNodes; // Lazily instantiated. 322 OwnPtr<Vector<RefPtr<Node> > > m_childNodes; // Lazily instantiated.
323 ChildNodesLazySnapshot* m_nextSnapshot; 323 ChildNodesLazySnapshot* m_nextSnapshot;
324 }; 324 };
325 325
326 } // namespace WebCore 326 } // namespace WebCore
327 327
328 #endif // ContainerNode_h 328 #endif // ContainerNode_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698