From bdf0254b1679ed2d041fccdf6b3d7fb1313e0405 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 15 Feb 2022 19:15:11 +0100 Subject: [PATCH] LibWeb: Add Element::did_remove_attribute() virtual This allows subclasses to react to DOM attributes being removed. --- Userland/Libraries/LibWeb/DOM/Element.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Element.h | 1 + 2 files changed, 3 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/Element.cpp b/Userland/Libraries/LibWeb/DOM/Element.cpp index 3725aa98188..9f42142c2de 100644 --- a/Userland/Libraries/LibWeb/DOM/Element.cpp +++ b/Userland/Libraries/LibWeb/DOM/Element.cpp @@ -161,6 +161,8 @@ void Element::remove_attribute(const FlyString& name) { m_attributes->remove_attribute(name); + did_remove_attribute(name); + // FIXME: Invalidate less. document().invalidate_style(); } diff --git a/Userland/Libraries/LibWeb/DOM/Element.h b/Userland/Libraries/LibWeb/DOM/Element.h index 4242c6d5ebc..03a6fecff1b 100644 --- a/Userland/Libraries/LibWeb/DOM/Element.h +++ b/Userland/Libraries/LibWeb/DOM/Element.h @@ -83,6 +83,7 @@ public: virtual void apply_presentational_hints(CSS::StyleProperties&) const { } virtual void parse_attribute(const FlyString& name, const String& value); + virtual void did_remove_attribute(FlyString const&) { } void recompute_style();