From 4ecf56cadf263406775f2a689dd1641fd14e4b5e Mon Sep 17 00:00:00 2001 From: Gingeh <39150378+Gingeh@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:29:03 +1100 Subject: [PATCH] LibWeb: Allow calculated values in css filters --- .../Screenshot/css-filter-drop-shadow.html | 1 + Tests/LibWeb/Screenshot/css-filter.html | 74 ++++++++++++++++++ .../images/css-filter-drop-shadow-ref.png | Bin 6700 -> 6701 bytes .../Screenshot/images/css-filter-ref.png | Bin 0 -> 115603 bytes .../Screenshot/reference/css-filter-ref.html | 10 +++ .../Text/expected/css/calc-coverage.txt | 16 ++-- .../Libraries/LibWeb/CSS/Parser/Parser.cpp | 63 ++++++++------- Userland/Libraries/LibWeb/CSS/Parser/Parser.h | 1 + .../StyleValues/FilterValueListStyleValue.cpp | 34 +++++--- .../StyleValues/FilterValueListStyleValue.h | 17 ++-- Userland/Libraries/LibWeb/Layout/Node.cpp | 9 ++- 11 files changed, 166 insertions(+), 59 deletions(-) create mode 100644 Tests/LibWeb/Screenshot/css-filter.html create mode 100644 Tests/LibWeb/Screenshot/images/css-filter-ref.png create mode 100644 Tests/LibWeb/Screenshot/reference/css-filter-ref.html diff --git a/Tests/LibWeb/Screenshot/css-filter-drop-shadow.html b/Tests/LibWeb/Screenshot/css-filter-drop-shadow.html index 84a285d8eb7..ef380851ac9 100644 --- a/Tests/LibWeb/Screenshot/css-filter-drop-shadow.html +++ b/Tests/LibWeb/Screenshot/css-filter-drop-shadow.html @@ -20,3 +20,4 @@
+
diff --git a/Tests/LibWeb/Screenshot/css-filter.html b/Tests/LibWeb/Screenshot/css-filter.html new file mode 100644 index 00000000000..4344a29075b --- /dev/null +++ b/Tests/LibWeb/Screenshot/css-filter.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/LibWeb/Screenshot/images/css-filter-drop-shadow-ref.png b/Tests/LibWeb/Screenshot/images/css-filter-drop-shadow-ref.png index 991ddf9c9cbbfd29047fe8edcf29b9018efa8a82..c73f22b9f35bf308f8d34f3a414fdca9b62edf01 100644 GIT binary patch literal 6701 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
  • gDg3EH&*vRW)NrqgjANgmYSkVrgK51tY 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 FngDsl-!K3G literal 0 HcmV?d00001 diff --git a/Tests/LibWeb/Screenshot/reference/css-filter-ref.html b/Tests/LibWeb/Screenshot/reference/css-filter-ref.html new file mode 100644 index 00000000000..7c27bfd3733 --- /dev/null +++ b/Tests/LibWeb/Screenshot/reference/css-filter-ref.html @@ -0,0 +1,10 @@ + + diff --git a/Tests/LibWeb/Text/expected/css/calc-coverage.txt b/Tests/LibWeb/Text/expected/css/calc-coverage.txt index eb71f2c3a3f..7917a439704 100644 --- a/Tests/LibWeb/Text/expected/css/calc-coverage.txt +++ b/Tests/LibWeb/Text/expected/css/calc-coverage.txt @@ -4,10 +4,10 @@ animation-duration: 'calc(2s)' -> 'calc(2s)' animation-duration: 'calc(2s * var(--n))' -> '4s' animation-iteration-count: 'calc(2)' -> 'calc(2)' animation-iteration-count: 'calc(2 * var(--n))' -> '4' -backdrop-filter: 'grayscale(calc(2%))' -> 'none' -backdrop-filter: 'grayscale(calc(2% * var(--n)))' -> 'none' -backdrop-filter: 'grayscale(calc(0.02))' -> 'none' -backdrop-filter: 'grayscale(calc(0.02 * var(--n)))' -> 'none' +backdrop-filter: 'grayscale(calc(2%))' -> 'grayscale(calc(2%))' +backdrop-filter: 'grayscale(calc(2% * var(--n)))' -> 'grayscale(calc(2% * 2))' +backdrop-filter: 'grayscale(calc(0.02))' -> 'grayscale(calc(0.02))' +backdrop-filter: 'grayscale(calc(0.02 * var(--n)))' -> 'grayscale(calc(0.02 * 2))' background-position-x: 'calc(2px)' -> 'left calc(2px)' background-position-x: 'calc(2px * var(--n))' -> 'left calc(2px * 2)' background-position-y: 'calc(2%)' -> 'top calc(2%)' @@ -56,10 +56,10 @@ cy: 'calc(2%)' -> 'calc(2%)' cy: 'calc(2% * var(--n))' -> '4%' fill-opacity: 'calc(2)' -> 'calc(2)' fill-opacity: 'calc(2 * var(--n))' -> '4' -filter: 'grayscale(calc(2%))' -> 'none' -filter: 'grayscale(calc(2% * var(--n)))' -> 'none' -filter: 'grayscale(calc(0.02))' -> 'none' -filter: 'grayscale(calc(0.02 * var(--n)))' -> 'none' +filter: 'grayscale(calc(2%))' -> 'grayscale(calc(2%))' +filter: 'grayscale(calc(2% * var(--n)))' -> 'grayscale(calc(2% * 2))' +filter: 'grayscale(calc(0.02))' -> 'grayscale(calc(0.02))' +filter: 'grayscale(calc(0.02 * var(--n)))' -> 'grayscale(calc(0.02 * 2))' flex-basis: 'calc(2px)' -> 'calc(2px)' flex-basis: 'calc(2px * var(--n))' -> 'calc(2px * 2)' flex-grow: 'calc(2)' -> 'calc(2)' diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 8af7a1069b8..89c4d543f5f 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -2246,6 +2246,29 @@ Optional Parser::parse_number(TokenStream& t return {}; } +Optional Parser::parse_number_percentage(TokenStream& tokens) +{ + auto transaction = tokens.begin_transaction(); + auto& token = tokens.consume_a_token(); + + if (token.is(Token::Type::Number)) { + transaction.commit(); + return token.token().number(); + } + + if (token.is(Token::Type::Percentage)) { + transaction.commit(); + return Percentage(token.token().percentage()); + } + + if (auto calc = parse_calculated_value(token); calc && calc->resolves_to_number_percentage()) { + transaction.commit(); + return calc.release_nonnull(); + } + + return {}; +} + Optional Parser::parse_resolution(TokenStream& tokens) { auto transaction = tokens.begin_transaction(); @@ -5395,14 +5418,6 @@ RefPtr Parser::parse_filter_value_list_value(TokenStream(filter); }; - auto parse_number_percentage = [&](auto& token) -> Optional { - if (token.is(Token::Type::Percentage)) - return NumberPercentage(Percentage(token.token().percentage())); - if (token.is(Token::Type::Number)) - return NumberPercentage(Number(Number::Type::Number, token.token().number_value())); - return {}; - }; - auto parse_filter_function_name = [&](auto name) -> Optional { if (name.equals_ignoring_ascii_case("blur"sv)) return FilterToken::Blur; @@ -5446,8 +5461,7 @@ RefPtr Parser::parse_filter_value_list_value(TokenStreamvalue() }); + return if_no_more_tokens_return(FilterOperation::Blur { blur_radius.value() }); } else if (filter_token == FilterToken::DropShadow) { if (!tokens.has_next_token()) return {}; @@ -5481,29 +5495,24 @@ RefPtr Parser::parse_filter_value_list_value(TokenStreamto_color({}); - // FIXME: Support calculated offsets and radius - return if_no_more_tokens_return(FilterOperation::DropShadow { x_offset->value(), y_offset->value(), maybe_radius.map([](auto& it) { return it.value(); }), color }); + return if_no_more_tokens_return(FilterOperation::DropShadow { x_offset.value(), y_offset.value(), maybe_radius, color }); } else if (filter_token == FilterToken::HueRotate) { // hue-rotate( [ | ]? ) if (!tokens.has_next_token()) return FilterOperation::HueRotate {}; - auto& token = tokens.consume_a_token(); - if (token.is(Token::Type::Number)) { + + if (tokens.next_token().is(Token::Type::Number)) { // hue-rotate(0) - auto number = token.token().number(); + auto number = tokens.consume_a_token().token().number(); if (number.is_integer() && number.integer_value() == 0) return if_no_more_tokens_return(FilterOperation::HueRotate { FilterOperation::HueRotate::Zero {} }); return {}; } - if (!token.is(Token::Type::Dimension)) - return {}; - auto angle_value = token.token().dimension_value(); - auto angle_unit_name = token.token().dimension_unit(); - auto angle_unit = Angle::unit_from_name(angle_unit_name); - if (!angle_unit.has_value()) - return {}; - Angle angle { angle_value, angle_unit.release_value() }; - return if_no_more_tokens_return(FilterOperation::HueRotate { angle }); + + if (auto angle = parse_angle(tokens); angle.has_value()) + return if_no_more_tokens_return(FilterOperation::HueRotate { angle.value() }); + + return {}; } else { // Simple filters: // brightness( ? ) @@ -5515,10 +5524,8 @@ RefPtr Parser::parse_filter_value_list_value(TokenStream? ) if (!tokens.has_next_token()) return FilterOperation::Color { filter_token_to_operation(filter_token) }; - auto amount = parse_number_percentage(tokens.consume_a_token()); - if (!amount.has_value()) - return {}; - return if_no_more_tokens_return(FilterOperation::Color { filter_token_to_operation(filter_token), *amount }); + auto amount = parse_number_percentage(tokens); + return if_no_more_tokens_return(FilterOperation::Color { filter_token_to_operation(filter_token), amount }); } }; diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h index df5a608f3b2..9316341c507 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.h @@ -202,6 +202,7 @@ private: Optional parse_length(TokenStream&); Optional parse_length_percentage(TokenStream&); Optional parse_number(TokenStream&); + Optional parse_number_percentage(TokenStream&); Optional parse_resolution(TokenStream&); Optional parse_time(TokenStream&); Optional parse_time_percentage(TokenStream&); diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.cpp b/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.cpp index e6fd46453a8..89704f3c84a 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.cpp @@ -15,30 +15,42 @@ namespace Web::CSS { float FilterOperation::Blur::resolved_radius(Layout::Node const& node) const { - // Default value when omitted is 0px. - auto sigma = 0; if (radius.has_value()) - sigma = radius->to_px(node).to_int(); - return sigma; + return radius->resolved(Length::ResolutionContext::for_layout_node(node)).to_px(node).to_float(); + + // Default value when omitted is 0px. + return 0; } -float FilterOperation::HueRotate::angle_degrees() const +float FilterOperation::HueRotate::angle_degrees(Layout::Node const& node) const { // Default value when omitted is 0deg. if (!angle.has_value()) return 0.0f; - return angle->visit([&](Angle const& a) { return a.to_degrees(); }, [&](auto) { return 0.0; }); + return angle->visit([&](AngleOrCalculated const& a) { return a.resolved(node).to_degrees(); }, [&](Zero) { return 0.0; }); } float FilterOperation::Color::resolved_amount() const { - if (amount.has_value()) { - if (amount->is_percentage()) - return amount->percentage().as_fraction(); + // Default value when omitted is 1. + if (!amount.has_value()) + return 1; + + if (amount->is_number()) return amount->number().value(); + + if (amount->is_percentage()) + return amount->percentage().as_fraction(); + + if (amount->is_calculated()) { + if (amount->calculated()->resolves_to_number()) + return amount->calculated()->resolve_number().value(); + + if (amount->calculated()->resolves_to_percentage()) + return amount->calculated()->resolve_percentage()->as_fraction(); } - // All color filters (brightness, sepia, etc) have a default amount of 1. - return 1.0f; + + VERIFY_NOT_REACHED(); } String FilterValueListStyleValue::to_string() const diff --git a/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.h b/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.h index 4fd66a801ea..4690ba805f1 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.h +++ b/Userland/Libraries/LibWeb/CSS/StyleValues/FilterValueListStyleValue.h @@ -10,6 +10,7 @@ #pragma once #include +#include #include #include #include @@ -19,16 +20,16 @@ namespace Web::CSS { namespace FilterOperation { struct Blur { - Optional radius {}; + Optional radius; float resolved_radius(Layout::Node const&) const; bool operator==(Blur const&) const = default; }; struct DropShadow { - Length offset_x; - Length offset_y; - Optional radius {}; - Optional color {}; + LengthOrCalculated offset_x; + LengthOrCalculated offset_y; + Optional radius; + Optional color; bool operator==(DropShadow const&) const = default; }; @@ -36,9 +37,9 @@ struct HueRotate { struct Zero { bool operator==(Zero const&) const = default; }; - using AngleOrZero = Variant; - Optional angle {}; - float angle_degrees() const; + using AngleOrZero = Variant; + Optional angle; + float angle_degrees(Layout::Node const&) const; bool operator==(HueRotate const&) const = default; }; diff --git a/Userland/Libraries/LibWeb/Layout/Node.cpp b/Userland/Libraries/LibWeb/Layout/Node.cpp index 49372e5711b..4d4df0068f6 100644 --- a/Userland/Libraries/LibWeb/Layout/Node.cpp +++ b/Userland/Libraries/LibWeb/Layout/Node.cpp @@ -523,12 +523,13 @@ void NodeWithStyle::apply_style(const CSS::StyleProperties& computed_style) .radius = blur.resolved_radius(*this) }); }, [&](CSS::FilterOperation::DropShadow const& drop_shadow) { + auto context = CSS::Length::ResolutionContext::for_layout_node(*this); // The default value for omitted values is missing length values set to 0 // and the missing used color is taken from the color property. resolved_filter.filters.append(CSS::ResolvedFilter::DropShadow { - .offset_x = drop_shadow.offset_x.to_px(*this).to_double(), - .offset_y = drop_shadow.offset_y.to_px(*this).to_double(), - .radius = drop_shadow.radius.has_value() ? drop_shadow.radius->to_px(*this).to_double() : 0.0, + .offset_x = drop_shadow.offset_x.resolved(context).to_px(*this).to_double(), + .offset_y = drop_shadow.offset_y.resolved(context).to_px(*this).to_double(), + .radius = drop_shadow.radius.has_value() ? drop_shadow.radius->resolved(context).to_px(*this).to_double() : 0.0, .color = drop_shadow.color.has_value() ? *drop_shadow.color : this->computed_values().color() }); }, [&](CSS::FilterOperation::Color const& color_operation) { @@ -537,7 +538,7 @@ void NodeWithStyle::apply_style(const CSS::StyleProperties& computed_style) .amount = color_operation.resolved_amount() }); }, [&](CSS::FilterOperation::HueRotate const& hue_rotate) { - resolved_filter.filters.append(CSS::ResolvedFilter::HueRotate { .angle_degrees = hue_rotate.angle_degrees() }); + resolved_filter.filters.append(CSS::ResolvedFilter::HueRotate { .angle_degrees = hue_rotate.angle_degrees(*this) }); }); } return resolved_filter;