diff --git a/Userland/Libraries/LibWeb/CSS/CSSRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSRule.cpp index 79872b5b700..653b8a0a1c1 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSRule.cpp @@ -41,11 +41,18 @@ void CSSRule::set_css_text(StringView) void CSSRule::set_parent_rule(CSSRule* parent_rule) { m_parent_rule = parent_rule; + clear_caches(); } void CSSRule::set_parent_style_sheet(CSSStyleSheet* parent_style_sheet) { m_parent_style_sheet = parent_style_sheet; + clear_caches(); +} + +void CSSRule::clear_caches() +{ + m_cached_layer_name.clear(); } FlyString const& CSSRule::parent_layer_internal_qualified_name_slow_case() const diff --git a/Userland/Libraries/LibWeb/CSS/CSSRule.h b/Userland/Libraries/LibWeb/CSS/CSSRule.h index 28929d41f46..c84527f35a2 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSRule.h @@ -60,6 +60,8 @@ protected: virtual void visit_edges(Cell::Visitor&) override; + virtual void clear_caches(); + [[nodiscard]] FlyString const& parent_layer_internal_qualified_name() const { if (!m_cached_layer_name.has_value())