diff --git a/Libraries/LibWeb/CSS/ComputedProperties.cpp b/Libraries/LibWeb/CSS/ComputedProperties.cpp index fb351da93c9..97b2aeb4769 100644 --- a/Libraries/LibWeb/CSS/ComputedProperties.cpp +++ b/Libraries/LibWeb/CSS/ComputedProperties.cpp @@ -446,16 +446,6 @@ ClipRule ComputedProperties::clip_rule() const return keyword_to_fill_rule(value.to_keyword()).release_value(); } -Color ComputedProperties::flood_color(Layout::NodeWithStyle const& node) const -{ - auto const& value = property(PropertyID::FloodColor); - if (value.has_color()) { - return value.to_color(ColorResolutionContext::for_layout_node_with_style(node)).value(); - } - - return InitialValues::flood_color(); -} - float ComputedProperties::flood_opacity() const { auto const& value = property(PropertyID::FloodOpacity); diff --git a/Libraries/LibWeb/CSS/ComputedProperties.h b/Libraries/LibWeb/CSS/ComputedProperties.h index 8e9c5168b48..aeee3801305 100644 --- a/Libraries/LibWeb/CSS/ComputedProperties.h +++ b/Libraries/LibWeb/CSS/ComputedProperties.h @@ -193,7 +193,6 @@ public: float stroke_opacity() const; FillRule fill_rule() const; ClipRule clip_rule() const; - Color flood_color(Layout::NodeWithStyle const&) const; float flood_opacity() const; Gfx::FontCascadeList const& computed_font_list() const diff --git a/Libraries/LibWeb/Layout/Node.cpp b/Libraries/LibWeb/Layout/Node.cpp index f24ba87906e..bdad234fa70 100644 --- a/Libraries/LibWeb/Layout/Node.cpp +++ b/Libraries/LibWeb/Layout/Node.cpp @@ -666,7 +666,7 @@ void NodeWithStyle::apply_style(CSS::ComputedProperties const& computed_style) if (computed_style.filter().has_filters()) computed_values.set_filter(resolve_filter(computed_style.filter())); - computed_values.set_flood_color(computed_style.flood_color(*this)); + computed_values.set_flood_color(computed_style.color_or_fallback(CSS::PropertyID::FloodColor, CSS::ColorResolutionContext::for_layout_node_with_style(*this), CSS::InitialValues::flood_color())); computed_values.set_flood_opacity(computed_style.flood_opacity()); computed_values.set_justify_content(computed_style.justify_content()); diff --git a/Libraries/LibWeb/SVG/SVGFEFloodElement.cpp b/Libraries/LibWeb/SVG/SVGFEFloodElement.cpp index c65a0e8ac27..23faf60a248 100644 --- a/Libraries/LibWeb/SVG/SVGFEFloodElement.cpp +++ b/Libraries/LibWeb/SVG/SVGFEFloodElement.cpp @@ -38,11 +38,11 @@ GC::Ptr SVGFEFloodElement::create_layout_node(GC::Refcomputed_properties()) + return this->computed_properties()->color_or_fallback(CSS::PropertyID::FloodColor, CSS::ColorResolutionContext::for_element({ *this }), CSS::InitialValues::flood_color()); + return CSS::InitialValues::flood_color(); } // https://www.w3.org/TR/filter-effects-1/#FloodOpacityProperty diff --git a/Libraries/LibWeb/SVG/SVGFEFloodElement.h b/Libraries/LibWeb/SVG/SVGFEFloodElement.h index 0f7f4302435..73635c24db9 100644 --- a/Libraries/LibWeb/SVG/SVGFEFloodElement.h +++ b/Libraries/LibWeb/SVG/SVGFEFloodElement.h @@ -23,7 +23,7 @@ public: virtual GC::Ptr create_layout_node(GC::Ref) override; - Gfx::Color flood_color() const; + Gfx::Color flood_color(); float flood_opacity() const; private: diff --git a/Tests/LibWeb/Ref/expected/flood-color-ref.html b/Tests/LibWeb/Ref/expected/flood-color-ref.html new file mode 100644 index 00000000000..45391328c3b --- /dev/null +++ b/Tests/LibWeb/Ref/expected/flood-color-ref.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Tests/LibWeb/Ref/input/flood-color.html b/Tests/LibWeb/Ref/input/flood-color.html new file mode 100644 index 00000000000..5d8e5342429 --- /dev/null +++ b/Tests/LibWeb/Ref/input/flood-color.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +