Home | History | Annotate | Download | only in dom

Lines Matching refs:element

44     typedef Element* OutputType;
46 ALWAYS_INLINE static void appendElement(OutputType& output, Element& element)
49 output = &element;
56 ALWAYS_INLINE static void appendElement(OutputType& output, Node& element)
58 output.append(&element);
75 Element* next()
77 Element* current = m_currentElement;
87 Element* nextInternal(Element* element)
89 for (; element; element = ElementTraversal::next(*element, m_rootNode)) {
90 if (element->hasClass() && element->classNames().contains(m_className))
91 return element;
98 RawPtrWillBeMember<Element> m_currentElement;
118 inline bool SelectorDataList::selectorMatches(const CSSSelector& selector, Element& element, const ContainerNode& rootNode) const
120 SelectorChecker selectorChecker(element.document(), SelectorChecker::QueryingRules);
121 SelectorChecker::SelectorCheckingContext selectorCheckingContext(selector, &element, SelectorChecker::VisitedMatchDisabled);
129 bool SelectorDataList::matches(Element& targetElement) const
147 PassRefPtrWillBeRawPtr<Element> SelectorDataList::queryFirst(ContainerNode& rootNode) const
149 Element* matchedElement = 0;
157 for (Element* element = ElementTraversal::firstWithin(rootNode); element; element = ElementTraversal::next(*element, &rootNode)) {
158 if (element->hasClass() && element->classNames().contains(className)) {
159 SelectorQueryTrait::appendElement(output, *element);
169 for (Element* element = ElementTraversal::firstWithin(rootNode); element; element = ElementTraversal::next(*element, &rootNode)) {
170 if (SelectorChecker::tagMatches(*element, tagName)) {
171 SelectorQueryTrait::appendElement(output, *element);
188 for (Element* element = &toElement(rootNode); element; element = element->parentElement()) {
189 if (element->hasClass() && element->classNames().contains(className))
202 // match any element.
215 Element* element = rootNode.treeScope().getElementById(selector->value());
217 if (element && (isTreeScopeRoot(rootNode) || element->isDescendantOf(&rootNode)))
218 adjustedNode = element;
219 else if (!element || isRightmostSelector)
241 // Since there exists some ancestor element which has the class name, we need to see all children of rootNode.
276 for (Element* element = ElementTraversal::firstWithin(*traverseRoot); element; element = ElementTraversal::next(*element, traverseRoot)) {
277 if (selectorMatches(selector, *element, rootNode)) {
278 SelectorQueryTrait::appendElement(output, *element);
293 Element& element = *traverseRoots.next();
294 if (selectorMatches(selector, element, rootNode)) {
295 SelectorQueryTrait::appendElement(output, element);
304 Element& traverseRoot = *traverseRoots.next();
305 for (Element* element = ElementTraversal::firstWithin(traverseRoot); element; element = ElementTraversal::next(*element, &traverseRoot)) {
306 if (selectorMatches(selector, *element, rootNode)) {
307 SelectorQueryTrait::appendElement(output, *element);
316 bool SelectorDataList::selectorListMatches(ContainerNode& rootNode, Element& element, typename SelectorQueryTrait::OutputType& output) const
319 if (selectorMatches(*m_selectors[i], element, rootNode)) {
320 SelectorQueryTrait::appendElement(output, element);
330 for (Element* element = ElementTraversal::firstWithin(rootNode); element; element = ElementTraversal::next(*element, &rootNode)) {
331 if (selectorListMatches<SelectorQueryTrait>(rootNode, *element, output) && SelectorQueryTrait::shouldOnlyMatchFirstElement)
366 if (Element* next = ElementTraversal::next(*current, rootNode))
392 Element* element = toElement(node);
393 if (selectorListMatches<SelectorQueryTrait>(rootNode, *element, output) && SelectorQueryTrait::shouldOnlyMatchFirstElement)
431 const Vector<Element*>& elements = rootNode.treeScope().getAllElementsById(idToMatch);
434 Element& element = *elements[i];
435 if (!(isTreeScopeRoot(rootNode) || element.isDescendantOf(&rootNode)))
437 if (selectorMatches(selector, element, rootNode)) {
438 SelectorQueryTrait::appendElement(output, element);
445 Element* element = rootNode.treeScope().getElementById(idToMatch);
446 if (!element || !(isTreeScopeRoot(rootNode) || element->isDescendantOf(&rootNode)))
448 if (selectorMatches(selector, *element, rootNode))
449 SelectorQueryTrait::appendElement(output, *element);
481 bool SelectorQuery::matches(Element& element) const
483 return m_selectors.matches(element);
491 PassRefPtrWillBeRawPtr<Element> SelectorQuery::queryFirst(ContainerNode& rootNode) const