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 1245584a4e..d20243213e 100644 --- a/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn +++ b/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn @@ -27,7 +27,6 @@ source_set("StyleValues") { "MathDepthStyleValue.cpp", "NumberStyleValue.cpp", "OverflowStyleValue.cpp", - "PlaceContentStyleValue.cpp", "PlaceItemsStyleValue.cpp", "PlaceSelfStyleValue.cpp", "PositionStyleValue.cpp", diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index 25d28fa0bb..ea0f29ac83 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -104,7 +104,6 @@ set(SOURCES CSS/StyleValues/MathDepthStyleValue.cpp CSS/StyleValues/NumberStyleValue.cpp CSS/StyleValues/OverflowStyleValue.cpp - CSS/StyleValues/PlaceContentStyleValue.cpp CSS/StyleValues/PlaceItemsStyleValue.cpp CSS/StyleValues/PlaceSelfStyleValue.cpp CSS/StyleValues/PositionStyleValue.cpp diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index ce34e7284c..d99d9a3b37 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -61,7 +61,6 @@ #include #include #include -#include #include #include #include @@ -4581,13 +4580,17 @@ RefPtr Parser::parse_place_content_value(Vector cons if (component_values.size() == 1) { if (!property_accepts_identifier(PropertyID::JustifyContent, maybe_align_content_value->to_identifier())) return nullptr; - return PlaceContentStyleValue::create(*maybe_align_content_value, *maybe_align_content_value); + return ShorthandStyleValue::create(PropertyID::PlaceContent, + { PropertyID::AlignContent, PropertyID::JustifyContent }, + { *maybe_align_content_value, *maybe_align_content_value }); } auto maybe_justify_content_value = parse_css_value_for_property(PropertyID::JustifyContent, tokens); if (!maybe_justify_content_value) return nullptr; - return PlaceContentStyleValue::create(maybe_align_content_value.release_nonnull(), maybe_justify_content_value.release_nonnull()); + return ShorthandStyleValue::create(PropertyID::PlaceContent, + { PropertyID::AlignContent, PropertyID::JustifyContent }, + { maybe_align_content_value.release_nonnull(), maybe_justify_content_value.release_nonnull() }); } RefPtr Parser::parse_place_items_value(Vector const& component_values) diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index 7d628c6b6d..9877e7052d 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -46,7 +46,6 @@ #include #include #include -#include #include #include #include @@ -495,13 +494,6 @@ static void set_property_expanding_shorthands(StyleProperties& style, CSS::Prope } if (property_id == CSS::PropertyID::PlaceContent) { - if (value.is_place_content()) { - auto const& place_content = value.as_place_content(); - set_longhand_property(CSS::PropertyID::AlignContent, place_content.align_content()); - set_longhand_property(CSS::PropertyID::JustifyContent, place_content.justify_content()); - return; - } - style.set_property(CSS::PropertyID::AlignContent, value); style.set_property(CSS::PropertyID::JustifyContent, value); return; diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp index 2eaa36ce8c..07a7d84b18 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp @@ -41,7 +41,6 @@ #include #include #include -#include #include #include #include diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index b2363eb069..eadb6c203e 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -113,7 +113,6 @@ using StyleValueVector = Vector>; __ENUMERATE_STYLE_VALUE_TYPE(Number, number) \ __ENUMERATE_STYLE_VALUE_TYPE(Overflow, overflow) \ __ENUMERATE_STYLE_VALUE_TYPE(Percentage, percentage) \ - __ENUMERATE_STYLE_VALUE_TYPE(PlaceContent, place_content) \ __ENUMERATE_STYLE_VALUE_TYPE(PlaceItems, place_items) \ __ENUMERATE_STYLE_VALUE_TYPE(PlaceSelf, place_self) \ __ENUMERATE_STYLE_VALUE_TYPE(Position, position) \ diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/PlaceContentStyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValues/PlaceContentStyleValue.cpp deleted file mode 100644 index 6e230f697e..0000000000 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/PlaceContentStyleValue.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2023, Hunter Salyer - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include "PlaceContentStyleValue.h" - -namespace Web::CSS { - -String PlaceContentStyleValue::to_string() const -{ - auto align_content = m_properties.align_content->to_string(); - auto justify_content = m_properties.justify_content->to_string(); - if (align_content == justify_content) - return MUST(String::formatted("{}", align_content)); - return MUST(String::formatted("{} {}", align_content, justify_content)); -} - -} diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/PlaceContentStyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValues/PlaceContentStyleValue.h deleted file mode 100644 index 5bfcf6899b..0000000000 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/PlaceContentStyleValue.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2023, Hunter Salyer - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#include - -namespace Web::CSS { - -class PlaceContentStyleValue final : public StyleValueWithDefaultOperators { -public: - static ValueComparingNonnullRefPtr create(ValueComparingNonnullRefPtr align_content, ValueComparingNonnullRefPtr justify_content) - { - return adopt_ref(*new (nothrow) PlaceContentStyleValue(move(align_content), move(justify_content))); - } - virtual ~PlaceContentStyleValue() override = default; - - ValueComparingNonnullRefPtr align_content() const { return m_properties.align_content; } - ValueComparingNonnullRefPtr justify_content() const { return m_properties.justify_content; } - - virtual String to_string() const override; - - bool properties_equal(PlaceContentStyleValue const& other) const { return m_properties == other.m_properties; } - -private: - PlaceContentStyleValue(ValueComparingNonnullRefPtr align_content, ValueComparingNonnullRefPtr justify_content) - : StyleValueWithDefaultOperators(Type::PlaceContent) - , m_properties { .align_content = move(align_content), .justify_content = move(justify_content) } - { - } - - struct Properties { - ValueComparingNonnullRefPtr align_content; - ValueComparingNonnullRefPtr justify_content; - bool operator==(Properties const&) const = default; - } m_properties; -}; - -} diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp index 8299b640ac..b7db280718 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp @@ -147,6 +147,13 @@ String ShorthandStyleValue::to_string() const } case PropertyID::ListStyle: return MUST(String::formatted("{} {} {}", longhand(PropertyID::ListStylePosition)->to_string(), longhand(PropertyID::ListStyleImage)->to_string(), longhand(PropertyID::ListStyleType)->to_string())); + case PropertyID::PlaceContent: { + auto align_content = longhand(PropertyID::AlignContent)->to_string(); + auto justify_content = longhand(PropertyID::JustifyContent)->to_string(); + if (align_content == justify_content) + return align_content; + return MUST(String::formatted("{} {}", align_content, justify_content)); + } default: StringBuilder builder; auto first = true; diff --git a/Userland/Libraries/LibWeb/Forward.h b/Userland/Libraries/LibWeb/Forward.h index 5816c1d057..1e1296d227 100644 --- a/Userland/Libraries/LibWeb/Forward.h +++ b/Userland/Libraries/LibWeb/Forward.h @@ -139,7 +139,6 @@ class OverflowStyleValue; class Percentage; class PercentageOrCalculated; class PercentageStyleValue; -class PlaceContentStyleValue; class PlaceItemsStyleValue; class PlaceSelfStyleValue; class PositionStyleValue;