diff --git a/content/html/content/src/nsHTMLObjectElement.cpp b/content/html/content/src/nsHTMLObjectElement.cpp
index 6e9962f93217..a39b19c8bbb2 100644
--- a/content/html/content/src/nsHTMLObjectElement.cpp
+++ b/content/html/content/src/nsHTMLObjectElement.cpp
@@ -103,6 +103,7 @@ public:
virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const;
NS_IMETHOD_(PRBool) IsAttributeMapped(const nsIAtom *aAttribute) const;
virtual PRInt32 IntrinsicState() const;
+ virtual void DestroyContent();
// nsObjectLoadingContent
virtual PRUint32 GetCapabilities() const;
@@ -436,3 +437,10 @@ nsHTMLObjectElement::GetCapabilities() const
{
return nsObjectLoadingContent::GetCapabilities() | eSupportClassID;
}
+
+void
+nsHTMLObjectElement::DestroyContent()
+{
+ RemovedFromDocument();
+ nsGenericHTMLFormElement::DestroyContent();
+}
diff --git a/content/html/content/src/nsHTMLSharedObjectElement.cpp b/content/html/content/src/nsHTMLSharedObjectElement.cpp
index 7cd34261b1b6..1d399dbe656c 100644
--- a/content/html/content/src/nsHTMLSharedObjectElement.cpp
+++ b/content/html/content/src/nsHTMLSharedObjectElement.cpp
@@ -122,6 +122,7 @@ public:
virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const;
NS_IMETHOD_(PRBool) IsAttributeMapped(const nsIAtom *aAttribute) const;
virtual PRInt32 IntrinsicState() const;
+ virtual void DestroyContent();
// nsObjectLoadingContent
virtual PRUint32 GetCapabilities() const;
@@ -440,3 +441,10 @@ nsHTMLSharedObjectElement::GetCapabilities() const
return capabilities;
}
+
+void
+nsHTMLSharedObjectElement::DestroyContent()
+{
+ RemovedFromDocument();
+ nsGenericHTMLElement::DestroyContent();
+}