LibWeb: Parse string values using TokenStream

This commit is contained in:
Sam Atkins 2024-04-21 17:41:04 +01:00 committed by Andreas Kling
commit 710e5c24d3
Notes: sideshowbarker 2024-07-17 06:35:16 +09:00
2 changed files with 8 additions and 5 deletions

View file

@ -2524,10 +2524,13 @@ RefPtr<StyleValue> Parser::parse_ratio_value(TokenStream<ComponentValue>& tokens
return nullptr;
}
RefPtr<StyleValue> Parser::parse_string_value(ComponentValue const& component_value)
RefPtr<StyleValue> Parser::parse_string_value(TokenStream<ComponentValue>& tokens)
{
if (component_value.is(Token::Type::String))
return StringStyleValue::create(component_value.token().string().to_string());
auto peek = tokens.peek_token();
if (peek.is(Token::Type::String)) {
(void)tokens.next_token();
return StringStyleValue::create(peek.token().string().to_string());
}
return nullptr;
}
@ -4885,7 +4888,7 @@ RefPtr<StyleValue> Parser::parse_quotes_value(TokenStream<ComponentValue>& token
StyleValueVector string_values;
while (tokens.has_next_token()) {
auto maybe_string = parse_string_value(tokens.next_token());
auto maybe_string = parse_string_value(tokens);
if (!maybe_string)
return nullptr;

View file

@ -227,7 +227,7 @@ private:
RefPtr<StyleValue> parse_color_value(ComponentValue const&);
RefPtr<StyleValue> parse_rect_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue> parse_ratio_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue> parse_string_value(ComponentValue const&);
RefPtr<StyleValue> parse_string_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue> parse_image_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue> parse_paint_value(TokenStream<ComponentValue>&);
enum class PositionParsingMode {