Index: Source/core/html/HTMLFormElement.cpp |
diff --git a/Source/core/html/HTMLFormElement.cpp b/Source/core/html/HTMLFormElement.cpp |
index 797232f9ac5d1df180694d38a0f9816143943a66..280d63e16ed67e93e20ae49419bf82ce30da9102 100644 |
--- a/Source/core/html/HTMLFormElement.cpp |
+++ b/Source/core/html/HTMLFormElement.cpp |
@@ -82,7 +82,12 @@ PassRefPtr<HTMLFormElement> HTMLFormElement::create(Document& document) |
HTMLFormElement::~HTMLFormElement() |
{ |
+#if !ENABLE(OILPAN) |
+ // With Oilpan, either removedFrom is called or the document and |
+ // form controller are dead as well and there is no need to remove |
+ // this form element from it. |
document().formController().willDeleteForm(this); |
+#endif |
} |
bool HTMLFormElement::rendererIsNeeded(const RenderStyle& style) |
@@ -160,6 +165,9 @@ void HTMLFormElement::removedFrom(ContainerNode* insertionPoint) |
} |
} |
HTMLElement::removedFrom(insertionPoint); |
+#if ENABLE(OILAPN) |
+ document().formController().willDeleteForm(this); |
+#endif |
} |
void HTMLFormElement::handleLocalEvents(Event* event) |