private:
struct SelectorData {
- SelectorData(const CSSSelector* selector, bool isFastCheckable) : selector(selector), isFastCheckable(isFastCheckable) { }
- const CSSSelector* selector;
+ SelectorData(const CSSSelector& selector, bool isFastCheckable) : selector(selector), isFastCheckable(isFastCheckable) { }
+ const CSSSelector& selector;
bool isFastCheckable;
};
enum MatchTraverseRootState { DoesNotMatchTraverseRoots, MatchesTraverseRoots };
template <typename SelectorQueryTrait>
- void executeForTraverseRoot(const SelectorData&, Node* traverseRoot, MatchTraverseRootState, ContainerNode& rootNode, typename SelectorQueryTrait::OutputType&) const;
- template <typename SelectorQueryTrait, typename SimpleNodeListType>
- void executeForTraverseRoots(const SelectorData&, SimpleNodeListType& traverseRoots, MatchTraverseRootState, ContainerNode& rootNode, typename SelectorQueryTrait::OutputType&) const;
+ void executeForTraverseRoot(const SelectorData&, ContainerNode* traverseRoot, MatchTraverseRootState, ContainerNode& rootNode, typename SelectorQueryTrait::OutputType&) const;
+ template <typename SelectorQueryTrait, typename SimpleElementListType>
+ void executeForTraverseRoots(const SelectorData&, SimpleElementListType& traverseRoots, MatchTraverseRootState, ContainerNode& rootNode, typename SelectorQueryTrait::OutputType&) const;
template <typename SelectorQueryTrait>
void executeSlow(ContainerNode& rootNode, typename SelectorQueryTrait::OutputType&) const;
template <typename SelectorQueryTrait>
void execute(ContainerNode& rootNode, typename SelectorQueryTrait::OutputType&) const;
- const CSSSelector* selectorForIdLookup(const CSSSelector*) const;
+ const CSSSelector* selectorForIdLookup(const CSSSelector&) const;
Vector<SelectorData> m_selectors;
};