diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 7a76ef846b..76b5a57237 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -5312,13 +5312,14 @@ RefPtr Parser::parse_grid_track_size_list(Vector con } // https://www.w3.org/TR/css-grid-1/#grid-auto-flow-property -RefPtr Parser::parse_grid_auto_flow_value(Vector const& component_values) +RefPtr Parser::parse_grid_auto_flow_value(TokenStream& tokens) { // [ row | column ] || dense - TokenStream tokens { component_values }; if (!tokens.has_next_token()) return nullptr; + auto transaction = tokens.begin_transaction(); + auto parse_axis = [&]() -> Optional { auto transaction = tokens.begin_transaction(); auto token = tokens.next_token(); @@ -5359,6 +5360,7 @@ RefPtr Parser::parse_grid_auto_flow_value(Vector> Parser::parse_css_value(Property return parsed_value.release_nonnull(); return ParseError::SyntaxError; case PropertyID::GridAutoFlow: - if (auto parsed_value = parse_grid_auto_flow_value(component_values)) + if (auto parsed_value = parse_grid_auto_flow_value(tokens); parsed_value && !tokens.has_next_token()) return parsed_value.release_nonnull(); return ParseError::SyntaxError; case PropertyID::GridTemplateAreas: diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h index dab5aa86ea..b03c593a72 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h @@ -260,7 +260,7 @@ private: RefPtr parse_transform_origin_value(Vector const&); RefPtr parse_grid_track_size_list(Vector const&, bool allow_separate_line_name_blocks = false); RefPtr parse_grid_auto_track_sizes(Vector const&); - [[nodiscard]] RefPtr parse_grid_auto_flow_value(Vector const&); + RefPtr parse_grid_auto_flow_value(TokenStream&); RefPtr parse_grid_track_size_list_shorthand_value(PropertyID, Vector const&); RefPtr parse_grid_track_placement(Vector const&); RefPtr parse_grid_track_placement_shorthand_value(PropertyID, TokenStream&);