Forráskód Böngészése

LibWeb: Destroy associated navigable when <object> is removed from DOM

Aliaksandr Kalenik 1 éve
szülő
commit
68440ed02d

+ 5 - 0
Userland/Libraries/LibWeb/HTML/HTMLObjectElement.cpp

@@ -68,6 +68,11 @@ void HTMLObjectElement::form_associated_element_attribute_changed(FlyString cons
     }
     }
 }
 }
 
 
+void HTMLObjectElement::form_associated_element_was_removed(DOM::Node*)
+{
+    destroy_the_child_navigable();
+}
+
 // https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-object-data
 // https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-object-data
 String HTMLObjectElement::data() const
 String HTMLObjectElement::data() const
 {
 {

+ 1 - 0
Userland/Libraries/LibWeb/HTML/HTMLObjectElement.h

@@ -36,6 +36,7 @@ public:
     virtual ~HTMLObjectElement() override;
     virtual ~HTMLObjectElement() override;
 
 
     virtual void form_associated_element_attribute_changed(FlyString const& name, Optional<String> const& value) override;
     virtual void form_associated_element_attribute_changed(FlyString const& name, Optional<String> const& value) override;
+    virtual void form_associated_element_was_removed(DOM::Node*) override;
 
 
     String data() const;
     String data() const;
     void set_data(String const& data) { MUST(set_attribute(HTML::AttributeNames::data, data)); }
     void set_data(String const& data) { MUST(set_attribute(HTML::AttributeNames::data, data)); }