LibWeb/CSS: Implement guaranteed-invalid value

This is a special value produced when var/attr substitution fails, and
is also the initial value for custom properties.
This commit is contained in:
Sam Atkins 2025-03-12 15:29:12 +00:00
commit d1dadd43a1
Notes: github-actions[bot] 2025-05-14 10:48:18 +00:00
4 changed files with 46 additions and 0 deletions

View file

@ -113,6 +113,7 @@ public:
GridTemplateArea,
GridTrackPlacement,
GridTrackSizeList,
GuaranteedInvalid,
Image,
Integer,
Keyword,
@ -258,6 +259,10 @@ public:
GridTrackSizeListStyleValue const& as_grid_track_size_list() const;
GridTrackSizeListStyleValue& as_grid_track_size_list() { return const_cast<GridTrackSizeListStyleValue&>(const_cast<CSSStyleValue const&>(*this).as_grid_track_size_list()); }
bool is_guaranteed_invalid() const { return type() == Type::GuaranteedInvalid; }
GuaranteedInvalidStyleValue const& as_guaranteed_invalid() const;
GuaranteedInvalidStyleValue& as_guaranteed_invalid() { return const_cast<GuaranteedInvalidStyleValue&>(const_cast<CSSStyleValue const&>(*this).as_guaranteed_invalid()); }
bool is_image() const { return type() == Type::Image; }
ImageStyleValue const& as_image() const;
ImageStyleValue& as_image() { return const_cast<ImageStyleValue&>(const_cast<CSSStyleValue const&>(*this).as_image()); }