LibWeb/CSS: Implement "parse with a <syntax>"

Uses the SyntaxNode tree to parse a list of ComponentValues into some
kind of StyleValue.
This commit is contained in:
Sam Atkins 2025-07-11 12:17:36 +01:00 committed by Tim Ledbetter
commit 0a5e8c2865
Notes: github-actions[bot] 2025-07-16 13:49:04 +00:00
6 changed files with 140 additions and 7 deletions

View file

@ -33,9 +33,16 @@ void UniversalSyntaxNode::dump(StringBuilder& builder, int indent) const
builder.appendff("{: >{}}Universal\n", "", indent);
}
TypeSyntaxNode::TypeSyntaxNode(FlyString type_name)
NonnullOwnPtr<TypeSyntaxNode> TypeSyntaxNode::create(FlyString type_name)
{
auto value_type = value_type_from_string(type_name);
return adopt_own(*new TypeSyntaxNode(move(type_name), move(value_type)));
}
TypeSyntaxNode::TypeSyntaxNode(FlyString type_name, Optional<ValueType> value_type)
: SyntaxNode(NodeType::Type)
, m_type_name(move(type_name))
, m_value_type(move(value_type))
{
}