diff --git a/Tests/LibWeb/Layout/expected/grid/grid-template-columns-with-min-css-function.txt b/Tests/LibWeb/Layout/expected/grid/grid-template-columns-with-min-css-function.txt new file mode 100644 index 0000000000..e5d4d3d6fb --- /dev/null +++ b/Tests/LibWeb/Layout/expected/grid/grid-template-columns-with-min-css-function.txt @@ -0,0 +1,8 @@ +Viewport <#document> at (0,0) content-size 800x600 children: not-inline + BlockContainer at (1,1) content-size 798x54.9375 [BFC] children: not-inline + Box at (10,10) content-size 780x36.9375 [GFC] children: not-inline + BlockContainer

at (55.5,11) content-size 689x34.9375 [BFC] children: inline + line 0 width: 200.40625, height: 34.9375, bottom: 34.9375, baseline: 27.0625 + frag 0 from TextNode start: 0, length: 13, rect: [55.5,11 200.40625x34.9375] + "hello friends" + TextNode <#text> diff --git a/Tests/LibWeb/Layout/input/grid/grid-template-columns-with-min-css-function.html b/Tests/LibWeb/Layout/input/grid/grid-template-columns-with-min-css-function.html new file mode 100644 index 0000000000..c390478f5b --- /dev/null +++ b/Tests/LibWeb/Layout/input/grid/grid-template-columns-with-min-css-function.html @@ -0,0 +1,11 @@ +

hello friends

\ No newline at end of file diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index e169f13396..eb783c9e7f 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -6900,11 +6900,8 @@ Optional Parser::parse_track_sizing_function(ComponentVa return CSS::ExplicitGridTrack(maybe_min_max_value.value()); else return {}; - } else if (function_token.name().equals_ignoring_ascii_case("calc"sv)) { - auto grid_size = parse_grid_size(token); - if (!grid_size.has_value()) - return {}; - return CSS::ExplicitGridTrack(grid_size.value()); + } else if (auto maybe_dynamic = parse_dynamic_value(token); !maybe_dynamic.is_error() && maybe_dynamic.value()) { + return CSS::ExplicitGridTrack(GridSize(LengthPercentage(maybe_dynamic.release_value()->as_calculated()))); } return {}; } else if (token.is(Token::Type::Ident) && token.token().ident().equals_ignoring_ascii_case("auto"sv)) {