| Index: sky/engine/core/dom/SelectorQuery.cpp
|
| diff --git a/sky/engine/core/dom/SelectorQuery.cpp b/sky/engine/core/dom/SelectorQuery.cpp
|
| index 4f1946ec1aba8c8145069175c6b9aa5de349893e..1995e874a3dc7ac57c9800a9cb41e001ffff0971 100644
|
| --- a/sky/engine/core/dom/SelectorQuery.cpp
|
| +++ b/sky/engine/core/dom/SelectorQuery.cpp
|
| @@ -73,11 +73,10 @@ PassRefPtr<Element> SelectorQuery::queryFirst(ContainerNode& rootNode) const
|
|
|
| bool SelectorQuery::selectorMatches(ContainerNode& rootNode, Element& element) const
|
| {
|
| - SelectorChecker checker;
|
| + SelectorChecker checker(element);
|
| for (const CSSSelector* selector = m_selectors.first(); selector; selector = CSSSelectorList::next(*selector)) {
|
| - SelectorChecker::SelectorCheckingContext context(*selector, &element);
|
| - context.scope = !rootNode.isDocumentNode() ? &rootNode : 0;
|
| - if (checker.match(context))
|
| + const ContainerNode* scope = !rootNode.isDocumentNode() ? &rootNode : 0;
|
| + if (checker.match(*selector, scope))
|
| return true;
|
| }
|
| return false;
|
|
|