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

Unified Diff: third_party/WebKit/Source/core/dom/SelectorQuery.h

Issue 2765993003: Merge SelectorDataList into SelectorQuery. (Closed)
Patch Set: std::move(oops) Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/dom/SelectorQuery.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/dom/SelectorQuery.h
diff --git a/third_party/WebKit/Source/core/dom/SelectorQuery.h b/third_party/WebKit/Source/core/dom/SelectorQuery.h
index ce28ed3ae19374865d3eeeec2dfd0f24a179fb72..f6591f91ebfd6e135dcd015cf2aba6cabda1090e 100644
--- a/third_party/WebKit/Source/core/dom/SelectorQuery.h
+++ b/third_party/WebKit/Source/core/dom/SelectorQuery.h
@@ -45,31 +45,29 @@ template <typename NodeType>
class StaticNodeTypeList;
using StaticElementList = StaticNodeTypeList<Element>;
-class SelectorDataList {
- DISALLOW_NEW();
+class CORE_EXPORT SelectorQuery {
+ WTF_MAKE_NONCOPYABLE(SelectorQuery);
+ USING_FAST_MALLOC(SelectorQuery);
public:
- void initialize(const CSSSelectorList&);
+ static std::unique_ptr<SelectorQuery> adopt(CSSSelectorList);
+
+ // https://dom.spec.whatwg.org/#dom-element-matches
bool matches(Element&) const;
+
+ // https://dom.spec.whatwg.org/#dom-element-closest
Element* closest(Element&) const;
+
+ // https://dom.spec.whatwg.org/#dom-parentnode-queryselectorall
StaticElementList* queryAll(ContainerNode& rootNode) const;
+
+ // https://dom.spec.whatwg.org/#dom-parentnode-queryselector
Element* queryFirst(ContainerNode& rootNode) const;
private:
- bool canUseFastQuery(const ContainerNode& rootNode) const;
- bool selectorMatches(const CSSSelector&,
- Element&,
- const ContainerNode&) const;
+ explicit SelectorQuery(CSSSelectorList);
- template <typename SelectorQueryTrait>
- void collectElementsByClassName(
- ContainerNode& rootNode,
- const AtomicString& className,
- typename SelectorQueryTrait::OutputType&) const;
- template <typename SelectorQueryTrait>
- void collectElementsByTagName(ContainerNode& rootNode,
- const QualifiedName& tagName,
- typename SelectorQueryTrait::OutputType&) const;
+ bool canUseFastQuery(const ContainerNode& rootNode) const;
template <typename SelectorQueryTrait>
void findTraverseRootsAndExecute(
@@ -108,30 +106,12 @@ class SelectorDataList {
void execute(ContainerNode& rootNode,
typename SelectorQueryTrait::OutputType&) const;
+ CSSSelectorList m_selectorList;
Vector<const CSSSelector*> m_selectors;
bool m_usesDeepCombinatorOrShadowPseudo : 1;
bool m_needsUpdatedDistribution : 1;
};
-class CORE_EXPORT SelectorQuery {
- WTF_MAKE_NONCOPYABLE(SelectorQuery);
- USING_FAST_MALLOC(SelectorQuery);
-
- public:
- static std::unique_ptr<SelectorQuery> adopt(CSSSelectorList);
-
- bool matches(Element&) const;
- Element* closest(Element&) const;
- StaticElementList* queryAll(ContainerNode& rootNode) const;
- Element* queryFirst(ContainerNode& rootNode) const;
-
- private:
- explicit SelectorQuery(CSSSelectorList);
-
- SelectorDataList m_selectors;
- CSSSelectorList m_selectorList;
-};
-
class SelectorQueryCache {
USING_FAST_MALLOC(SelectorQueryCache);
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/dom/SelectorQuery.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698