| Index: Source/core/dom/SelectorQuery.h
|
| diff --git a/Source/core/dom/SelectorQuery.h b/Source/core/dom/SelectorQuery.h
|
| index 79e6381faeea9d295ebf021105778e29235551c4..24ae4908a77fa4a2a225af6c1a7a5d06bf611d91 100644
|
| --- a/Source/core/dom/SelectorQuery.h
|
| +++ b/Source/core/dom/SelectorQuery.h
|
| @@ -27,6 +27,7 @@
|
| #define SelectorQuery_h
|
|
|
| #include "core/css/CSSSelectorList.h"
|
| +#include "core/dom/DocumentOrderedList.h"
|
| #include <wtf/HashMap.h>
|
| #include <wtf/text/AtomicStringHash.h>
|
| #include <wtf/Vector.h>
|
| @@ -40,6 +41,7 @@ class Document;
|
| class Element;
|
| class Node;
|
| class NodeList;
|
| +class SpaceSplitString;
|
|
|
| class SelectorDataList {
|
| public:
|
| @@ -55,10 +57,14 @@ private:
|
| bool isFastCheckable;
|
| };
|
|
|
| + bool canUseFastQuery(Node* rootNode) const;
|
| bool selectorMatches(const SelectorData&, Element*, const Node*) const;
|
| - std::pair<bool, Node*> findTraverseRoot(Node* traverseRoot) const;
|
| template <bool firstMatchOnly>
|
| - void execute(Node* rootNode, Vector<RefPtr<Node> >&) const;
|
| + void collectElementsByClassName(Node* rootNode, const SpaceSplitString& classNames, Vector<Node*>&) const;
|
| + bool findTraverseRoots(Node* rootNode, Vector<Node*>& traversalRoots) const;
|
| + void executeQueryAll(Node* rootNode, Vector<RefPtr<Node> >& matchedElements) const;
|
| + std::pair<bool, Node*> findTraverseRoot(Node* rootNode) const;
|
| + Element* executeQueryFirst(Node* rootNode) const;
|
|
|
| Vector<SelectorData> m_selectors;
|
| };
|
|
|