diff --git a/Userland/Libraries/LibWeb/DOM/Element.cpp b/Userland/Libraries/LibWeb/DOM/Element.cpp index 4bcec44e8ed..5ce4de7a45d 100644 --- a/Userland/Libraries/LibWeb/DOM/Element.cpp +++ b/Userland/Libraries/LibWeb/DOM/Element.cpp @@ -1930,8 +1930,10 @@ void Element::invalidate_style_after_attribute_change(FlyString const& attribute // FIXME: Only invalidate if the attribute can actually affect style. (void)attribute_name; - // FIXME: This will need to become smarter when we implement the :has() selector. - invalidate_style(StyleInvalidationReason::ElementAttributeChange); + if (document().style_computer().has_has_selectors()) + document().invalidate_style(StyleInvalidationReason::ElementAttributeChange); + else + invalidate_style(StyleInvalidationReason::ElementAttributeChange); } // https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion