summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
diff options
context:
space:
mode:
authormartinfalisse <martinmotteditfalisse@gmail.com>2022-10-30 13:27:57 +0100
committerAndreas Kling <kling@serenityos.org>2022-11-01 11:19:41 +0100
commitb2b677e9842775346d66a2697b29cfa96f11fdb0 (patch)
tree3cfeffb2b531abe67a80e8ef1ab8f4b73ddfe1a1 /Userland/Libraries/LibWeb/CSS/StyleValue.cpp
parent9441515312c47187815ad2c8d23f1ded8026394a (diff)
downloadserenity-b2b677e9842775346d66a2697b29cfa96f11fdb0.zip
LibWeb: Refactor GridTrackSize classes
Refactor various classes in the GridTrackSize file for the incoming named_tracks feature. Previously the ExplicitTrackSizing had mixed responsiblities with the newly-named GridRepeat class. This made it so it was not possible to have multiple repeats within a single 'GridTrackSizeList' definition. The MetaGridTrackSize class had both the responsibilities of being a container for minmax values as well as for simple GridSizes. By uniting the different possible values (repeat, minmax, default) into the ExplicitGridTrack class are able to be more expressive as to the different grid size modalities. The GridTrackSizeList will be useful as compared to a Vector<ExplicitGridTrack> since this way can keep track of the declared line names. These same line names are able to be declared within the values of a repeat function, hence the presence of a GridTrackSizeList inside the GridRepeat class.
Diffstat (limited to 'Userland/Libraries/LibWeb/CSS/StyleValue.cpp')
-rw-r--r--Userland/Libraries/LibWeb/CSS/StyleValue.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
index 009850fca3..869cab95c5 100644
--- a/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
+++ b/Userland/Libraries/LibWeb/CSS/StyleValue.cpp
@@ -168,9 +168,9 @@ LengthStyleValue const& StyleValue::as_length() const
return static_cast<LengthStyleValue const&>(*this);
}
-GridTrackSizeStyleValue const& StyleValue::as_explicit_track_sizing() const
+GridTrackSizeStyleValue const& StyleValue::as_grid_track_size_list() const
{
- VERIFY(is_explicit_track_sizing());
+ VERIFY(is_grid_track_size_list());
return static_cast<GridTrackSizeStyleValue const&>(*this);
}
@@ -1418,15 +1418,15 @@ bool GridTrackPlacementStyleValue::equals(StyleValue const& other) const
String GridTrackSizeStyleValue::to_string() const
{
- return m_explicit_track_sizing.to_string();
+ return m_grid_track_size_list.to_string();
}
bool GridTrackSizeStyleValue::equals(StyleValue const& other) const
{
if (type() != other.type())
return false;
- auto const& typed_other = other.as_explicit_track_sizing();
- return m_explicit_track_sizing == typed_other.explicit_track_sizing();
+ auto const& typed_other = other.as_grid_track_size_list();
+ return m_grid_track_size_list == typed_other.grid_track_size_list();
}
String IdentifierStyleValue::to_string() const
@@ -2145,9 +2145,14 @@ NonnullRefPtr<GridTrackPlacementStyleValue> GridTrackPlacementStyleValue::create
return adopt_ref(*new GridTrackPlacementStyleValue(grid_track_placement));
}
-NonnullRefPtr<GridTrackSizeStyleValue> GridTrackSizeStyleValue::create(CSS::ExplicitTrackSizing explicit_track_sizing)
+NonnullRefPtr<GridTrackSizeStyleValue> GridTrackSizeStyleValue::create(CSS::GridTrackSizeList grid_track_size_list)
{
- return adopt_ref(*new GridTrackSizeStyleValue(explicit_track_sizing));
+ return adopt_ref(*new GridTrackSizeStyleValue(grid_track_size_list));
+}
+
+NonnullRefPtr<GridTrackSizeStyleValue> GridTrackSizeStyleValue::make_auto()
+{
+ return adopt_ref(*new GridTrackSizeStyleValue(CSS::GridTrackSizeList()));
}
NonnullRefPtr<RectStyleValue> RectStyleValue::create(EdgeRect rect)