diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 3367332243..3e85ced585 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -4657,6 +4657,18 @@ ErrorOr> Parser::parse_paint_value(TokenStream = none | | [none | ]? | context-fill | context-stroke` + if (auto color = TRY(parse_color_value(tokens.peek_token()))) { + (void)tokens.next_token(); + return color; + } + + if (auto url = TRY(parse_url_value(tokens.peek_token(), AllowedDataUrlType::Image))) { + // FIXME: Accept `[none | ]?` + (void)tokens.next_token(); + return url; + } + + // NOTE: also accepts identifiers, so we do this identifier check last. if (tokens.peek_token().is(Token::Type::Ident)) { auto maybe_ident = value_id_from_string(tokens.peek_token().token().ident()); if (maybe_ident.has_value()) { @@ -4671,17 +4683,6 @@ ErrorOr> Parser::parse_paint_value(TokenStream]?` - (void)tokens.next_token(); - return url; - } - return nullptr; }