mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 08:41:15 +00:00
LibWeb: Add CustomStyleValue
This extends StyleValue and can hold the identifier of the custom property.
This commit is contained in:
parent
8396099e0e
commit
f0c6160362
Notes:
sideshowbarker
2024-07-18 17:16:37 +09:00
Author: https://github.com/TobyAsE Commit: https://github.com/SerenityOS/serenity/commit/f0c6160362b Pull-request: https://github.com/SerenityOS/serenity/pull/7455 Reviewed-by: https://github.com/linusg
|
@ -195,6 +195,7 @@ public:
|
|||
Identifier,
|
||||
Image,
|
||||
Position,
|
||||
CustomProperty,
|
||||
};
|
||||
|
||||
Type type() const { return m_type; }
|
||||
|
@ -207,6 +208,7 @@ public:
|
|||
bool is_string() const { return type() == Type::String; }
|
||||
bool is_length() const { return type() == Type::Length; }
|
||||
bool is_position() const { return type() == Type::Position; }
|
||||
bool is_custom_property() const { return type() == Type::CustomProperty; }
|
||||
|
||||
virtual String to_string() const = 0;
|
||||
virtual Length to_length() const { return Length::make_auto(); }
|
||||
|
@ -233,6 +235,26 @@ private:
|
|||
Type m_type { Type::Invalid };
|
||||
};
|
||||
|
||||
// FIXME: Allow for fallback
|
||||
class CustomStyleValue : public StyleValue {
|
||||
public:
|
||||
static NonnullRefPtr<CustomStyleValue> create(const String& custom_property_name)
|
||||
{
|
||||
return adopt_ref(*new CustomStyleValue(custom_property_name));
|
||||
}
|
||||
String custom_property_name() const { return m_custom_property_name; }
|
||||
String to_string() const override { return m_custom_property_name; }
|
||||
|
||||
private:
|
||||
explicit CustomStyleValue(const String& custom_property_name)
|
||||
: StyleValue(Type::CustomProperty)
|
||||
, m_custom_property_name(custom_property_name)
|
||||
{
|
||||
}
|
||||
|
||||
String m_custom_property_name {};
|
||||
};
|
||||
|
||||
class StringStyleValue : public StyleValue {
|
||||
public:
|
||||
static NonnullRefPtr<StringStyleValue> create(const String& string)
|
||||
|
|
Loading…
Reference in a new issue