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
parent 804c1eeeed
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

@ -40,6 +40,7 @@
#include <LibWeb/CSS/StyleValues/GridTemplateAreaStyleValue.h>
#include <LibWeb/CSS/StyleValues/GridTrackPlacementStyleValue.h>
#include <LibWeb/CSS/StyleValues/GridTrackSizeListStyleValue.h>
#include <LibWeb/CSS/StyleValues/GuaranteedInvalidStyleValue.h>
#include <LibWeb/CSS/StyleValues/ImageStyleValue.h>
#include <LibWeb/CSS/StyleValues/IntegerStyleValue.h>
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
@ -240,6 +241,12 @@ GridTrackSizeListStyleValue const& CSSStyleValue::as_grid_track_size_list() cons
return static_cast<GridTrackSizeListStyleValue const&>(*this);
}
GuaranteedInvalidStyleValue const& CSSStyleValue::as_guaranteed_invalid() const
{
VERIFY(is_guaranteed_invalid());
return static_cast<GuaranteedInvalidStyleValue const&>(*this);
}
CSSKeywordValue const& CSSStyleValue::as_keyword() const
{
VERIFY(is_keyword());