mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 12:49:19 +00:00
LibWeb/CSS: Simplify parse_hue_none_value()
The motivation was to remove the parse_dimension() call, but this got a lot smaller.
This commit is contained in:
parent
563f8572d5
commit
f3a3344b9b
Notes:
github-actions[bot]
2025-01-08 14:30:44 +00:00
Author: https://github.com/AtkinsSJ
Commit: f3a3344b9b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3167
1 changed files with 7 additions and 19 deletions
|
@ -3069,25 +3069,13 @@ RefPtr<CSSStyleValue> Parser::parse_hue_none_value(TokenStream<ComponentValue>&
|
|||
// Parses [<hue> | none]
|
||||
// <hue> = <number> | <angle>
|
||||
|
||||
auto peek_token = tokens.next_token();
|
||||
if (peek_token.is(Token::Type::Number)) {
|
||||
tokens.discard_a_token(); // number
|
||||
return NumberStyleValue::create(peek_token.token().number().value());
|
||||
}
|
||||
if (auto calc = parse_calculated_value(peek_token); calc && (calc->resolves_to_number() || calc->resolves_to_angle())) {
|
||||
tokens.discard_a_token(); // calc number/angle
|
||||
return calc;
|
||||
}
|
||||
if (auto dimension = parse_dimension(peek_token); dimension.has_value() && dimension->is_angle()) {
|
||||
tokens.discard_a_token(); // angle
|
||||
return AngleStyleValue::create(dimension->angle());
|
||||
}
|
||||
if (peek_token.is(Token::Type::Ident)) {
|
||||
auto keyword = keyword_from_string(peek_token.token().ident());
|
||||
if (keyword.has_value() && keyword.value() == Keyword::None) {
|
||||
tokens.discard_a_token(); // keyword none
|
||||
return CSSKeywordValue::create(keyword.value());
|
||||
}
|
||||
if (auto angle = parse_angle_value(tokens))
|
||||
return angle;
|
||||
if (auto number = parse_number_value(tokens))
|
||||
return number;
|
||||
if (tokens.next_token().is_ident("none"sv)) {
|
||||
tokens.discard_a_token(); // keyword none
|
||||
return CSSKeywordValue::create(Keyword::None);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue