From 0613972f0c3817a6504528b91acec64613828103 Mon Sep 17 00:00:00 2001 From: martinfalisse Date: Wed, 7 Sep 2022 15:00:29 +0200 Subject: [PATCH] LibWeb: Only set has_span if there is a number following the css value To follow spec more closely, only set the has_span value if there is a number immediately following, like "span 2". Otherwise the span value should be ignored. --- Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index f8cb5b1b0c..b6b40ff17c 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -5363,13 +5363,16 @@ RefPtr Parser::parse_grid_track_placement(Vector con } auto first_grid_track_placement = CSS::GridTrackPlacement(); + auto has_span = false; if (current_token.to_string() == "span"sv) { - first_grid_track_placement.set_has_span(true); + has_span = true; tokens.skip_whitespace(); current_token = tokens.next_token().token(); } - if (current_token.is(Token::Type::Number) && current_token.number().is_integer()) + if (current_token.is(Token::Type::Number) && current_token.number().is_integer()) { first_grid_track_placement.set_position(static_cast(current_token.number_value())); + first_grid_track_placement.set_has_span(has_span); + } if (!tokens.has_next_token()) return GridTrackPlacementStyleValue::create(first_grid_track_placement); @@ -5391,13 +5394,16 @@ RefPtr Parser::parse_grid_track_placement_shorthand_value(Vector CSS::GridTrackPlacement { auto grid_track_placement = CSS::GridTrackPlacement(); + auto has_span = false; if (current_token.to_string() == "span"sv) { - grid_track_placement.set_has_span(true); + has_span = true; tokens.skip_whitespace(); current_token = tokens.next_token().token(); } - if (current_token.is(Token::Type::Number) && current_token.number().is_integer()) + if (current_token.is(Token::Type::Number) && current_token.number().is_integer()) { grid_track_placement.set_position(static_cast(current_token.number_value())); + grid_track_placement.set_has_span(has_span); + } return grid_track_placement; };