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 9481525de0..bbb1b829cb 100644 --- a/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn +++ b/Meta/gn/secondary/Userland/Libraries/LibWeb/CSS/StyleValues/BUILD.gn @@ -14,7 +14,6 @@ source_set("StyleValues") { "EasingStyleValue.cpp", "EdgeStyleValue.cpp", "FilterValueListStyleValue.cpp", - "GridAreaShorthandStyleValue.cpp", "GridAutoFlowStyleValue.cpp", "GridTemplateAreaStyleValue.cpp", "GridTrackPlacementShorthandStyleValue.cpp", diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index be2862581e..fa3669af8d 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -91,7 +91,6 @@ set(SOURCES CSS/StyleValues/EasingStyleValue.cpp CSS/StyleValues/EdgeStyleValue.cpp CSS/StyleValues/FilterValueListStyleValue.cpp - CSS/StyleValues/GridAreaShorthandStyleValue.cpp CSS/StyleValues/GridAutoFlowStyleValue.cpp CSS/StyleValues/GridTemplateAreaStyleValue.cpp CSS/StyleValues/GridTrackPlacementStyleValue.cpp diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 3ec4ec4fbe..5bddd5fda2 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -46,7 +46,6 @@ #include #include #include -#include #include #include #include @@ -5673,7 +5672,9 @@ RefPtr Parser::parse_grid_area_shorthand_value(Vector Parser::parse_grid_shorthand_value(Vector const& component_value) diff --git a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp index f83fe787c5..da806e9aa3 100644 --- a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -314,11 +313,9 @@ RefPtr ResolvedCSSStyleDeclaration::style_value_for_property(L VERIFY(maybe_grid_column_end.value().value->is_grid_track_placement()); grid_column_end = maybe_grid_column_end.value().value->as_grid_track_placement(); } - return GridAreaShorthandStyleValue::create( - grid_row_start.release_nonnull(), - grid_column_start.release_nonnull(), - grid_row_end.release_nonnull(), - grid_column_end.release_nonnull()); + return ShorthandStyleValue::create(property_id, + { PropertyID::GridRowStart, PropertyID::GridColumnStart, PropertyID::GridRowEnd, PropertyID::GridColumnEnd }, + { grid_row_start.release_nonnull(), grid_column_start.release_nonnull(), grid_row_end.release_nonnull(), grid_column_end.release_nonnull() }); } case PropertyID::GridColumn: { auto maybe_grid_column_end = property(PropertyID::GridColumnEnd); diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index a5d7cd04b1..ee6e89b8ea 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include @@ -746,14 +745,6 @@ static void set_property_expanding_shorthands(StyleProperties& style, CSS::Prope } if (property_id == CSS::PropertyID::GridArea) { - if (value.is_grid_area_shorthand()) { - auto const& shorthand = value.as_grid_area_shorthand(); - set_longhand_property(CSS::PropertyID::GridRowStart, shorthand.row_start()); - set_longhand_property(CSS::PropertyID::GridColumnStart, shorthand.column_start()); - set_longhand_property(CSS::PropertyID::GridRowEnd, shorthand.row_end()); - set_longhand_property(CSS::PropertyID::GridColumnEnd, shorthand.column_end()); - return; - } set_longhand_property(CSS::PropertyID::GridRowStart, value); set_longhand_property(CSS::PropertyID::GridColumnStart, value); set_longhand_property(CSS::PropertyID::GridRowEnd, value); diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp index 57715f3f52..c727ab7100 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp @@ -25,7 +25,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 888fd5361b..06014c053e 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -97,7 +97,6 @@ using StyleValueVector = Vector>; __ENUMERATE_STYLE_VALUE_TYPE(Edge, edge) \ __ENUMERATE_STYLE_VALUE_TYPE(FilterValueList, filter_value_list) \ __ENUMERATE_STYLE_VALUE_TYPE(Frequency, frequency) \ - __ENUMERATE_STYLE_VALUE_TYPE(GridAreaShorthand, grid_area_shorthand) \ __ENUMERATE_STYLE_VALUE_TYPE(GridAutoFlow, grid_auto_flow) \ __ENUMERATE_STYLE_VALUE_TYPE(GridTemplateArea, grid_template_area) \ __ENUMERATE_STYLE_VALUE_TYPE(GridTrackPlacement, grid_track_placement) \ diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.cpp deleted file mode 100644 index e53cd2730e..0000000000 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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 "GridAreaShorthandStyleValue.h" -#include - -namespace Web::CSS { - -ValueComparingNonnullRefPtr GridAreaShorthandStyleValue::create( - ValueComparingNonnullRefPtr row_start, - ValueComparingNonnullRefPtr column_start, - ValueComparingNonnullRefPtr row_end, - ValueComparingNonnullRefPtr column_end) -{ - return adopt_ref(*new (nothrow) GridAreaShorthandStyleValue(row_start, column_start, row_end, column_end)); -} - -ValueComparingNonnullRefPtr GridAreaShorthandStyleValue::create(GridTrackPlacement row_start, GridTrackPlacement column_start, GridTrackPlacement row_end, GridTrackPlacement column_end) -{ - return adopt_ref(*new (nothrow) GridAreaShorthandStyleValue( - GridTrackPlacementStyleValue::create(row_start), - GridTrackPlacementStyleValue::create(column_start), - GridTrackPlacementStyleValue::create(row_end), - GridTrackPlacementStyleValue::create(column_end))); -} - -String GridAreaShorthandStyleValue::to_string() const -{ - StringBuilder builder; - if (!m_properties.row_start->as_grid_track_placement().grid_track_placement().is_auto()) - builder.appendff("{}", m_properties.row_start->as_grid_track_placement().grid_track_placement().to_string()); - if (!m_properties.column_start->as_grid_track_placement().grid_track_placement().is_auto()) - builder.appendff(" / {}", m_properties.column_start->as_grid_track_placement().grid_track_placement().to_string()); - if (!m_properties.row_end->as_grid_track_placement().grid_track_placement().is_auto()) - builder.appendff(" / {}", m_properties.row_end->as_grid_track_placement().grid_track_placement().to_string()); - if (!m_properties.column_end->as_grid_track_placement().grid_track_placement().is_auto()) - builder.appendff(" / {}", m_properties.column_end->as_grid_track_placement().grid_track_placement().to_string()); - return MUST(builder.to_string()); -} - -} diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.h deleted file mode 100644 index 4c296fa706..0000000000 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/GridAreaShorthandStyleValue.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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 GridAreaShorthandStyleValue final : public StyleValueWithDefaultOperators { -public: - static ValueComparingNonnullRefPtr create( - ValueComparingNonnullRefPtr row_start, - ValueComparingNonnullRefPtr column_start, - ValueComparingNonnullRefPtr row_end, - ValueComparingNonnullRefPtr column_end); - static ValueComparingNonnullRefPtr create(GridTrackPlacement row_start, GridTrackPlacement column_start, GridTrackPlacement row_end, GridTrackPlacement column_end); - virtual ~GridAreaShorthandStyleValue() override = default; - - auto row_start() const { return m_properties.row_start; } - auto column_start() const { return m_properties.column_start; } - auto row_end() const { return m_properties.row_end; } - auto column_end() const { return m_properties.column_end; } - - virtual String to_string() const override; - - bool properties_equal(GridAreaShorthandStyleValue const& other) const { return m_properties == other.m_properties; } - -private: - GridAreaShorthandStyleValue(ValueComparingNonnullRefPtr row_start, ValueComparingNonnullRefPtr column_start, ValueComparingNonnullRefPtr row_end, ValueComparingNonnullRefPtr column_end) - : StyleValueWithDefaultOperators(Type::GridAreaShorthand) - , m_properties { .row_start = move(row_start), .column_start = move(column_start), .row_end = move(row_end), .column_end = move(column_end) } - { - } - - struct Properties { - ValueComparingNonnullRefPtr row_start; - ValueComparingNonnullRefPtr column_start; - ValueComparingNonnullRefPtr row_end; - ValueComparingNonnullRefPtr column_end; - 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 54333c075d..8e7010e336 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/ShorthandStyleValue.cpp @@ -8,6 +8,7 @@ #include "ShorthandStyleValue.h" #include #include +#include #include namespace Web::CSS { @@ -94,6 +95,22 @@ String ShorthandStyleValue::to_string() const return MUST(String::formatted("{} {} {}", longhand(PropertyID::FlexGrow)->to_string(), longhand(PropertyID::FlexShrink)->to_string(), longhand(PropertyID::FlexBasis)->to_string())); case PropertyID::FlexFlow: return MUST(String::formatted("{} {}", longhand(PropertyID::FlexDirection)->to_string(), longhand(PropertyID::FlexWrap)->to_string())); + case PropertyID::GridArea: { + auto& row_start = longhand(PropertyID::GridRowStart)->as_grid_track_placement(); + auto& column_start = longhand(PropertyID::GridColumnStart)->as_grid_track_placement(); + auto& row_end = longhand(PropertyID::GridRowEnd)->as_grid_track_placement(); + auto& column_end = longhand(PropertyID::GridColumnEnd)->as_grid_track_placement(); + StringBuilder builder; + if (!row_start.grid_track_placement().is_auto()) + builder.appendff("{}", row_start.grid_track_placement().to_string()); + if (!column_start.grid_track_placement().is_auto()) + builder.appendff(" / {}", column_start.grid_track_placement().to_string()); + if (!row_end.grid_track_placement().is_auto()) + builder.appendff(" / {}", row_end.grid_track_placement().to_string()); + if (!column_end.grid_track_placement().is_auto()) + builder.appendff(" / {}", column_end.grid_track_placement().to_string()); + return MUST(builder.to_string()); + } default: StringBuilder builder; auto first = true; diff --git a/Userland/Libraries/LibWeb/Forward.h b/Userland/Libraries/LibWeb/Forward.h index 7c2167a7eb..11ec88ad74 100644 --- a/Userland/Libraries/LibWeb/Forward.h +++ b/Userland/Libraries/LibWeb/Forward.h @@ -106,7 +106,6 @@ class Frequency; class FrequencyOrCalculated; class FrequencyPercentage; class FrequencyStyleValue; -class GridAreaShorthandStyleValue; class GridAutoFlowStyleValue; class GridMinMax; class GridRepeat;