mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:37:35 +00:00
LibWeb: Add basic support for :lang() CSS selector
This doesn't have parsing support for multiple languages in the same selector. Support for language subcodes is not great either. But it does do the basics.
This commit is contained in:
parent
5d672717aa
commit
bdd42c9b0e
4 changed files with 52 additions and 1 deletions
|
@ -603,6 +603,14 @@ Result<Selector::SimpleSelector, Parser::ParsingResult> Parser::parse_simple_sel
|
|||
return ParsingResult::SyntaxError;
|
||||
}
|
||||
simple_selector.pseudo_class.argument_selector_list = not_selector.release_value();
|
||||
} else if (pseudo_function.name().equals_ignoring_case("lang"sv)) {
|
||||
simple_selector.pseudo_class.type = Selector::SimpleSelector::PseudoClass::Type::Lang;
|
||||
if (pseudo_function.values().is_empty()) {
|
||||
dbgln_if(CSS_PARSER_DEBUG, "Empty :lang() selector");
|
||||
return ParsingResult::SyntaxError;
|
||||
}
|
||||
// FIXME: Support multiple, comma-separated, language ranges.
|
||||
simple_selector.pseudo_class.languages.append(pseudo_function.values().first().token().to_string());
|
||||
} else if (pseudo_function.name().equals_ignoring_case("nth-child"sv)) {
|
||||
simple_selector.pseudo_class.type = Selector::SimpleSelector::PseudoClass::Type::NthChild;
|
||||
if (!parse_nth_child_pattern(simple_selector, pseudo_function, true))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue