| Index: Source/core/dom/ClassCollection.h
|
| diff --git a/Source/core/dom/ClassNodeList.h b/Source/core/dom/ClassCollection.h
|
| similarity index 72%
|
| rename from Source/core/dom/ClassNodeList.h
|
| rename to Source/core/dom/ClassCollection.h
|
| index a6672bc6d86dd162c993ae96de0266629c7ce80d..a906537e0390c11c608d219bfb46e4ab8e59fdde 100644
|
| --- a/Source/core/dom/ClassNodeList.h
|
| +++ b/Source/core/dom/ClassCollection.h
|
| @@ -27,52 +27,49 @@
|
| * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef ClassNodeList_h
|
| -#define ClassNodeList_h
|
| +#ifndef ClassCollection_h
|
| +#define ClassCollection_h
|
|
|
| #include "core/dom/Element.h"
|
| -#include "core/dom/LiveNodeList.h"
|
| -#include "core/dom/Node.h"
|
| #include "core/dom/SpaceSplitString.h"
|
| +#include "core/html/HTMLCollection.h"
|
|
|
| namespace WebCore {
|
|
|
| -class ClassNodeList FINAL : public LiveNodeList {
|
| +class ClassCollection FINAL : public HTMLCollection {
|
| public:
|
| // classNames argument is an AtomicString because it is common for Elements to share the same class names.
|
| // It is also used to construct a SpaceSplitString (m_classNames) and its constructor requires an AtomicString.
|
| - static PassRefPtr<ClassNodeList> create(PassRefPtr<ContainerNode> rootNode, CollectionType type, const AtomicString& classNames)
|
| + static PassRefPtr<ClassCollection> create(ContainerNode* rootNode, CollectionType type, const AtomicString& classNames)
|
| {
|
| - ASSERT_UNUSED(type, type == ClassNodeListType);
|
| - return adoptRef(new ClassNodeList(rootNode, classNames));
|
| + ASSERT_UNUSED(type, type == ClassCollectionType);
|
| + return adoptRef(new ClassCollection(rootNode, classNames));
|
| }
|
|
|
| - virtual ~ClassNodeList();
|
| + virtual ~ClassCollection();
|
|
|
| - bool nodeMatchesInlined(const Element&) const;
|
| + bool elementMatches(const Element&) const;
|
|
|
| private:
|
| - ClassNodeList(PassRefPtr<ContainerNode> rootNode, const AtomicString& classNames);
|
| -
|
| - virtual bool nodeMatches(const Element&) const OVERRIDE;
|
| + ClassCollection(ContainerNode* rootNode, const AtomicString& classNames);
|
|
|
| SpaceSplitString m_classNames;
|
| AtomicString m_originalClassNames;
|
| };
|
|
|
| -inline bool ClassNodeList::nodeMatchesInlined(const Element& testNode) const
|
| +inline bool ClassCollection::elementMatches(const Element& testElement) const
|
| {
|
| - if (!testNode.hasClass())
|
| + if (!testElement.hasClass())
|
| return false;
|
| if (!m_classNames.size())
|
| return false;
|
| // FIXME: DOM4 allows getElementsByClassName to return non StyledElement.
|
| // https://bugs.webkit.org/show_bug.cgi?id=94718
|
| - if (!testNode.isStyledElement())
|
| + if (!testElement.isStyledElement())
|
| return false;
|
| - return testNode.classNames().containsAll(m_classNames);
|
| + return testElement.classNames().containsAll(m_classNames);
|
| }
|
|
|
| } // namespace WebCore
|
|
|
| -#endif // ClassNodeList_h
|
| +#endif // ClassCollection_h
|
|
|