summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibWeb/CMakeLists.txt1
-rw-r--r--Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp1
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleComputer.cpp1
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleValue.cpp6
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleValue.h37
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.cpp19
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleValues/ListStyleStyleValue.h53
7 files changed, 76 insertions, 42 deletions
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 <LibWeb/CSS/StyleValues/InitialStyleValue.h>
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
#include <LibWeb/CSS/StyleValues/LinearGradientStyleValue.h>
+#include <LibWeb/CSS/StyleValues/ListStyleStyleValue.h>
#include <LibWeb/CSS/StyleValues/RadialGradientStyleValue.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/Dump.h>
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 <LibWeb/CSS/StyleValues/GridTrackPlacementStyleValue.h>
#include <LibWeb/CSS/StyleValues/IdentifierStyleValue.h>
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
+#include <LibWeb/CSS/StyleValues/ListStyleStyleValue.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/DOM/Element.h>
#include <LibWeb/FontCache.h>
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 <LibWeb/CSS/StyleValues/InitialStyleValue.h>
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
#include <LibWeb/CSS/StyleValues/LinearGradientStyleValue.h>
+#include <LibWeb/CSS/StyleValues/ListStyleStyleValue.h>
#include <LibWeb/CSS/StyleValues/RadialGradientStyleValue.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/HTML/BrowsingContext.h>
@@ -1135,11 +1136,6 @@ ErrorOr<void> PositionValue::serialize(StringBuilder& builder) const
return {};
}
-ErrorOr<String> 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<String> 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<CalcSum> m_expression;
};
-class ListStyleStyleValue final : public StyleValueWithDefaultOperators<ListStyleStyleValue> {
-public:
- static ValueComparingNonnullRefPtr<ListStyleStyleValue> create(
- ValueComparingNonnullRefPtr<StyleValue> position,
- ValueComparingNonnullRefPtr<StyleValue> image,
- ValueComparingNonnullRefPtr<StyleValue> style_type)
- {
- return adopt_ref(*new ListStyleStyleValue(move(position), move(image), move(style_type)));
- }
- virtual ~ListStyleStyleValue() override = default;
-
- ValueComparingNonnullRefPtr<StyleValue> position() const { return m_properties.position; }
- ValueComparingNonnullRefPtr<StyleValue> image() const { return m_properties.image; }
- ValueComparingNonnullRefPtr<StyleValue> style_type() const { return m_properties.style_type; }
-
- virtual ErrorOr<String> to_string() const override;
-
- bool properties_equal(ListStyleStyleValue const& other) const { return m_properties == other.m_properties; }
-
-private:
- ListStyleStyleValue(
- ValueComparingNonnullRefPtr<StyleValue> position,
- ValueComparingNonnullRefPtr<StyleValue> image,
- ValueComparingNonnullRefPtr<StyleValue> style_type)
- : StyleValueWithDefaultOperators(Type::ListStyle)
- , m_properties { .position = move(position), .image = move(image), .style_type = move(style_type) }
- {
- }
-
- struct Properties {
- ValueComparingNonnullRefPtr<StyleValue> position;
- ValueComparingNonnullRefPtr<StyleValue> image;
- ValueComparingNonnullRefPtr<StyleValue> style_type;
- bool operator==(Properties const&) const = default;
- } m_properties;
-};
-
class NumericStyleValue : public StyleValueWithDefaultOperators<NumericStyleValue> {
public:
static ValueComparingNonnullRefPtr<NumericStyleValue> 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 <kling@serenityos.org>
+ * Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
+ * Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
+ * Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include "ListStyleStyleValue.h"
+
+namespace Web::CSS {
+
+ErrorOr<String> 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 <kling@serenityos.org>
+ * Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
+ * Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
+ * Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <LibWeb/CSS/StyleValue.h>
+
+namespace Web::CSS {
+
+class ListStyleStyleValue final : public StyleValueWithDefaultOperators<ListStyleStyleValue> {
+public:
+ static ValueComparingNonnullRefPtr<ListStyleStyleValue> create(
+ ValueComparingNonnullRefPtr<StyleValue> position,
+ ValueComparingNonnullRefPtr<StyleValue> image,
+ ValueComparingNonnullRefPtr<StyleValue> style_type)
+ {
+ return adopt_ref(*new ListStyleStyleValue(move(position), move(image), move(style_type)));
+ }
+ virtual ~ListStyleStyleValue() override = default;
+
+ ValueComparingNonnullRefPtr<StyleValue> position() const { return m_properties.position; }
+ ValueComparingNonnullRefPtr<StyleValue> image() const { return m_properties.image; }
+ ValueComparingNonnullRefPtr<StyleValue> style_type() const { return m_properties.style_type; }
+
+ virtual ErrorOr<String> to_string() const override;
+
+ bool properties_equal(ListStyleStyleValue const& other) const { return m_properties == other.m_properties; }
+
+private:
+ ListStyleStyleValue(
+ ValueComparingNonnullRefPtr<StyleValue> position,
+ ValueComparingNonnullRefPtr<StyleValue> image,
+ ValueComparingNonnullRefPtr<StyleValue> style_type)
+ : StyleValueWithDefaultOperators(Type::ListStyle)
+ , m_properties { .position = move(position), .image = move(image), .style_type = move(style_type) }
+ {
+ }
+
+ struct Properties {
+ ValueComparingNonnullRefPtr<StyleValue> position;
+ ValueComparingNonnullRefPtr<StyleValue> image;
+ ValueComparingNonnullRefPtr<StyleValue> style_type;
+ bool operator==(Properties const&) const = default;
+ } m_properties;
+};
+
+}