From 05884f1d9189162d4a4eb9c871b47c5bf3a1f174 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Mon, 11 Aug 2025 12:41:57 +0100 Subject: [PATCH] LibWeb/CSS: Implement is_a_valid_css_property() Also mark these functions as inline instead of static, to fix a compiler error about them being unused. --- Libraries/LibWeb/CSS/PropertyName.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Libraries/LibWeb/CSS/PropertyName.h b/Libraries/LibWeb/CSS/PropertyName.h index 3318fcf1628..02b31526de1 100644 --- a/Libraries/LibWeb/CSS/PropertyName.h +++ b/Libraries/LibWeb/CSS/PropertyName.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, Sam Atkins + * Copyright (c) 2024-2025, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ @@ -11,7 +11,7 @@ namespace Web::CSS { -static bool is_invalid_custom_property_name_string(StringView string) +inline bool is_invalid_custom_property_name_string(StringView string) { // https://drafts.csswg.org/css-variables-2/#typedef-custom-property-name // The production corresponds to this: it’s defined as any @@ -20,10 +20,18 @@ static bool is_invalid_custom_property_name_string(StringView string) } // https://drafts.css-houdini.org/css-typed-om-1/#custom-property-name-string -static bool is_a_custom_property_name_string(StringView string) +inline bool is_a_custom_property_name_string(StringView string) { // A string is a custom property name string if it starts with two dashes (U+002D HYPHEN-MINUS), like --foo. return string.starts_with("--"sv) && !is_invalid_custom_property_name_string(string); } +// https://drafts.css-houdini.org/css-typed-om-1/#valid-css-property +inline bool is_a_valid_css_property(StringView string) +{ + // A string is a valid CSS property if it is a custom property name string, or is a CSS property name recognized by + // the user agent. + return is_a_custom_property_name_string(string) || property_id_from_string(string).has_value(); +} + }