From ca94df3c880890c57ce9926eef8db5bae7ba0fe6 Mon Sep 17 00:00:00 2001 From: Bastiaan van der Plaat Date: Tue, 5 Dec 2023 21:17:46 +0100 Subject: [PATCH] LibWeb: Clean up shadow root of meter element --- Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp | 6 +++++- Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp index 3acf20e87a..873b29e996 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp @@ -5,7 +5,6 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include #include #include #include @@ -188,6 +187,11 @@ void HTMLMeterElement::inserted() create_shadow_tree_if_needed(); } +void HTMLMeterElement::removed_from(DOM::Node*) +{ + set_shadow_root(nullptr); +} + void HTMLMeterElement::create_shadow_tree_if_needed() { if (shadow_root_internal()) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h index c95188c93f..391da7867e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h @@ -41,6 +41,7 @@ public: private: CSS::Selector::PseudoElement m_pseudo_element; }; + class HTMLMeterElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLMeterElement, HTMLElement); JS_DECLARE_ALLOCATOR(HTMLMeterElement); @@ -63,6 +64,7 @@ public: // ^HTMLElement virtual void inserted() override; + virtual void removed_from(DOM::Node*) override; // https://html.spec.whatwg.org/multipage/forms.html#category-label virtual bool is_labelable() const override { return true; }