diff --git a/Libraries/LibHTML/CSS/StyleProperties.cpp b/Libraries/LibHTML/CSS/StyleProperties.cpp index 9cdf4af97c..8bf9108911 100644 --- a/Libraries/LibHTML/CSS/StyleProperties.cpp +++ b/Libraries/LibHTML/CSS/StyleProperties.cpp @@ -20,3 +20,11 @@ Length StyleProperties::length_or_fallback(const StringView& property_name, cons return fallback; return value.value()->to_length(); } + +String StyleProperties::string_or_fallback(const StringView& property_name, const StringView& fallback) const +{ + auto value = property(property_name); + if (!value.has_value()) + return fallback; + return value.value()->to_string(); +} diff --git a/Libraries/LibHTML/CSS/StyleProperties.h b/Libraries/LibHTML/CSS/StyleProperties.h index d449363de5..4deca177b1 100644 --- a/Libraries/LibHTML/CSS/StyleProperties.h +++ b/Libraries/LibHTML/CSS/StyleProperties.h @@ -17,6 +17,7 @@ public: Optional> property(const String& name) const; Length length_or_fallback(const StringView& property_name, const Length& fallback) const; + String string_or_fallback(const StringView& property_name, const StringView& fallback) const; private: HashMap> m_property_values;