From 916e24de30b8a983816239487e778873b90afe00 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 5 Sep 2025 14:07:53 +0100 Subject: [PATCH] LibWeb/CSS: Take AbstractElement in resolve_unresolved_properties() --- Libraries/LibWeb/CSS/CascadedProperties.cpp | 5 ++--- Libraries/LibWeb/CSS/CascadedProperties.h | 2 +- Libraries/LibWeb/CSS/StyleComputer.cpp | 5 ++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Libraries/LibWeb/CSS/CascadedProperties.cpp b/Libraries/LibWeb/CSS/CascadedProperties.cpp index 21150c05247..4ecee398e69 100644 --- a/Libraries/LibWeb/CSS/CascadedProperties.cpp +++ b/Libraries/LibWeb/CSS/CascadedProperties.cpp @@ -59,14 +59,13 @@ void CascadedProperties::revert_layer_property(PropertyID property_id, Important m_properties.remove(it); } -void CascadedProperties::resolve_unresolved_properties(GC::Ref element, Optional pseudo_element) +void CascadedProperties::resolve_unresolved_properties(DOM::AbstractElement abstract_element) { for (auto& [property_id, entries] : m_properties) { for (auto& entry : entries) { if (!entry.property.value->is_unresolved()) continue; - DOM::AbstractElement abstract_element { element, pseudo_element }; - entry.property.value = Parser::Parser::resolve_unresolved_style_value(Parser::ParsingParams { element->document() }, abstract_element, property_id, entry.property.value->as_unresolved()); + entry.property.value = Parser::Parser::resolve_unresolved_style_value(Parser::ParsingParams { abstract_element.document() }, abstract_element, property_id, entry.property.value->as_unresolved()); } } } diff --git a/Libraries/LibWeb/CSS/CascadedProperties.h b/Libraries/LibWeb/CSS/CascadedProperties.h index ca583aa1c4d..bd84ea18257 100644 --- a/Libraries/LibWeb/CSS/CascadedProperties.h +++ b/Libraries/LibWeb/CSS/CascadedProperties.h @@ -33,7 +33,7 @@ public: void revert_property(PropertyID, Important, CascadeOrigin); void revert_layer_property(PropertyID, Important, Optional layer_name); - void resolve_unresolved_properties(GC::Ref, Optional); + void resolve_unresolved_properties(DOM::AbstractElement); private: CascadedProperties(); diff --git a/Libraries/LibWeb/CSS/StyleComputer.cpp b/Libraries/LibWeb/CSS/StyleComputer.cpp index 44345604ed6..b34fca2165a 100644 --- a/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -1567,9 +1567,8 @@ GC::Ref StyleComputer::compute_cascaded_values(DOM::Element& } // SVG presentation attributes are parsed as CSS values, so we need to handle potential custom properties here. - if (element.is_svg_element()) { - cascaded_properties->resolve_unresolved_properties(element, pseudo_element); - } + if (element.is_svg_element()) + cascaded_properties->resolve_unresolved_properties({ element, pseudo_element }); } // Normal author declarations, ordered by @layer, with un-@layer-ed rules last