diff --git a/Userland/Libraries/LibWeb/CSS/Parser/StyleComponentValueRule.h b/Userland/Libraries/LibWeb/CSS/Parser/ComponentValue.h similarity index 81% rename from Userland/Libraries/LibWeb/CSS/Parser/StyleComponentValueRule.h rename to Userland/Libraries/LibWeb/CSS/Parser/ComponentValue.h index 1b14c6d63a..1c5fdca31f 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/StyleComponentValueRule.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/ComponentValue.h @@ -16,14 +16,13 @@ namespace Web::CSS { class StyleBlockRule; class StyleFunctionRule; -class StyleComponentValueRule { - friend class Parser; - +// https://www.w3.org/TR/css-syntax-3/#component-value +class ComponentValue { public: - StyleComponentValueRule(Token); - explicit StyleComponentValueRule(NonnullRefPtr); - explicit StyleComponentValueRule(NonnullRefPtr); - ~StyleComponentValueRule(); + ComponentValue(Token); + explicit ComponentValue(NonnullRefPtr); + explicit ComponentValue(NonnullRefPtr); + ~ComponentValue(); bool is_block() const { return m_value.has>(); } StyleBlockRule const& block() const { return m_value.get>(); } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 0ae1e192b6..3509b711f1 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -18,10 +18,10 @@ #include #include #include +#include #include #include #include -#include #include #include #include @@ -134,9 +134,9 @@ Token TokenStream::make_eof() } template<> -StyleComponentValueRule TokenStream::make_eof() +ComponentValue TokenStream::make_eof() { - return StyleComponentValueRule(Tokenizer::create_eof_token()); + return ComponentValue(Tokenizer::create_eof_token()); } template @@ -241,7 +241,7 @@ Result Parser::parse_a_selector_list(TokenS return selectors; } -Result, Parser::ParsingResult> Parser::parse_complex_selector(TokenStream& tokens, SelectorType mode) +Result, Parser::ParsingResult> Parser::parse_complex_selector(TokenStream& tokens, SelectorType mode) { Vector compound_selectors; @@ -272,7 +272,7 @@ Result, Parser::ParsingResult> Parser::parse_complex_sel return Selector::create(move(compound_selectors)); } -Result Parser::parse_compound_selector(TokenStream& tokens) +Result Parser::parse_compound_selector(TokenStream& tokens) { tokens.skip_whitespace(); @@ -300,7 +300,7 @@ Result Parser::parse_compound return Selector::CompoundSelector { combinator, move(simple_selectors) }; } -Optional Parser::parse_selector_combinator(TokenStream& tokens) +Optional Parser::parse_selector_combinator(TokenStream& tokens) { auto const& current_value = tokens.next_token(); if (current_value.is(Token::Type::Delim)) { @@ -328,7 +328,7 @@ Optional Parser::parse_selector_combinator(TokenStream Parser::parse_attribute_simple_selector(StyleComponentValueRule const& first_value) +Result Parser::parse_attribute_simple_selector(ComponentValue const& first_value) { auto attribute_tokens = TokenStream { first_value.block().values() }; @@ -445,7 +445,7 @@ Result Parser::parse_attribute_ return simple_selector; } -Result Parser::parse_pseudo_simple_selector(TokenStream& tokens) +Result Parser::parse_pseudo_simple_selector(TokenStream& tokens) { auto peek_token_ends_selector = [&]() -> bool { auto const& value = tokens.peek_token(); @@ -562,8 +562,8 @@ Result Parser::parse_pseudo_sim } if (pseudo_class_token.is_function()) { - auto parse_nth_child_selector = [this](auto pseudo_class, Vector const& function_values, bool allow_of = false) -> Result { - auto tokens = TokenStream(function_values); + auto parse_nth_child_selector = [this](auto pseudo_class, Vector const& function_values, bool allow_of = false) -> Result { + auto tokens = TokenStream(function_values); auto nth_child_pattern = parse_a_n_plus_b_pattern(tokens, allow_of ? AllowTrailingTokens::Yes : AllowTrailingTokens::No); if (!nth_child_pattern.has_value()) { dbgln_if(CSS_PARSER_DEBUG, "!!! Invalid An+B format for {}", pseudo_class_name(pseudo_class)); @@ -664,7 +664,7 @@ Result Parser::parse_pseudo_sim return ParsingResult::SyntaxError; } -Result Parser::parse_simple_selector(TokenStream& tokens) +Result Parser::parse_simple_selector(TokenStream& tokens) { auto peek_token_ends_selector = [&]() -> bool { auto const& value = tokens.peek_token(); @@ -770,7 +770,7 @@ RefPtr Parser::parse_as_media_query() } // ``, https://www.w3.org/TR/mediaqueries-4/#typedef-media-query -NonnullRefPtr Parser::parse_media_query(TokenStream& tokens) +NonnullRefPtr Parser::parse_media_query(TokenStream& tokens) { // ` = // | [ not | only ]? [ and ]?` @@ -857,7 +857,7 @@ NonnullRefPtr Parser::parse_media_query(TokenStream`, https://www.w3.org/TR/mediaqueries-4/#typedef-media-condition // ``, https://www.w3.org/TR/mediaqueries-4/#typedef-media-condition-without-or // (We distinguish between these two with the `allow_or` parameter.) -OwnPtr Parser::parse_media_condition(TokenStream& tokens, MediaCondition::AllowOr allow_or) +OwnPtr Parser::parse_media_condition(TokenStream& tokens, MediaCondition::AllowOr allow_or) { // ` | [ * | * ]` auto position = tokens.position(); @@ -958,7 +958,7 @@ OwnPtr Parser::parse_media_condition(TokenStream`, https://www.w3.org/TR/mediaqueries-4/#typedef-media-feature -Optional Parser::parse_media_feature(TokenStream& tokens) +Optional Parser::parse_media_feature(TokenStream& tokens) { // `[ | | ]` auto position = tokens.position(); @@ -1201,7 +1201,7 @@ Optional Parser::parse_media_feature(TokenStream Parser::parse_media_type(TokenStream& tokens) +Optional Parser::parse_media_type(TokenStream& tokens) { auto position = tokens.position(); tokens.skip_whitespace(); @@ -1242,7 +1242,7 @@ Optional Parser::parse_media_type(TokenStream`, https://www.w3.org/TR/mediaqueries-4/#typedef-media-in-parens -OwnPtr Parser::parse_media_in_parens(TokenStream& tokens) +OwnPtr Parser::parse_media_in_parens(TokenStream& tokens) { // ` = ( ) | ( ) | ` auto position = tokens.position(); @@ -1274,7 +1274,7 @@ OwnPtr Parser::parse_media_in_parens(TokenStream`, https://www.w3.org/TR/mediaqueries-4/#typedef-mf-value -Optional Parser::parse_media_feature_value(MediaFeatureID media_feature, TokenStream& tokens) +Optional Parser::parse_media_feature_value(MediaFeatureID media_feature, TokenStream& tokens) { auto position = tokens.position(); tokens.skip_whitespace(); @@ -1336,7 +1336,7 @@ template RefPtr Parser::parse_a_supports(TokenStream& tokens) { auto component_values = parse_a_list_of_component_values(tokens); - TokenStream token_stream { component_values }; + TokenStream token_stream { component_values }; auto maybe_condition = parse_supports_condition(token_stream); token_stream.skip_whitespace(); if (maybe_condition && !token_stream.has_next_token()) @@ -1345,7 +1345,7 @@ RefPtr Parser::parse_a_supports(TokenStream& tokens) return {}; } -OwnPtr Parser::parse_supports_condition(TokenStream& tokens) +OwnPtr Parser::parse_supports_condition(TokenStream& tokens) { tokens.skip_whitespace(); auto start_position = tokens.position(); @@ -1422,7 +1422,7 @@ OwnPtr Parser::parse_supports_condition(TokenStream Parser::parse_supports_in_parens(TokenStream& tokens) +Optional Parser::parse_supports_in_parens(TokenStream& tokens) { tokens.skip_whitespace(); auto start_position = tokens.position(); @@ -1465,7 +1465,7 @@ Optional Parser::parse_supports_in_parens(TokenStream Parser::parse_supports_feature(TokenStream& tokens) +Optional Parser::parse_supports_feature(TokenStream& tokens) { tokens.skip_whitespace(); auto start_position = tokens.position(); @@ -1497,7 +1497,7 @@ Optional Parser::parse_supports_feature(TokenStream Parser::parse_general_enclosed(TokenStream& tokens) +Optional Parser::parse_general_enclosed(TokenStream& tokens) { tokens.skip_whitespace(); auto start_position = tokens.position(); @@ -1624,8 +1624,8 @@ NonnullRefPtr Parser::consume_an_at_rule(TokenStream& tokens) } // simple block with an associated token of <{-token> - if constexpr (IsSame) { - StyleComponentValueRule const& component_value = token; + if constexpr (IsSame) { + ComponentValue const& component_value = token; if (component_value.is_block() && component_value.block().is_curly()) { // Assign the block to the at-rule’s block. Return the at-rule. rule->m_block = component_value.block(); @@ -1672,8 +1672,8 @@ RefPtr Parser::consume_a_qualified_rule(TokenStream& tokens) } // simple block with an associated token of <{-token> - if constexpr (IsSame) { - StyleComponentValueRule const& component_value = token; + if constexpr (IsSame) { + ComponentValue const& component_value = token; if (component_value.is_block() && component_value.block().is_curly()) { // Assign the block to the qualified rule’s block. Return the qualified rule. rule->m_block = component_value.block(); @@ -1735,7 +1735,7 @@ Vector Parser::consume_a_style_blocks_contents(TokenStream< // if (token.is(Token::Type::Ident)) { // Initialize a temporary list initially filled with the current input token. - Vector temporary_list; + Vector temporary_list; temporary_list.append(token); // As long as the next input token is anything other than a or , @@ -1788,7 +1788,7 @@ Vector Parser::consume_a_style_blocks_contents(TokenStream< } template<> -StyleComponentValueRule Parser::consume_a_component_value(TokenStream& tokens) +ComponentValue Parser::consume_a_component_value(TokenStream& tokens) { // Note: This overload is called once tokens have already been converted into component values, // so we do not need to do the work in the more general overload. @@ -1798,7 +1798,7 @@ StyleComponentValueRule Parser::consume_a_component_value(TokenStream -StyleComponentValueRule Parser::consume_a_component_value(TokenStream& tokens) +ComponentValue Parser::consume_a_component_value(TokenStream& tokens) { // To consume a component value: @@ -1807,14 +1807,14 @@ StyleComponentValueRule Parser::consume_a_component_value(TokenStream& tokens // If the current input token is a <{-token>, <[-token>, or <(-token>, consume a simple block and return it. if (token.is(Token::Type::OpenCurly) || token.is(Token::Type::OpenSquare) || token.is(Token::Type::OpenParen)) - return StyleComponentValueRule(consume_a_simple_block(tokens)); + return ComponentValue(consume_a_simple_block(tokens)); // Otherwise, if the current input token is a , consume a function and return it. if (token.is(Token::Type::Function)) - return StyleComponentValueRule(consume_a_function(tokens)); + return ComponentValue(consume_a_function(tokens)); // Otherwise, return the current input token. - return StyleComponentValueRule(token); + return ComponentValue(token); } // 5.4.8. Consume a simple block @@ -2052,7 +2052,7 @@ Vector Parser::consume_a_list_of_declarations(TokenStream if (token.is(Token::Type::Ident)) { // Initialize a temporary list initially filled with the current input token. - Vector temporary_list; + Vector temporary_list; temporary_list.append(token); // As long as the next input token is anything other than a or , @@ -2223,7 +2223,7 @@ Vector Parser::parse_a_list_of_declarations(TokenStream& // 5.3.9. Parse a component value // https://www.w3.org/TR/css-syntax-3/#parse-component-value template -Optional Parser::parse_a_component_value(TokenStream& tokens) +Optional Parser::parse_a_component_value(TokenStream& tokens) { // To parse a component value from input: @@ -2252,7 +2252,7 @@ Optional Parser::parse_a_component_value(TokenStream // 5.3.10. Parse a list of component values // https://www.w3.org/TR/css-syntax-3/#parse-list-of-component-values template -Vector Parser::parse_a_list_of_component_values(TokenStream& tokens) +Vector Parser::parse_a_list_of_component_values(TokenStream& tokens) { // To parse a list of component values from input: @@ -2260,7 +2260,7 @@ Vector Parser::parse_a_list_of_component_values(TokenSt // Note: This is done when initializing the Parser. // 2. Repeatedly consume a component value from input until an is returned, appending the returned values (except the final ) into a list. Return the list. - Vector component_values; + Vector component_values; for (;;) { if (tokens.peek_token().is(Token::Type::EndOfFile)) { @@ -2276,7 +2276,7 @@ Vector Parser::parse_a_list_of_component_values(TokenSt // 5.3.11. Parse a comma-separated list of component values // https://www.w3.org/TR/css-syntax-3/#parse-comma-separated-list-of-component-values template -Vector> Parser::parse_a_comma_separated_list_of_component_values(TokenStream& tokens) +Vector> Parser::parse_a_comma_separated_list_of_component_values(TokenStream& tokens) { // To parse a comma-separated list of component values from input: @@ -2284,13 +2284,13 @@ Vector> Parser::parse_a_comma_separated_list_of_ // Note: This is done when initializing the Parser. // 2. Let list of cvls be an initially empty list of component value lists. - Vector> list_of_component_value_lists; + Vector> list_of_component_value_lists; // 3. Repeatedly consume a component value from input until an or is returned, // appending the returned values (except the final or ) into a list. // Append the list to list of cvls. // If it was a that was returned, repeat this step. - Vector current_list; + Vector current_list; for (;;) { auto component_value = consume_a_component_value(tokens); @@ -2318,7 +2318,7 @@ RefPtr Parser::parse_as_style_attribute(DOM::E return ElementInlineCSSStyleDeclaration::create(element, move(properties), move(custom_properties)); } -Optional Parser::parse_url_function(StyleComponentValueRule const& component_value, AllowedDataUrlType allowed_data_url_type) +Optional Parser::parse_url_function(ComponentValue const& component_value, AllowedDataUrlType allowed_data_url_type) { // FIXME: Handle list of media queries. https://www.w3.org/TR/css-cascade-3/#conditional-import // FIXME: Handle data: urls (RFC2397) @@ -2548,7 +2548,7 @@ Optional Parser::convert_to_style_property(StyleDeclarationRule c } } -RefPtr Parser::parse_builtin_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_builtin_value(ComponentValue const& component_value) { if (component_value.is(Token::Type::Ident)) { auto ident = component_value.token().ident(); @@ -2564,7 +2564,7 @@ RefPtr Parser::parse_builtin_value(StyleComponentValueRule const& co return {}; } -RefPtr Parser::parse_calculated_value(Vector const& component_values) +RefPtr Parser::parse_calculated_value(Vector const& component_values) { auto calc_expression = parse_calc_expression(component_values); if (calc_expression == nullptr) @@ -2600,7 +2600,7 @@ RefPtr Parser::parse_calculated_value(Vector Parser::parse_dynamic_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_dynamic_value(ComponentValue const& component_value) { if (component_value.is_function()) { auto& function = component_value.function(); @@ -2617,7 +2617,7 @@ RefPtr Parser::parse_dynamic_value(StyleComponentValueRule const& co return {}; } -Optional Parser::parse_dimension(StyleComponentValueRule const& component_value) +Optional Parser::parse_dimension(ComponentValue const& component_value) { if (component_value.is(Token::Type::Dimension)) { float numeric_value = component_value.token().dimension_value(); @@ -2658,7 +2658,7 @@ Optional Parser::parse_dimension(StyleComponentValueRule cons return {}; } -Optional Parser::parse_length(StyleComponentValueRule const& component_value) +Optional Parser::parse_length(ComponentValue const& component_value) { auto dimension = parse_dimension(component_value); if (!dimension.has_value()) @@ -2674,7 +2674,7 @@ Optional Parser::parse_length(StyleComponentValueRule const& component_v return {}; } -Optional Parser::parse_ratio(TokenStream& tokens) +Optional Parser::parse_ratio(TokenStream& tokens) { auto position = tokens.position(); tokens.skip_whitespace(); @@ -2707,7 +2707,7 @@ Optional Parser::parse_ratio(TokenStream& tokens return Ratio { static_cast(first_number.token().number_value()) }; } -RefPtr Parser::parse_dimension_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_dimension_value(ComponentValue const& component_value) { // Numbers with no units can be lengths, in two situations: // 1) We're in quirks mode, and it's an integer. @@ -2739,7 +2739,7 @@ RefPtr Parser::parse_dimension_value(StyleComponentValueRule const& VERIFY_NOT_REACHED(); } -RefPtr Parser::parse_numeric_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_numeric_value(ComponentValue const& component_value) { if (component_value.is(Token::Type::Number)) { auto number = component_value.token(); @@ -2753,7 +2753,7 @@ RefPtr Parser::parse_numeric_value(StyleComponentValueRule const& co return {}; } -RefPtr Parser::parse_identifier_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_identifier_value(ComponentValue const& component_value) { if (component_value.is(Token::Type::Ident)) { auto value_id = value_id_from_string(component_value.token().ident()); @@ -2764,7 +2764,7 @@ RefPtr Parser::parse_identifier_value(StyleComponentValueRule const& return {}; } -Optional Parser::parse_color(StyleComponentValueRule const& component_value) +Optional Parser::parse_color(ComponentValue const& component_value) { // https://www.w3.org/TR/css-color-3/ if (component_value.is(Token::Type::Ident)) { @@ -2973,7 +2973,7 @@ Optional Parser::parse_color(StyleComponentValueRule const& component_val return {}; } -RefPtr Parser::parse_color_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_color_value(ComponentValue const& component_value) { auto color = parse_color(component_value); if (color.has_value()) @@ -2982,7 +2982,7 @@ RefPtr Parser::parse_color_value(StyleComponentValueRule const& comp return {}; } -RefPtr Parser::parse_string_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_string_value(ComponentValue const& component_value) { if (component_value.is(Token::Type::String)) return StringStyleValue::create(component_value.token().string()); @@ -2990,7 +2990,7 @@ RefPtr Parser::parse_string_value(StyleComponentValueRule const& com return {}; } -RefPtr Parser::parse_image_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_image_value(ComponentValue const& component_value) { auto url = parse_url_function(component_value, AllowedDataUrlType::Image); if (url.has_value()) @@ -3001,7 +3001,7 @@ RefPtr Parser::parse_image_value(StyleComponentValueRule const& comp } template -RefPtr Parser::parse_comma_separated_value_list(Vector const& component_values, ParseFunction parse_one_value) +RefPtr Parser::parse_comma_separated_value_list(Vector const& component_values, ParseFunction parse_one_value) { auto tokens = TokenStream { component_values }; auto first = parse_one_value(tokens); @@ -3025,7 +3025,7 @@ RefPtr Parser::parse_comma_separated_value_list(Vector Parser::parse_simple_comma_separated_value_list(Vector const& component_values) +RefPtr Parser::parse_simple_comma_separated_value_list(Vector const& component_values) { return parse_comma_separated_value_list(component_values, [=, this](auto& tokens) -> RefPtr { auto& token = tokens.next_token(); @@ -3036,7 +3036,7 @@ RefPtr Parser::parse_simple_comma_separated_value_list(Vector Parser::parse_background_value(Vector const& component_values) +RefPtr Parser::parse_background_value(Vector const& component_values) { NonnullRefPtrVector background_images; NonnullRefPtrVector background_positions; @@ -3234,7 +3234,7 @@ RefPtr Parser::parse_background_value(Vector Parser::parse_single_background_position_value(TokenStream& tokens) +RefPtr Parser::parse_single_background_position_value(TokenStream& tokens) { // NOTE: This *looks* like it parses a , but it doesn't. From the spec: // "Note: The background-position property also accepts a three-value syntax. @@ -3407,7 +3407,7 @@ RefPtr Parser::parse_single_background_position_value(TokenStreamedge, vertical->offset); } -RefPtr Parser::parse_single_background_repeat_value(TokenStream& tokens) +RefPtr Parser::parse_single_background_repeat_value(TokenStream& tokens) { auto start_position = tokens.position(); auto error = [&]() { @@ -3462,7 +3462,7 @@ RefPtr Parser::parse_single_background_repeat_value(TokenStreamto_identifier()), as_repeat(y_value->to_identifier())); } -RefPtr Parser::parse_single_background_size_value(TokenStream& tokens) +RefPtr Parser::parse_single_background_size_value(TokenStream& tokens) { auto start_position = tokens.position(); auto error = [&]() { @@ -3505,7 +3505,7 @@ RefPtr Parser::parse_single_background_size_value(TokenStream Parser::parse_border_value(Vector const& component_values) +RefPtr Parser::parse_border_value(Vector const& component_values) { if (component_values.size() > 3) return nullptr; @@ -3551,7 +3551,7 @@ RefPtr Parser::parse_border_value(Vector co return BorderStyleValue::create(border_width.release_nonnull(), border_style.release_nonnull(), border_color.release_nonnull()); } -RefPtr Parser::parse_border_radius_value(Vector const& component_values) +RefPtr Parser::parse_border_radius_value(Vector const& component_values) { if (component_values.size() == 2) { auto horizontal = parse_dimension(component_values[0]); @@ -3572,7 +3572,7 @@ RefPtr Parser::parse_border_radius_value(Vector Parser::parse_border_radius_shorthand_value(Vector const& component_values) +RefPtr Parser::parse_border_radius_shorthand_value(Vector const& component_values) { auto top_left = [&](Vector& radii) { return radii[0]; }; auto top_right = [&](Vector& radii) { @@ -3654,7 +3654,7 @@ RefPtr Parser::parse_border_radius_shorthand_value(Vector Parser::parse_shadow_value(Vector const& component_values, AllowInsetKeyword allow_inset_keyword) +RefPtr Parser::parse_shadow_value(Vector const& component_values, AllowInsetKeyword allow_inset_keyword) { // "none" if (component_values.size() == 1 && component_values.first().is(Token::Type::Ident)) { @@ -3668,7 +3668,7 @@ RefPtr Parser::parse_shadow_value(Vector co }); } -RefPtr Parser::parse_single_shadow_value(TokenStream& tokens, AllowInsetKeyword allow_inset_keyword) +RefPtr Parser::parse_single_shadow_value(TokenStream& tokens, AllowInsetKeyword allow_inset_keyword) { auto start_position = tokens.position(); auto error = [&]() { @@ -3767,7 +3767,7 @@ RefPtr Parser::parse_single_shadow_value(TokenStream Parser::parse_content_value(Vector const& component_values) +RefPtr Parser::parse_content_value(Vector const& component_values) { // FIXME: `content` accepts several kinds of function() type, which we don't handle in property_accepts_value() yet. @@ -3827,7 +3827,7 @@ RefPtr Parser::parse_content_value(Vector c return ContentStyleValue::create(StyleValueList::create(move(content_values), StyleValueList::Separator::Space), move(alt_text)); } -RefPtr Parser::parse_flex_value(Vector const& component_values) +RefPtr Parser::parse_flex_value(Vector const& component_values) { if (component_values.size() == 1) { auto value = parse_css_value(component_values[0]); @@ -3901,7 +3901,7 @@ RefPtr Parser::parse_flex_value(Vector cons return FlexStyleValue::create(flex_grow.release_nonnull(), flex_shrink.release_nonnull(), flex_basis.release_nonnull()); } -RefPtr Parser::parse_flex_flow_value(Vector const& component_values) +RefPtr Parser::parse_flex_flow_value(Vector const& component_values) { if (component_values.size() > 2) return nullptr; @@ -3953,7 +3953,7 @@ static bool is_generic_font_family(ValueID identifier) } } -RefPtr Parser::parse_font_value(Vector const& component_values) +RefPtr Parser::parse_font_value(Vector const& component_values) { RefPtr font_style; RefPtr font_weight; @@ -4044,7 +4044,7 @@ RefPtr Parser::parse_font_value(Vector cons return FontStyleValue::create(font_style.release_nonnull(), font_weight.release_nonnull(), font_size.release_nonnull(), line_height.release_nonnull(), font_families.release_nonnull()); } -RefPtr Parser::parse_font_family_value(Vector const& component_values, size_t start_index) +RefPtr Parser::parse_font_family_value(Vector const& component_values, size_t start_index) { auto is_comma_or_eof = [&](size_t i) -> bool { if (i < component_values.size()) { @@ -4117,7 +4117,7 @@ RefPtr Parser::parse_font_family_value(Vector Parser::parse_font_face_rule(TokenStream& tokens) +RefPtr Parser::parse_font_face_rule(TokenStream& tokens) { auto declarations_and_at_rules = parse_a_list_of_declarations(tokens); @@ -4212,7 +4212,7 @@ RefPtr Parser::parse_font_face_rule(TokenStream Parser::parse_list_style_value(Vector const& component_values) +RefPtr Parser::parse_list_style_value(Vector const& component_values) { if (component_values.size() > 3) return nullptr; @@ -4282,7 +4282,7 @@ RefPtr Parser::parse_list_style_value(Vector Parser::parse_overflow_value(Vector const& component_values) +RefPtr Parser::parse_overflow_value(Vector const& component_values) { if (component_values.size() == 1) { auto maybe_value = parse_css_value(component_values.first()); @@ -4311,7 +4311,7 @@ RefPtr Parser::parse_overflow_value(Vector return nullptr; } -RefPtr Parser::parse_text_decoration_value(Vector const& component_values) +RefPtr Parser::parse_text_decoration_value(Vector const& component_values) { if (component_values.size() > 4) return nullptr; @@ -4393,7 +4393,7 @@ static Optional parse_transform_function_name(StringView return {}; } -RefPtr Parser::parse_transform_value(Vector const& component_values) +RefPtr Parser::parse_transform_value(Vector const& component_values) { NonnullRefPtrVector transformations; @@ -4461,7 +4461,7 @@ RefPtr Parser::parse_transform_value(Vector // https://www.w3.org/TR/css-transforms-1/#propdef-transform-origin // FIXME: This only supports a 2D position -RefPtr Parser::parse_transform_origin_value(Vector const& component_values) +RefPtr Parser::parse_transform_origin_value(Vector const& component_values) { enum class Axis { None, @@ -4583,7 +4583,7 @@ RefPtr Parser::parse_as_css_value(PropertyID property_id) return parsed_value.release_value(); } -Result, Parser::ParsingResult> Parser::parse_css_value(PropertyID property_id, TokenStream& tokens) +Result, Parser::ParsingResult> Parser::parse_css_value(PropertyID property_id, TokenStream& tokens) { auto block_contains_var_or_attr = [](StyleBlockRule const& block, auto&& recurse) -> bool { for (auto const& token : block.values()) { @@ -4596,7 +4596,7 @@ Result, Parser::ParsingResult> Parser::parse_css_value }; m_context.set_current_property_id(property_id); - Vector component_values; + Vector component_values; bool contains_var_or_attr = false; while (tokens.has_next_token()) { @@ -4756,7 +4756,7 @@ Result, Parser::ParsingResult> Parser::parse_css_value return ParsingResult::SyntaxError; } -RefPtr Parser::parse_css_value(StyleComponentValueRule const& component_value) +RefPtr Parser::parse_css_value(ComponentValue const& component_value) { if (auto builtin = parse_builtin_value(component_value)) return builtin; @@ -4786,7 +4786,7 @@ RefPtr Parser::parse_css_value(StyleComponentValueRule const& compon return {}; } -Optional Parser::parse_a_n_plus_b_pattern(TokenStream& values, AllowTrailingTokens allow_trailing_tokens) +Optional Parser::parse_a_n_plus_b_pattern(TokenStream& values, AllowTrailingTokens allow_trailing_tokens) { int a = 0; int b = 0; @@ -4813,22 +4813,22 @@ Optional Parser::parse_a_n_plus_b_patt } }; - auto is_n = [](StyleComponentValueRule const& value) -> bool { + auto is_n = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Ident) && value.token().ident().equals_ignoring_case("n"sv); }; - auto is_ndash = [](StyleComponentValueRule const& value) -> bool { + auto is_ndash = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Ident) && value.token().ident().equals_ignoring_case("n-"sv); }; - auto is_dashn = [](StyleComponentValueRule const& value) -> bool { + auto is_dashn = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Ident) && value.token().ident().equals_ignoring_case("-n"sv); }; - auto is_dashndash = [](StyleComponentValueRule const& value) -> bool { + auto is_dashndash = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Ident) && value.token().ident().equals_ignoring_case("-n-"sv); }; - auto is_delim = [](StyleComponentValueRule const& value, u32 delim) -> bool { + auto is_delim = [](ComponentValue const& value, u32 delim) -> bool { return value.is(Token::Type::Delim) && value.token().delim() == delim; }; - auto is_n_dimension = [](StyleComponentValueRule const& value) -> bool { + auto is_n_dimension = [](ComponentValue const& value) -> bool { if (!value.is(Token::Type::Dimension)) return false; if (!value.token().number().is_integer()) @@ -4837,7 +4837,7 @@ Optional Parser::parse_a_n_plus_b_patt return false; return true; }; - auto is_ndash_dimension = [](StyleComponentValueRule const& value) -> bool { + auto is_ndash_dimension = [](ComponentValue const& value) -> bool { if (!value.is(Token::Type::Dimension)) return false; if (!value.token().number().is_integer()) @@ -4846,7 +4846,7 @@ Optional Parser::parse_a_n_plus_b_patt return false; return true; }; - auto is_ndashdigit_dimension = [](StyleComponentValueRule const& value) -> bool { + auto is_ndashdigit_dimension = [](ComponentValue const& value) -> bool { if (!value.is(Token::Type::Dimension)) return false; if (!value.token().number().is_integer()) @@ -4860,7 +4860,7 @@ Optional Parser::parse_a_n_plus_b_patt } return true; }; - auto is_ndashdigit_ident = [](StyleComponentValueRule const& value) -> bool { + auto is_ndashdigit_ident = [](ComponentValue const& value) -> bool { if (!value.is(Token::Type::Ident)) return false; auto ident = value.token().ident(); @@ -4872,7 +4872,7 @@ Optional Parser::parse_a_n_plus_b_patt } return true; }; - auto is_dashndashdigit_ident = [](StyleComponentValueRule const& value) -> bool { + auto is_dashndashdigit_ident = [](ComponentValue const& value) -> bool { if (!value.is(Token::Type::Ident)) return false; auto ident = value.token().ident(); @@ -4884,13 +4884,13 @@ Optional Parser::parse_a_n_plus_b_patt } return true; }; - auto is_integer = [](StyleComponentValueRule const& value) -> bool { + auto is_integer = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Number) && value.token().number().is_integer(); }; - auto is_signed_integer = [](StyleComponentValueRule const& value) -> bool { + auto is_signed_integer = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Number) && value.token().number().is_integer_with_explicit_sign(); }; - auto is_signless_integer = [](StyleComponentValueRule const& value) -> bool { + auto is_signless_integer = [](ComponentValue const& value) -> bool { return value.is(Token::Type::Number) && !value.token().number().is_integer_with_explicit_sign(); }; @@ -5093,13 +5093,13 @@ Optional Parser::parse_a_n_plus_b_patt return syntax_error(); } -OwnPtr Parser::parse_calc_expression(Vector const& values) +OwnPtr Parser::parse_calc_expression(Vector const& values) { auto tokens = TokenStream(values); return parse_calc_sum(tokens); } -Optional Parser::parse_calc_value(TokenStream& tokens) +Optional Parser::parse_calc_value(TokenStream& tokens) { auto current_token = tokens.next_token(); @@ -5140,7 +5140,7 @@ Optional Parser::parse_calc_value(TokenStream Parser::parse_calc_product_part_with_operator(TokenStream& tokens) +OwnPtr Parser::parse_calc_product_part_with_operator(TokenStream& tokens) { // Note: The default value is not used or passed around. auto product_with_operator = make( @@ -5179,7 +5179,7 @@ OwnPtr Parser::parse_calc_pro return product_with_operator; } -OwnPtr Parser::parse_calc_number_product_part_with_operator(TokenStream& tokens) +OwnPtr Parser::parse_calc_number_product_part_with_operator(TokenStream& tokens) { // Note: The default value is not used or passed around. auto number_product_with_operator = make( @@ -5214,7 +5214,7 @@ OwnPtr Parser::parse_ca return number_product_with_operator; } -OwnPtr Parser::parse_calc_number_product(TokenStream& tokens) +OwnPtr Parser::parse_calc_number_product(TokenStream& tokens) { auto calc_number_product = make( CalculatedStyleValue::CalcNumberValue { Number {} }, @@ -5235,7 +5235,7 @@ OwnPtr Parser::parse_calc_number_produc return calc_number_product; } -OwnPtr Parser::parse_calc_number_sum_part_with_operator(TokenStream& tokens) +OwnPtr Parser::parse_calc_number_sum_part_with_operator(TokenStream& tokens) { if (!(tokens.peek_token().is(Token::Type::Delim) && (tokens.peek_token().token().delim() == '+' || tokens.peek_token().token().delim() == '-') @@ -5260,7 +5260,7 @@ OwnPtr Parser::parse_calc_n return make(op, calc_number_product.release_nonnull()); } -OwnPtr Parser::parse_calc_number_sum(TokenStream& tokens) +OwnPtr Parser::parse_calc_number_sum(TokenStream& tokens) { auto first_calc_number_product_or_error = parse_calc_number_product(tokens); if (!first_calc_number_product_or_error) @@ -5280,7 +5280,7 @@ OwnPtr Parser::parse_calc_number_sum(TokenS return calc_number_sum; } -Optional Parser::parse_calc_number_value(TokenStream& tokens) +Optional Parser::parse_calc_number_value(TokenStream& tokens) { auto& first = tokens.peek_token(); if (first.is_block() && first.block().is_paren()) { @@ -5298,7 +5298,7 @@ Optional Parser::parse_calc_number_value( return CalculatedStyleValue::CalcNumberValue { first.token().number() }; } -OwnPtr Parser::parse_calc_product(TokenStream& tokens) +OwnPtr Parser::parse_calc_product(TokenStream& tokens) { auto calc_product = make( CalculatedStyleValue::CalcValue { Number {} }, @@ -5319,7 +5319,7 @@ OwnPtr Parser::parse_calc_product(TokenStream return calc_product; } -OwnPtr Parser::parse_calc_sum_part_with_operator(TokenStream& tokens) +OwnPtr Parser::parse_calc_sum_part_with_operator(TokenStream& tokens) { // The following has to have the shape of <+ or -> // But the first whitespace gets eaten in parse_calc_product_part_with_operator(). @@ -5346,7 +5346,7 @@ OwnPtr Parser::parse_calc_sum_par return make(op, calc_product.release_nonnull()); }; -OwnPtr Parser::parse_calc_sum(TokenStream& tokens) +OwnPtr Parser::parse_calc_sum(TokenStream& tokens) { auto parsed_calc_product = parse_calc_product(tokens); if (!parsed_calc_product) @@ -5383,13 +5383,13 @@ bool Parser::is_builtin(StringView name) || name.equals_ignoring_case("unset"sv); } -RefPtr Parser::parse_css_value(Badge, ParsingContext const& context, PropertyID property_id, Vector const& tokens) +RefPtr Parser::parse_css_value(Badge, ParsingContext const& context, PropertyID property_id, Vector const& tokens) { if (tokens.is_empty() || property_id == CSS::PropertyID::Invalid || property_id == CSS::PropertyID::Custom) return {}; CSS::Parser parser(context, ""); - CSS::TokenStream token_stream { tokens }; + CSS::TokenStream token_stream { tokens }; auto result = parser.parse_css_value(property_id, token_stream); if (result.is_error()) return {}; diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h index dd24d7235a..448927dcee 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h @@ -15,9 +15,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -112,7 +112,7 @@ public: RefPtr parse_as_css_value(PropertyID); - static RefPtr parse_css_value(Badge, ParsingContext const&, PropertyID, Vector const&); + static RefPtr parse_css_value(Badge, ParsingContext const&, PropertyID, Vector const&); private: enum class ParsingResult { @@ -150,14 +150,14 @@ private: // "Parse a component value" is for things that need to consume a single value, like the parsing rules for attr(). template - Optional parse_a_component_value(TokenStream&); + Optional parse_a_component_value(TokenStream&); // "Parse a list of component values" is for the contents of presentational attributes, which parse text into a single declaration’s value, or for parsing a stand-alone selector [SELECT] or list of Media Queries [MEDIAQ], as in Selectors API or the media HTML attribute. template - Vector parse_a_list_of_component_values(TokenStream&); + Vector parse_a_list_of_component_values(TokenStream&); template - Vector> parse_a_comma_separated_list_of_component_values(TokenStream&); + Vector> parse_a_comma_separated_list_of_component_values(TokenStream&); enum class SelectorType { Standalone, @@ -175,7 +175,7 @@ private: No, Yes }; - Optional parse_a_n_plus_b_pattern(TokenStream&, AllowTrailingTokens = AllowTrailingTokens::No); + Optional parse_a_n_plus_b_pattern(TokenStream&, AllowTrailingTokens = AllowTrailingTokens::No); enum class TopLevel { No, @@ -194,15 +194,15 @@ private: template Optional consume_a_declaration(TokenStream&); template - [[nodiscard]] StyleComponentValueRule consume_a_component_value(TokenStream&); + [[nodiscard]] ComponentValue consume_a_component_value(TokenStream&); template NonnullRefPtr consume_a_simple_block(TokenStream&); template NonnullRefPtr consume_a_function(TokenStream&); - Optional parse_general_enclosed(TokenStream&); + Optional parse_general_enclosed(TokenStream&); - RefPtr parse_font_face_rule(TokenStream&); + RefPtr parse_font_face_rule(TokenStream&); RefPtr convert_to_rule(NonnullRefPtr); RefPtr convert_to_style_declaration(Vector declarations); @@ -272,87 +272,87 @@ private: private: Variant m_value; }; - Optional parse_dimension(StyleComponentValueRule const&); - Optional parse_color(StyleComponentValueRule const&); - Optional parse_length(StyleComponentValueRule const&); - Optional parse_ratio(TokenStream&); + Optional parse_dimension(ComponentValue const&); + Optional parse_color(ComponentValue const&); + Optional parse_length(ComponentValue const&); + Optional parse_ratio(TokenStream&); enum class AllowedDataUrlType { None, Image, }; - Optional parse_url_function(StyleComponentValueRule const&, AllowedDataUrlType = AllowedDataUrlType::None); + Optional parse_url_function(ComponentValue const&, AllowedDataUrlType = AllowedDataUrlType::None); - Result, ParsingResult> parse_css_value(PropertyID, TokenStream&); - RefPtr parse_css_value(StyleComponentValueRule const&); - RefPtr parse_builtin_value(StyleComponentValueRule const&); - RefPtr parse_dynamic_value(StyleComponentValueRule const&); - RefPtr parse_calculated_value(Vector const&); - RefPtr parse_dimension_value(StyleComponentValueRule const&); - RefPtr parse_numeric_value(StyleComponentValueRule const&); - RefPtr parse_identifier_value(StyleComponentValueRule const&); - RefPtr parse_color_value(StyleComponentValueRule const&); - RefPtr parse_string_value(StyleComponentValueRule const&); - RefPtr parse_image_value(StyleComponentValueRule const&); + Result, ParsingResult> parse_css_value(PropertyID, TokenStream&); + RefPtr parse_css_value(ComponentValue const&); + RefPtr parse_builtin_value(ComponentValue const&); + RefPtr parse_dynamic_value(ComponentValue const&); + RefPtr parse_calculated_value(Vector const&); + RefPtr parse_dimension_value(ComponentValue const&); + RefPtr parse_numeric_value(ComponentValue const&); + RefPtr parse_identifier_value(ComponentValue const&); + RefPtr parse_color_value(ComponentValue const&); + RefPtr parse_string_value(ComponentValue const&); + RefPtr parse_image_value(ComponentValue const&); template - RefPtr parse_comma_separated_value_list(Vector const&, ParseFunction); - RefPtr parse_simple_comma_separated_value_list(Vector const&); + RefPtr parse_comma_separated_value_list(Vector const&, ParseFunction); + RefPtr parse_simple_comma_separated_value_list(Vector const&); - RefPtr parse_background_value(Vector const&); - RefPtr parse_single_background_position_value(TokenStream&); - RefPtr parse_single_background_repeat_value(TokenStream&); - RefPtr parse_single_background_size_value(TokenStream&); - RefPtr parse_border_value(Vector const&); - RefPtr parse_border_radius_value(Vector const&); - RefPtr parse_border_radius_shorthand_value(Vector const&); - RefPtr parse_content_value(Vector const&); - RefPtr parse_flex_value(Vector const&); - RefPtr parse_flex_flow_value(Vector const&); - RefPtr parse_font_value(Vector const&); - RefPtr parse_font_family_value(Vector const&, size_t start_index = 0); - RefPtr parse_list_style_value(Vector const&); - RefPtr parse_overflow_value(Vector const&); + RefPtr parse_background_value(Vector const&); + RefPtr parse_single_background_position_value(TokenStream&); + RefPtr parse_single_background_repeat_value(TokenStream&); + RefPtr parse_single_background_size_value(TokenStream&); + RefPtr parse_border_value(Vector const&); + RefPtr parse_border_radius_value(Vector const&); + RefPtr parse_border_radius_shorthand_value(Vector const&); + RefPtr parse_content_value(Vector const&); + RefPtr parse_flex_value(Vector const&); + RefPtr parse_flex_flow_value(Vector const&); + RefPtr parse_font_value(Vector const&); + RefPtr parse_font_family_value(Vector const&, size_t start_index = 0); + RefPtr parse_list_style_value(Vector const&); + RefPtr parse_overflow_value(Vector const&); enum class AllowInsetKeyword { No, Yes, }; - RefPtr parse_shadow_value(Vector const&, AllowInsetKeyword); - RefPtr parse_single_shadow_value(TokenStream&, AllowInsetKeyword); - RefPtr parse_text_decoration_value(Vector const&); - RefPtr parse_transform_value(Vector const&); - RefPtr parse_transform_origin_value(Vector const&); + RefPtr parse_shadow_value(Vector const&, AllowInsetKeyword); + RefPtr parse_single_shadow_value(TokenStream&, AllowInsetKeyword); + RefPtr parse_text_decoration_value(Vector const&); + RefPtr parse_transform_value(Vector const&); + RefPtr parse_transform_origin_value(Vector const&); // calc() parsing, according to https://www.w3.org/TR/css-values-3/#calc-syntax - OwnPtr parse_calc_sum(TokenStream&); - OwnPtr parse_calc_product(TokenStream&); - Optional parse_calc_value(TokenStream&); - OwnPtr parse_calc_number_sum(TokenStream&); - OwnPtr parse_calc_number_product(TokenStream&); - Optional parse_calc_number_value(TokenStream&); - OwnPtr parse_calc_product_part_with_operator(TokenStream&); - OwnPtr parse_calc_sum_part_with_operator(TokenStream&); - OwnPtr parse_calc_number_product_part_with_operator(TokenStream& tokens); - OwnPtr parse_calc_number_sum_part_with_operator(TokenStream&); - OwnPtr parse_calc_expression(Vector const&); + OwnPtr parse_calc_sum(TokenStream&); + OwnPtr parse_calc_product(TokenStream&); + Optional parse_calc_value(TokenStream&); + OwnPtr parse_calc_number_sum(TokenStream&); + OwnPtr parse_calc_number_product(TokenStream&); + Optional parse_calc_number_value(TokenStream&); + OwnPtr parse_calc_product_part_with_operator(TokenStream&); + OwnPtr parse_calc_sum_part_with_operator(TokenStream&); + OwnPtr parse_calc_number_product_part_with_operator(TokenStream& tokens); + OwnPtr parse_calc_number_sum_part_with_operator(TokenStream&); + OwnPtr parse_calc_expression(Vector const&); - Result, ParsingResult> parse_complex_selector(TokenStream&, SelectorType); - Result parse_compound_selector(TokenStream&); - Optional parse_selector_combinator(TokenStream&); + Result, ParsingResult> parse_complex_selector(TokenStream&, SelectorType); + Result parse_compound_selector(TokenStream&); + Optional parse_selector_combinator(TokenStream&); - Result parse_attribute_simple_selector(StyleComponentValueRule const&); - Result parse_pseudo_simple_selector(TokenStream&); - Result parse_simple_selector(TokenStream&); + Result parse_attribute_simple_selector(ComponentValue const&); + Result parse_pseudo_simple_selector(TokenStream&); + Result parse_simple_selector(TokenStream&); - NonnullRefPtr parse_media_query(TokenStream&); - OwnPtr parse_media_condition(TokenStream&, MediaCondition::AllowOr allow_or); - Optional parse_media_feature(TokenStream&); - Optional parse_media_type(TokenStream&); - OwnPtr parse_media_in_parens(TokenStream&); - Optional parse_media_feature_value(MediaFeatureID, TokenStream&); + NonnullRefPtr parse_media_query(TokenStream&); + OwnPtr parse_media_condition(TokenStream&, MediaCondition::AllowOr allow_or); + Optional parse_media_feature(TokenStream&); + Optional parse_media_type(TokenStream&); + OwnPtr parse_media_in_parens(TokenStream&); + Optional parse_media_feature_value(MediaFeatureID, TokenStream&); - OwnPtr parse_supports_condition(TokenStream&); - Optional parse_supports_in_parens(TokenStream&); - Optional parse_supports_feature(TokenStream&); + OwnPtr parse_supports_condition(TokenStream&); + Optional parse_supports_in_parens(TokenStream&); + Optional parse_supports_feature(TokenStream&); static bool has_ignored_vendor_prefix(StringView); static bool is_builtin(StringView); diff --git a/Userland/Libraries/LibWeb/CSS/Parser/StyleBlockRule.h b/Userland/Libraries/LibWeb/CSS/Parser/StyleBlockRule.h index 86d9ad5fac..e137320575 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/StyleBlockRule.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/StyleBlockRule.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include namespace Web::CSS { @@ -19,7 +19,7 @@ class StyleBlockRule : public RefCounted { public: StyleBlockRule(); - explicit StyleBlockRule(Token token, Vector&& values) + explicit StyleBlockRule(Token token, Vector&& values) : m_token(move(token)) , m_values(move(values)) { @@ -32,12 +32,12 @@ public: Token const& token() const { return m_token; } - Vector const& values() const { return m_values; } + Vector const& values() const { return m_values; } String to_string() const; private: Token m_token; - Vector m_values; + Vector m_values; }; } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/StyleDeclarationRule.h b/Userland/Libraries/LibWeb/CSS/Parser/StyleDeclarationRule.h index 105002f2d6..5110481abf 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/StyleDeclarationRule.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/StyleDeclarationRule.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace Web::CSS { @@ -24,7 +24,7 @@ public: private: String m_name; - Vector m_values; + Vector m_values; Important m_important { Important::No }; }; diff --git a/Userland/Libraries/LibWeb/CSS/Parser/StyleFunctionRule.h b/Userland/Libraries/LibWeb/CSS/Parser/StyleFunctionRule.h index 3ed89ded67..3b74bc1ecd 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/StyleFunctionRule.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/StyleFunctionRule.h @@ -10,27 +10,27 @@ #include #include #include -#include +#include namespace Web::CSS { -class StyleComponentValueRule; +class ComponentValue; class StyleFunctionRule : public RefCounted { friend class Parser; public: explicit StyleFunctionRule(String name); - StyleFunctionRule(String name, Vector&& values); + StyleFunctionRule(String name, Vector&& values); ~StyleFunctionRule(); String const& name() const { return m_name; } - Vector const& values() const { return m_values; } + Vector const& values() const { return m_values; } String to_string() const; private: String m_name; - Vector m_values; + Vector m_values; }; } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/StyleRule.h b/Userland/Libraries/LibWeb/CSS/Parser/StyleRule.h index 9b1a5c7612..3d6cc961bd 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/StyleRule.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/StyleRule.h @@ -9,8 +9,8 @@ #include #include +#include #include -#include namespace Web::CSS { @@ -29,7 +29,7 @@ public: bool is_qualified_rule() const { return m_type == Type::Qualified; } bool is_at_rule() const { return m_type == Type::At; } - Vector const& prelude() const { return m_prelude; } + Vector const& prelude() const { return m_prelude; } RefPtr block() const { return m_block; } String const& at_rule_name() const { return m_at_rule_name; } @@ -38,7 +38,7 @@ public: private: Type const m_type; String m_at_rule_name; - Vector m_prelude; + Vector m_prelude; RefPtr m_block; }; diff --git a/Userland/Libraries/LibWeb/CSS/Parser/StyleRules.cpp b/Userland/Libraries/LibWeb/CSS/Parser/StyleRules.cpp index 8babc6dd93..437f9e9fa8 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/StyleRules.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/StyleRules.cpp @@ -5,9 +5,9 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include -#include #include #include #include @@ -36,19 +36,19 @@ StyleRule::~StyleRule() = default; StyleBlockRule::StyleBlockRule() = default; StyleBlockRule::~StyleBlockRule() = default; -StyleComponentValueRule::StyleComponentValueRule(Token token) +ComponentValue::ComponentValue(Token token) : m_value(token) { } -StyleComponentValueRule::StyleComponentValueRule(NonnullRefPtr function) +ComponentValue::ComponentValue(NonnullRefPtr function) : m_value(function) { } -StyleComponentValueRule::StyleComponentValueRule(NonnullRefPtr block) +ComponentValue::ComponentValue(NonnullRefPtr block) : m_value(block) { } -StyleComponentValueRule::~StyleComponentValueRule() = default; +ComponentValue::~ComponentValue() = default; StyleDeclarationRule::StyleDeclarationRule() = default; StyleDeclarationRule::~StyleDeclarationRule() = default; @@ -58,7 +58,7 @@ StyleFunctionRule::StyleFunctionRule(String name) { } -StyleFunctionRule::StyleFunctionRule(String name, Vector&& values) +StyleFunctionRule::StyleFunctionRule(String name, Vector&& values) : m_name(move(name)) , m_values(move(values)) { @@ -124,7 +124,7 @@ String StyleBlockRule::to_string() const return builder.to_string(); } -String StyleComponentValueRule::to_string() const +String ComponentValue::to_string() const { return m_value.visit( [](Token const& token) { return token.to_string(); }, @@ -132,7 +132,7 @@ String StyleComponentValueRule::to_string() const [](NonnullRefPtr const& function) { return function->to_string(); }); } -String StyleComponentValueRule::to_debug_string() const +String ComponentValue::to_debug_string() const { return m_value.visit( [](Token const& token) { diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp index 4ae796ec1a..5e49161bbc 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -492,7 +492,7 @@ static RefPtr get_custom_property(DOM::Element const& element, FlySt return nullptr; } -bool StyleComputer::expand_unresolved_values(DOM::Element& element, StringView property_name, HashMap>& dependencies, Vector const& source, Vector& dest, size_t source_start_index) const +bool StyleComputer::expand_unresolved_values(DOM::Element& element, StringView property_name, HashMap>& dependencies, Vector const& source, Vector& dest, size_t source_start_index) const { // FIXME: Do this better! // We build a copy of the tree of StyleComponentValueRules, with all var()s and attr()s replaced with their contents. @@ -585,7 +585,7 @@ bool StyleComputer::expand_unresolved_values(DOM::Element& element, StringView p } auto const& source_function = value.function(); - Vector function_values; + Vector function_values; if (!expand_unresolved_values(element, property_name, dependencies, source_function.values(), function_values, 0)) return false; NonnullRefPtr function = adopt_ref(*new StyleFunctionRule(source_function.name(), move(function_values))); @@ -594,7 +594,7 @@ bool StyleComputer::expand_unresolved_values(DOM::Element& element, StringView p } if (value.is_block()) { auto const& source_block = value.block(); - Vector block_values; + Vector block_values; if (!expand_unresolved_values(element, property_name, dependencies, source_block.values(), block_values, 0)) return false; NonnullRefPtr block = adopt_ref(*new StyleBlockRule(source_block.token(), move(block_values))); @@ -613,7 +613,7 @@ RefPtr StyleComputer::resolve_unresolved_style_value(DOM::Element& e // to produce a different StyleValue from it. VERIFY(unresolved.contains_var_or_attr()); - Vector expanded_values; + Vector expanded_values; HashMap> dependencies; if (!expand_unresolved_values(element, string_from_property_id(property_id), dependencies, unresolved.values(), expanded_values, 0)) return {}; diff --git a/Userland/Libraries/LibWeb/CSS/StyleComputer.h b/Userland/Libraries/LibWeb/CSS/StyleComputer.h index c67ce8fd3d..aab5d88bfe 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleComputer.h +++ b/Userland/Libraries/LibWeb/CSS/StyleComputer.h @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include @@ -84,7 +84,7 @@ private: void compute_defaulted_property_value(StyleProperties&, DOM::Element const*, CSS::PropertyID, Optional) const; RefPtr resolve_unresolved_style_value(DOM::Element&, PropertyID, UnresolvedStyleValue const&) const; - bool expand_unresolved_values(DOM::Element&, StringView property_name, HashMap>& dependencies, Vector const& source, Vector& dest, size_t source_start_index) const; + bool expand_unresolved_values(DOM::Element&, StringView property_name, HashMap>& dependencies, Vector const& source, Vector& dest, size_t source_start_index) const; template void for_each_stylesheet(CascadeOrigin, Callback) const; diff --git a/Userland/Libraries/LibWeb/CSS/StyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValue.h index 970c9b74a3..951563af9d 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValue.h @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include @@ -1625,7 +1625,7 @@ private: class UnresolvedStyleValue final : public StyleValue { public: - static NonnullRefPtr create(Vector&& values, bool contains_var_or_attr) + static NonnullRefPtr create(Vector&& values, bool contains_var_or_attr) { return adopt_ref(*new UnresolvedStyleValue(move(values), contains_var_or_attr)); } @@ -1633,18 +1633,18 @@ public: virtual String to_string() const override; - Vector const& values() const { return m_values; } + Vector const& values() const { return m_values; } bool contains_var_or_attr() const { return m_contains_var_or_attr; } private: - UnresolvedStyleValue(Vector&& values, bool contains_var_or_attr) + UnresolvedStyleValue(Vector&& values, bool contains_var_or_attr) : StyleValue(Type::Unresolved) , m_values(move(values)) , m_contains_var_or_attr(contains_var_or_attr) { } - Vector m_values; + Vector m_values; bool m_contains_var_or_attr { false }; };