|
@@ -113,15 +113,12 @@ static bool matches_pseudo_class(CSS::Selector::SimpleSelector::PseudoClass cons
|
|
|
if (!element.has_attribute("checked"))
|
|
|
return false;
|
|
|
return true;
|
|
|
- case CSS::Selector::SimpleSelector::PseudoClass::Type::Not: {
|
|
|
- if (pseudo_class.not_selector.is_empty())
|
|
|
- return false;
|
|
|
- auto not_selector = Web::parse_selector(CSS::DeprecatedParsingContext(element), pseudo_class.not_selector);
|
|
|
- if (!not_selector)
|
|
|
- return false;
|
|
|
- auto not_matches = matches(not_selector.release_nonnull(), element);
|
|
|
- return !not_matches;
|
|
|
- }
|
|
|
+ case CSS::Selector::SimpleSelector::PseudoClass::Type::Not:
|
|
|
+ for (auto& selector : pseudo_class.not_selector) {
|
|
|
+ if (matches(selector, element))
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
case CSS::Selector::SimpleSelector::PseudoClass::Type::NthChild:
|
|
|
case CSS::Selector::SimpleSelector::PseudoClass::Type::NthLastChild:
|
|
|
auto const step_size = pseudo_class.nth_child_pattern.step_size;
|