From fba2dacc7a91e2c696f984da54626155b6e5371f Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 24 Mar 2023 17:07:57 +0000 Subject: LibWeb: Split ListStyleStyleValue out of StyleValue.{h,cpp} --- Userland/Libraries/LibWeb/CMakeLists.txt | 1 + Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp | 1 + Userland/Libraries/LibWeb/CSS/StyleComputer.cpp | 1 + Userland/Libraries/LibWeb/CSS/StyleValue.cpp | 6 +-- Userland/Libraries/LibWeb/CSS/StyleValue.h | 37 --------------- .../LibWeb/CSS/StyleValues/ListStyleStyleValue.cpp | 19 ++++++++ .../LibWeb/CSS/StyleValues/ListStyleStyleValue.h | 53 ++++++++++++++++++++++ 7 files changed, 76 insertions(+), 42 deletions(-) create mode 100644 Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.cpp create mode 100644 Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.h (limited to 'Userland') diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index b290750cbc..7c054dba37 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -87,6 +87,7 @@ set(SOURCES CSS/StyleValues/ImageStyleValue.cpp CSS/StyleValues/LengthStyleValue.cpp CSS/StyleValues/LinearGradientStyleValue.cpp + CSS/StyleValues/ListStyleStyleValue.cpp CSS/StyleValues/RadialGradientStyleValue.cpp CSS/Supports.cpp CSS/SyntaxHighlighter/SyntaxHighlighter.cpp diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index c16695e917..f8cc2e04c2 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index ad047bbaf5..ef52ef8d10 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp index f1118fc656..f2a59c3be6 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -1135,11 +1136,6 @@ ErrorOr PositionValue::serialize(StringBuilder& builder) const return {}; } -ErrorOr ListStyleStyleValue::to_string() const -{ - return String::formatted("{} {} {}", TRY(m_properties.position->to_string()), TRY(m_properties.image->to_string()), TRY(m_properties.style_type->to_string())); -} - ErrorOr NumericStyleValue::to_string() const { return m_value.visit( diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index 4664a43036..f89379ef86 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -627,43 +627,6 @@ private: NonnullOwnPtr m_expression; }; -class ListStyleStyleValue final : public StyleValueWithDefaultOperators { -public: - static ValueComparingNonnullRefPtr create( - ValueComparingNonnullRefPtr position, - ValueComparingNonnullRefPtr image, - ValueComparingNonnullRefPtr style_type) - { - return adopt_ref(*new ListStyleStyleValue(move(position), move(image), move(style_type))); - } - virtual ~ListStyleStyleValue() override = default; - - ValueComparingNonnullRefPtr position() const { return m_properties.position; } - ValueComparingNonnullRefPtr image() const { return m_properties.image; } - ValueComparingNonnullRefPtr style_type() const { return m_properties.style_type; } - - virtual ErrorOr to_string() const override; - - bool properties_equal(ListStyleStyleValue const& other) const { return m_properties == other.m_properties; } - -private: - ListStyleStyleValue( - ValueComparingNonnullRefPtr position, - ValueComparingNonnullRefPtr image, - ValueComparingNonnullRefPtr style_type) - : StyleValueWithDefaultOperators(Type::ListStyle) - , m_properties { .position = move(position), .image = move(image), .style_type = move(style_type) } - { - } - - struct Properties { - ValueComparingNonnullRefPtr position; - ValueComparingNonnullRefPtr image; - ValueComparingNonnullRefPtr style_type; - bool operator==(Properties const&) const = default; - } m_properties; -}; - class NumericStyleValue : public StyleValueWithDefaultOperators { public: static ValueComparingNonnullRefPtr create_float(float value) diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.cpp new file mode 100644 index 0000000000..85a6f08e6a --- /dev/null +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.cpp @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2018-2020, Andreas Kling + * Copyright (c) 2021, Tobias Christiansen + * Copyright (c) 2021-2023, Sam Atkins + * Copyright (c) 2022-2023, MacDue + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include "ListStyleStyleValue.h" + +namespace Web::CSS { + +ErrorOr ListStyleStyleValue::to_string() const +{ + return String::formatted("{} {} {}", TRY(m_properties.position->to_string()), TRY(m_properties.image->to_string()), TRY(m_properties.style_type->to_string())); +} + +} diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.h new file mode 100644 index 0000000000..7fca0868c3 --- /dev/null +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.h @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2018-2020, Andreas Kling + * Copyright (c) 2021, Tobias Christiansen + * Copyright (c) 2021-2023, Sam Atkins + * Copyright (c) 2022-2023, MacDue + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include + +namespace Web::CSS { + +class ListStyleStyleValue final : public StyleValueWithDefaultOperators { +public: + static ValueComparingNonnullRefPtr create( + ValueComparingNonnullRefPtr position, + ValueComparingNonnullRefPtr image, + ValueComparingNonnullRefPtr style_type) + { + return adopt_ref(*new ListStyleStyleValue(move(position), move(image), move(style_type))); + } + virtual ~ListStyleStyleValue() override = default; + + ValueComparingNonnullRefPtr position() const { return m_properties.position; } + ValueComparingNonnullRefPtr image() const { return m_properties.image; } + ValueComparingNonnullRefPtr style_type() const { return m_properties.style_type; } + + virtual ErrorOr to_string() const override; + + bool properties_equal(ListStyleStyleValue const& other) const { return m_properties == other.m_properties; } + +private: + ListStyleStyleValue( + ValueComparingNonnullRefPtr position, + ValueComparingNonnullRefPtr image, + ValueComparingNonnullRefPtr style_type) + : StyleValueWithDefaultOperators(Type::ListStyle) + , m_properties { .position = move(position), .image = move(image), .style_type = move(style_type) } + { + } + + struct Properties { + ValueComparingNonnullRefPtr position; + ValueComparingNonnullRefPtr image; + ValueComparingNonnullRefPtr style_type; + bool operator==(Properties const&) const = default; + } m_properties; +}; + +} -- cgit v1.2.3