From 4b711932ccdbc95d2a65345c818369427cb7bd65 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 24 Mar 2023 17:28:43 +0000 Subject: [PATCH] LibWeb: Split PercentageStyleValue out of StyleValue.{h,cpp} --- .../LibWeb/GenerateCSSPropertyID.cpp | 1 + .../Libraries/LibWeb/CSS/Parser/Parser.cpp | 1 + .../CSS/ResolvedCSSStyleDeclaration.cpp | 1 + .../Libraries/LibWeb/CSS/StyleComputer.cpp | 1 + .../Libraries/LibWeb/CSS/StyleProperties.cpp | 1 + Userland/Libraries/LibWeb/CSS/StyleValue.cpp | 6 +-- Userland/Libraries/LibWeb/CSS/StyleValue.h | 25 ----------- .../CSS/StyleValues/PercentageStyleValue.h | 42 +++++++++++++++++++ .../LibWeb/HTML/Parser/HTMLParser.cpp | 1 + .../Libraries/LibWeb/Layout/TreeBuilder.cpp | 1 + .../Libraries/LibWeb/SVG/SVGSVGElement.cpp | 1 + 11 files changed, 51 insertions(+), 30 deletions(-) create mode 100644 Userland/Libraries/LibWeb/CSS/StyleValues/PercentageStyleValue.h diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp index 6606f255b7..d009e43c0b 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSPropertyID.cpp @@ -155,6 +155,7 @@ ErrorOr generate_implementation_file(JsonObject& properties, Core::File& f #include #include #include +#include #include namespace Web::CSS { diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 6f5e1e7fff..028646910e 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp index 9ecd03486a..7820ffbdae 100644 --- a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp @@ -26,6 +26,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 358c09231c..906320f753 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp index 2dccffa27e..175e705f22 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleProperties.cpp @@ -14,6 +14,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 f8eeda34f6..4b53111bec 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -1138,11 +1139,6 @@ ErrorOr PositionValue::serialize(StringBuilder& builder) const return {}; } -ErrorOr PercentageStyleValue::to_string() const -{ - return m_percentage.to_string(); -} - ErrorOr PositionStyleValue::to_string() const { auto to_string = [](PositionEdge edge) { diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index e0af8d8356..3a82ce3e00 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -627,31 +627,6 @@ private: NonnullOwnPtr m_expression; }; -class PercentageStyleValue final : public StyleValueWithDefaultOperators { -public: - static ValueComparingNonnullRefPtr create(Percentage percentage) - { - return adopt_ref(*new PercentageStyleValue(move(percentage))); - } - virtual ~PercentageStyleValue() override = default; - - Percentage const& percentage() const { return m_percentage; } - Percentage& percentage() { return m_percentage; } - - virtual ErrorOr to_string() const override; - - bool properties_equal(PercentageStyleValue const& other) const { return m_percentage == other.m_percentage; } - -private: - PercentageStyleValue(Percentage&& percentage) - : StyleValueWithDefaultOperators(Type::Percentage) - , m_percentage(percentage) - { - } - - Percentage m_percentage; -}; - class PositionStyleValue final : public StyleValueWithDefaultOperators { public: static ValueComparingNonnullRefPtr create(PositionEdge edge_x, LengthPercentage const& offset_x, PositionEdge edge_y, LengthPercentage const& offset_y) diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/PercentageStyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValues/PercentageStyleValue.h new file mode 100644 index 0000000000..e1af6a9ca0 --- /dev/null +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/PercentageStyleValue.h @@ -0,0 +1,42 @@ +/* + * 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 +#include + +namespace Web::CSS { + +class PercentageStyleValue final : public StyleValueWithDefaultOperators { +public: + static ValueComparingNonnullRefPtr create(Percentage percentage) + { + return adopt_ref(*new PercentageStyleValue(move(percentage))); + } + virtual ~PercentageStyleValue() override = default; + + Percentage const& percentage() const { return m_percentage; } + Percentage& percentage() { return m_percentage; } + + virtual ErrorOr to_string() const override { return m_percentage.to_string(); } + + bool properties_equal(PercentageStyleValue const& other) const { return m_percentage == other.m_percentage; } + +private: + PercentageStyleValue(Percentage&& percentage) + : StyleValueWithDefaultOperators(Type::Percentage) + , m_percentage(percentage) + { + } + + Percentage m_percentage; +}; + +} diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp index 83d0827135..c0877cc9af 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp index 5b0758a4f7..f66944355c 100644 --- a/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp +++ b/Userland/Libraries/LibWeb/Layout/TreeBuilder.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp index 302a98c70e..4b72ae58a1 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include #include