diff --git a/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn b/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn index 85ec6289a4..fd58c37872 100644 --- a/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn +++ b/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn @@ -11,7 +11,6 @@ source_set("StyleValues") { "BorderStyleValue.cpp", "CalculatedStyleValue.cpp", "ColorStyleValue.cpp", - "CompositeStyleValue.cpp", "ConicGradientStyleValue.cpp", "ContentStyleValue.cpp", "DisplayStyleValue.cpp", @@ -44,6 +43,7 @@ source_set("StyleValues") { "RadialGradientStyleValue.cpp", "RectStyleValue.cpp", "ShadowStyleValue.cpp", + "ShorthandStyleValue.cpp", "StyleValueList.cpp", "TextDecorationStyleValue.cpp", "TransformationStyleValue.cpp", diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index 8e09bc634f..84a7bf2c8d 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -88,7 +88,6 @@ set(SOURCES CSS/StyleValues/BorderStyleValue.cpp CSS/StyleValues/CalculatedStyleValue.cpp CSS/StyleValues/ColorStyleValue.cpp - CSS/StyleValues/CompositeStyleValue.cpp CSS/StyleValues/ConicGradientStyleValue.cpp CSS/StyleValues/ContentStyleValue.cpp CSS/StyleValues/DisplayStyleValue.cpp @@ -121,6 +120,7 @@ set(SOURCES CSS/StyleValues/RadialGradientStyleValue.cpp CSS/StyleValues/RectStyleValue.cpp CSS/StyleValues/ShadowStyleValue.cpp + CSS/StyleValues/ShorthandStyleValue.cpp CSS/StyleValues/StyleValueList.cpp CSS/StyleValues/TextDecorationStyleValue.cpp CSS/StyleValues/TransformationStyleValue.cpp diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 028e9f9264..2edcdd9bd0 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -80,6 +79,7 @@ #include #include #include +#include #include #include #include @@ -6003,7 +6003,7 @@ Parser::ParseErrorOr> Parser::parse_css_value(Property longhand_values.unchecked_append(StyleValueList::create(move(it.value), StyleValueList::Separator::Space)); } - return { CompositeStyleValue::create(move(longhand_properties), move(longhand_values)) }; + return { ShorthandStyleValue::create(move(longhand_properties), move(longhand_values)) }; } RefPtr Parser::parse_css_value_for_property(PropertyID property_id, TokenStream& tokens) diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index b8010f11e3..f7afc699d1 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -35,7 +35,6 @@ #include #include #include -#include #include #include #include @@ -61,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -442,10 +442,10 @@ static void set_property_expanding_shorthands(StyleProperties& style, CSS::Prope return; } - if (value.is_composite()) { - auto& composite_value = value.as_composite(); - auto& properties = composite_value.sub_properties(); - auto& values = composite_value.values(); + if (value.is_shorthand()) { + auto& shorthand_value = value.as_shorthand(); + auto& properties = shorthand_value.sub_properties(); + auto& values = shorthand_value.values(); for (size_t i = 0; i < properties.size(); ++i) set_property_expanding_shorthands(style, properties[i], values[i], document, declaration, properties_for_revert); } diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp index d39b3afc76..6d7e31f3b5 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -61,6 +60,7 @@ #include #include #include +#include #include #include #include diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index f5a0b8c282..9cad015525 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -92,7 +92,6 @@ using StyleValueVector = Vector>; __ENUMERATE_STYLE_VALUE_TYPE(BorderRadiusShorthand, border_radius_shorthand) \ __ENUMERATE_STYLE_VALUE_TYPE(Calculated, calculated) \ __ENUMERATE_STYLE_VALUE_TYPE(Color, color) \ - __ENUMERATE_STYLE_VALUE_TYPE(Composite, composite) \ __ENUMERATE_STYLE_VALUE_TYPE(ConicGradient, conic_gradient) \ __ENUMERATE_STYLE_VALUE_TYPE(Content, content) \ __ENUMERATE_STYLE_VALUE_TYPE(CustomIdent, custom_ident) \ @@ -133,6 +132,7 @@ using StyleValueVector = Vector>; __ENUMERATE_STYLE_VALUE_TYPE(Resolution, resolution) \ __ENUMERATE_STYLE_VALUE_TYPE(Revert, revert) \ __ENUMERATE_STYLE_VALUE_TYPE(Shadow, shadow) \ + __ENUMERATE_STYLE_VALUE_TYPE(Shorthand, shorthand) \ __ENUMERATE_STYLE_VALUE_TYPE(String, string) \ __ENUMERATE_STYLE_VALUE_TYPE(TextDecoration, text_decoration) \ __ENUMERATE_STYLE_VALUE_TYPE(Time, time) \ diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/CompositeStyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp similarity index 72% rename from Userland/Libraries/LibWeb/CSS/StyleValues/CompositeStyleValue.cpp rename to Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp index 1fceaf28c7..9d2a4706d2 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/CompositeStyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp @@ -4,24 +4,24 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include "CompositeStyleValue.h" +#include "ShorthandStyleValue.h" #include namespace Web::CSS { -CompositeStyleValue::CompositeStyleValue(Vector sub_properties, Vector> values) - : StyleValueWithDefaultOperators(Type::Composite) +ShorthandStyleValue::ShorthandStyleValue(Vector sub_properties, Vector> values) + : StyleValueWithDefaultOperators(Type::Shorthand) , m_properties { move(sub_properties), move(values) } { if (m_properties.sub_properties.size() != m_properties.values.size()) { - dbgln("CompositeStyleValue: sub_properties and values must be the same size! {} != {}", m_properties.sub_properties.size(), m_properties.values.size()); + dbgln("ShorthandStyleValue: sub_properties and values must be the same size! {} != {}", m_properties.sub_properties.size(), m_properties.values.size()); VERIFY_NOT_REACHED(); } } -CompositeStyleValue::~CompositeStyleValue() = default; +ShorthandStyleValue::~ShorthandStyleValue() = default; -String CompositeStyleValue::to_string() const +String ShorthandStyleValue::to_string() const { StringBuilder builder; auto first = true; diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/CompositeStyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.h similarity index 70% rename from Userland/Libraries/LibWeb/CSS/StyleValues/CompositeStyleValue.h rename to Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.h index c28be565a8..37360cd7e9 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/CompositeStyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.h @@ -10,23 +10,23 @@ namespace Web::CSS { -class CompositeStyleValue final : public StyleValueWithDefaultOperators { +class ShorthandStyleValue final : public StyleValueWithDefaultOperators { public: - static ValueComparingNonnullRefPtr create(Vector sub_properties, Vector> values) + static ValueComparingNonnullRefPtr create(Vector sub_properties, Vector> values) { - return adopt_ref(*new CompositeStyleValue(move(sub_properties), move(values))); + return adopt_ref(*new ShorthandStyleValue(move(sub_properties), move(values))); } - virtual ~CompositeStyleValue() override; + virtual ~ShorthandStyleValue() override; Vector const& sub_properties() const { return m_properties.sub_properties; } Vector> const& values() const { return m_properties.values; } virtual String to_string() const override; - bool properties_equal(CompositeStyleValue const& other) const { return m_properties == other.m_properties; } + bool properties_equal(ShorthandStyleValue const& other) const { return m_properties == other.m_properties; } private: - CompositeStyleValue(Vector sub_properties, Vector> values); + ShorthandStyleValue(Vector sub_properties, Vector> values); struct Properties { Vector sub_properties; diff --git a/Userland/Libraries/LibWeb/Forward.h b/Userland/Libraries/LibWeb/Forward.h index d1944bb107..ec692ec080 100644 --- a/Userland/Libraries/LibWeb/Forward.h +++ b/Userland/Libraries/LibWeb/Forward.h @@ -94,7 +94,6 @@ class CSSSupportsRule; class CalculatedStyleValue; class Clip; class ColorStyleValue; -class CompositeStyleValue; class ConicGradientStyleValue; class ContentStyleValue; class CustomIdentStyleValue; @@ -164,6 +163,7 @@ class RevertStyleValue; class Screen; class Selector; class ShadowStyleValue; +class ShorthandStyleValue; class Size; class StringStyleValue; class StyleComputer;