Lines Matching refs:selector
37 // Salt to separate otherwise identical string hashes so a class-selector like .article won't match <article> elements.
113 static inline void collectDescendantSelectorIdentifierHashes(const CSSSelector* selector, unsigned*& hash)
115 switch (selector->m_match) {
117 if (!selector->value().isEmpty())
118 (*hash++) = selector->value().impl()->existingHash() * IdAttributeSalt;
121 if (!selector->value().isEmpty())
122 (*hash++) = selector->value().impl()->existingHash() * ClassAttributeSalt;
125 if (selector->tagQName().localName() != starAtom)
126 (*hash++) = selector->tagQName().localName().impl()->existingHash() * TagNameSalt;
133 void SelectorFilter::collectIdentifierHashes(const CSSSelector* selector, unsigned* identifierHashes, unsigned maximumIdentifierCount)
137 CSSSelector::Relation relation = selector->relation();
139 // Skip the topmost selector. It is handled quickly by the rule hashes.
141 for (selector = selector->tagHistory(); selector; selector = selector->tagHistory()) {
146 collectDescendantSelectorIdentifierHashes(selector, hash);
156 collectDescendantSelectorIdentifierHashes(selector, hash);
161 relation = selector->relation();