mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-10 13:00:29 +03:00
LibWeb: Use single shared instance of Inherit/InitialStyleValue
These are always the same, so we can avoid allocating them repeatedly and just use a single instance of each. :^)
This commit is contained in:
parent
d2342caf42
commit
6d39f4342d
Notes:
sideshowbarker
2024-07-18 05:18:39 +09:00
Author: https://github.com/AtkinsSJ Commit: https://github.com/SerenityOS/serenity/commit/6d39f4342d4 Pull-request: https://github.com/SerenityOS/serenity/pull/9547 Reviewed-by: https://github.com/alimpfard ✅
@ -1404,9 +1404,9 @@ RefPtr<StyleValue> Parser::parse_builtin_value(ParsingContext const&, StyleCompo
|
||||
if (component_value.is(Token::Type::Ident)) {
|
||||
auto ident = component_value.token().ident();
|
||||
if (ident.equals_ignoring_case("inherit"))
|
||||
return InheritStyleValue::create();
|
||||
return InheritStyleValue::the();
|
||||
if (ident.equals_ignoring_case("initial"))
|
||||
return InitialStyleValue::create();
|
||||
return InitialStyleValue::the();
|
||||
// FIXME: Implement `unset` keyword
|
||||
}
|
||||
|
||||
@ -2738,7 +2738,7 @@ RefPtr<StyleValue> Parser::parse_text_decoration_value(ParsingContext const& con
|
||||
decoration_style = IdentifierStyleValue::create(ValueID::Solid);
|
||||
// FIXME: Should default to 'currentcolor' special value: https://www.w3.org/TR/css-color-3/#currentcolor
|
||||
if (!decoration_color)
|
||||
decoration_color = InitialStyleValue::create();
|
||||
decoration_color = InitialStyleValue::the();
|
||||
|
||||
return TextDecorationStyleValue::create(decoration_line.release_nonnull(), decoration_style.release_nonnull(), decoration_color.release_nonnull());
|
||||
}
|
||||
|
@ -534,7 +534,11 @@ private:
|
||||
|
||||
class InitialStyleValue final : public StyleValue {
|
||||
public:
|
||||
static NonnullRefPtr<InitialStyleValue> create() { return adopt_ref(*new InitialStyleValue); }
|
||||
static NonnullRefPtr<InitialStyleValue> the()
|
||||
{
|
||||
static NonnullRefPtr<InitialStyleValue> instance = adopt_ref(*new InitialStyleValue);
|
||||
return instance;
|
||||
}
|
||||
virtual ~InitialStyleValue() override { }
|
||||
|
||||
String to_string() const override { return "initial"; }
|
||||
@ -548,7 +552,11 @@ private:
|
||||
|
||||
class InheritStyleValue final : public StyleValue {
|
||||
public:
|
||||
static NonnullRefPtr<InheritStyleValue> create() { return adopt_ref(*new InheritStyleValue); }
|
||||
static NonnullRefPtr<InheritStyleValue> the()
|
||||
{
|
||||
static NonnullRefPtr<InheritStyleValue> instance = adopt_ref(*new InheritStyleValue);
|
||||
return instance;
|
||||
}
|
||||
virtual ~InheritStyleValue() override { }
|
||||
|
||||
String to_string() const override { return "inherit"; }
|
||||
|
Loading…
Reference in New Issue
Block a user