Parcourir la source

LibWeb: Clean up shadow root of meter element

Bastiaan van der Plaat il y a 1 an
Parent
commit
ca94df3c88

+ 5 - 1
Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp

@@ -5,7 +5,6 @@
  * SPDX-License-Identifier: BSD-2-Clause
  */
 
-#include <LibWeb/Bindings/Intrinsics.h>
 #include <LibWeb/DOM/Document.h>
 #include <LibWeb/DOM/ShadowRoot.h>
 #include <LibWeb/HTML/HTMLMeterElement.h>
@@ -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())

+ 2 - 0
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; }