1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:37:35 +00:00

LibWeb: Implement the :where() selector

This is identical to :is() except for specificity, so we can use the
same code paths. :^)
This commit is contained in:
Sam Atkins 2022-03-17 16:13:13 +00:00 committed by Andreas Kling
parent 47eb4b2db7
commit 993653317c
5 changed files with 22 additions and 8 deletions

View file

@ -433,11 +433,15 @@ void dump_selector(StringBuilder& builder, CSS::Selector const& selector)
case CSS::Selector::SimpleSelector::PseudoClass::Type::Is:
pseudo_class_description = "Is";
break;
case CSS::Selector::SimpleSelector::PseudoClass::Type::Where:
pseudo_class_description = "Where";
break;
}
builder.appendff(" pseudo_class={}", pseudo_class_description);
if (pseudo_class.type == CSS::Selector::SimpleSelector::PseudoClass::Type::Not
|| pseudo_class.type == CSS::Selector::SimpleSelector::PseudoClass::Type::Is) {
|| pseudo_class.type == CSS::Selector::SimpleSelector::PseudoClass::Type::Is
|| pseudo_class.type == CSS::Selector::SimpleSelector::PseudoClass::Type::Where) {
builder.append("([");
for (auto& selector : pseudo_class.argument_selector_list)
dump_selector(builder, selector);