mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-16 21:20:18 +00:00
LibWeb: Parse the position-anchor
property
This commit is contained in:
parent
7374a07fbc
commit
27cdf3a2c8
Notes:
github-actions[bot]
2025-10-07 10:31:57 +00:00
Author: https://github.com/tcl3
Commit: 27cdf3a2c8
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6363
Reviewed-by: https://github.com/AtkinsSJ ✅
9 changed files with 221 additions and 86 deletions
|
@ -740,6 +740,10 @@ Parser::ParseErrorOr<NonnullRefPtr<StyleValue const>> Parser::parse_css_value(Pr
|
|||
if (auto parsed_value = parse_place_self_value(tokens); parsed_value && !tokens.has_next_token())
|
||||
return parsed_value.release_nonnull();
|
||||
return ParseError::SyntaxError;
|
||||
case PropertyID::PositionAnchor:
|
||||
if (auto parsed_value = parse_position_anchor_value(tokens); parsed_value && !tokens.has_next_token())
|
||||
return parsed_value.release_nonnull();
|
||||
return ParseError::SyntaxError;
|
||||
case PropertyID::PositionArea:
|
||||
if (auto parsed_value = parse_position_area_value(tokens); parsed_value && !tokens.has_next_token())
|
||||
return parsed_value.release_nonnull();
|
||||
|
@ -4152,6 +4156,20 @@ RefPtr<StyleValue const> Parser::parse_place_self_value(TokenStream<ComponentVal
|
|||
{ *maybe_align_self_value, *maybe_justify_self_value });
|
||||
}
|
||||
|
||||
// https://drafts.csswg.org/css-anchor-position/#position-anchor
|
||||
RefPtr<StyleValue const> Parser::parse_position_anchor_value(TokenStream<ComponentValue>& tokens)
|
||||
{
|
||||
// auto | <anchor-name>
|
||||
if (auto auto_keyword = parse_all_as_single_keyword_value(tokens, Keyword::Auto))
|
||||
return auto_keyword;
|
||||
|
||||
// <anchor-name> = <dashed-ident>
|
||||
auto dashed_ident = parse_dashed_ident(tokens);
|
||||
if (!dashed_ident.has_value())
|
||||
return nullptr;
|
||||
return CustomIdentStyleValue::create(*dashed_ident);
|
||||
}
|
||||
|
||||
// https://drafts.csswg.org/css-anchor-position/#position-area
|
||||
RefPtr<StyleValue const> Parser::parse_position_area_value(TokenStream<ComponentValue>& tokens)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue