diff --git a/Libraries/LibWeb/CSS/GridTrackSize.cpp b/Libraries/LibWeb/CSS/GridTrackSize.cpp index f6648c1728c..f58b5670ab4 100644 --- a/Libraries/LibWeb/CSS/GridTrackSize.cpp +++ b/Libraries/LibWeb/CSS/GridTrackSize.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2022, Martin Falisse + * Copyright (c) 2025, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ @@ -89,8 +90,9 @@ String GridSize::to_string() const { switch (m_type) { case Type::LengthPercentage: - case Type::FitContent: return m_value.get().to_string(); + case Type::FitContent: + return MUST(String::formatted("fit-content({})", m_value.get().to_string())); case Type::FlexibleLength: return m_value.get().to_string(); case Type::MaxContent: @@ -118,16 +120,6 @@ String GridMinMax::to_string() const return MUST(builder.to_string()); } -GridFitContent::GridFitContent(GridSize max_grid_size) - : m_max_grid_size(max_grid_size) -{ -} - -String GridFitContent::to_string() const -{ - return MUST(String::formatted("fit-content({})", m_max_grid_size.to_string())); -} - GridRepeat::GridRepeat(GridTrackSizeList grid_track_size_list, int repeat_count) : m_type(Type::Default) , m_grid_track_size_list(grid_track_size_list) @@ -164,7 +156,7 @@ String GridRepeat::to_string() const return MUST(builder.to_string()); } -ExplicitGridTrack::ExplicitGridTrack(Variant&& value) +ExplicitGridTrack::ExplicitGridTrack(Variant&& value) : m_value(move(value)) { } diff --git a/Libraries/LibWeb/CSS/GridTrackSize.h b/Libraries/LibWeb/CSS/GridTrackSize.h index 3aaee8dbbd9..11b3fcd9908 100644 --- a/Libraries/LibWeb/CSS/GridTrackSize.h +++ b/Libraries/LibWeb/CSS/GridTrackSize.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2022, Martin Falisse + * Copyright (c) 2025, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ @@ -61,19 +62,6 @@ private: Variant m_value; }; -class GridFitContent { -public: - GridFitContent(GridSize); - - GridSize const& max_grid_size() const& { return m_max_grid_size; } - - String to_string() const; - bool operator==(GridFitContent const& other) const = default; - -private: - GridSize m_max_grid_size; -}; - class GridMinMax { public: GridMinMax(CSS::GridSize min_grid_size, CSS::GridSize max_grid_size); @@ -145,10 +133,7 @@ private: class ExplicitGridTrack { public: - ExplicitGridTrack(Variant&& value); - - bool is_fit_content() const { return m_value.has(); } - GridFitContent const& fit_content() const { return m_value.get(); } + ExplicitGridTrack(Variant&& value); bool is_repeat() const { return m_value.has(); } GridRepeat const& repeat() const { return m_value.get(); } @@ -163,7 +148,7 @@ public: bool operator==(ExplicitGridTrack const& other) const = default; private: - Variant m_value; + Variant m_value; }; } diff --git a/Libraries/LibWeb/CSS/Parser/Parser.h b/Libraries/LibWeb/CSS/Parser/Parser.h index f988ea49157..bcf32a00c8d 100644 --- a/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Libraries/LibWeb/CSS/Parser/Parser.h @@ -283,7 +283,7 @@ private: Vector parse_unicode_ranges(TokenStream&); RefPtr parse_unicode_range_value(TokenStream&); Optional parse_grid_size(ComponentValue const&); - Optional parse_grid_fit_content(Vector const&); + Optional parse_grid_fit_content(Vector const&); Optional parse_min_max(Vector const&); Optional parse_repeat(Vector const&); Optional parse_track_sizing_function(ComponentValue const&); diff --git a/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp b/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp index 14772fa4406..33c8ab89455 100644 --- a/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp +++ b/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp @@ -3243,7 +3243,7 @@ Optional Parser::parse_grid_size(ComponentValue const& component_ return {}; } -Optional Parser::parse_grid_fit_content(Vector const& component_values) +Optional Parser::parse_grid_fit_content(Vector const& component_values) { // https://www.w3.org/TR/css-grid-2/#valdef-grid-template-columns-fit-content // 'fit-content( )' @@ -3254,7 +3254,7 @@ Optional Parser::parse_grid_fit_content(Vector().names); } else if (item.has()) { auto const& explicit_track = item.get(); - if (explicit_track.is_default() || explicit_track.is_minmax() || explicit_track.is_fit_content()) { + if (explicit_track.is_default() || explicit_track.is_minmax()) { lines.append({ .names = line_names }); line_names.clear(); } else if (explicit_track.is_repeat()) {