, m_isAutofilled(false)
, m_isReadOnly(false)
, m_isRequired(false)
- , m_valueMatchesRenderer(false)
, m_ancestorDisabledState(AncestorDisabledStateUnknown)
, m_dataListAncestorState(Unknown)
, m_willValidateInitialized(false)
HTMLFormControlElement::~HTMLFormControlElement()
{
+#if !ENABLE(OILPAN)
setForm(0);
+#endif
+}
+
+void HTMLFormControlElement::trace(Visitor* visitor)
+{
+ FormAssociatedElement::trace(visitor);
+ LabelableElement::trace(visitor);
}
String HTMLFormControlElement::formEnctype() const
void HTMLFormControlElement::removedFrom(ContainerNode* insertionPoint)
{
+ hideVisibleValidationMessage();
m_validationMessage = nullptr;
m_ancestorDisabledState = AncestorDisabledStateUnknown;
m_dataListAncestorState = Unknown;
m_validationMessage->requestToHideMessage();
}
-bool HTMLFormControlElement::checkValidity(Vector<RefPtr<FormAssociatedElement> >* unhandledInvalidControls, CheckValidityDispatchEvents dispatchEvents)
+bool HTMLFormControlElement::checkValidity(WillBeHeapVector<RefPtrWillBeMember<FormAssociatedElement> >* unhandledInvalidControls)
{
if (!willValidate() || isValidFormControlElement())
return true;
- if (dispatchEvents == CheckValidityDispatchEventsNone)
- return false;
// An event handler can deref this object.
- RefPtr<HTMLFormControlElement> protector(this);
- RefPtr<Document> originalDocument(document());
+ RefPtrWillBeRawPtr<HTMLFormControlElement> protector(this);
+ RefPtrWillBeRawPtr<Document> originalDocument(document());
bool needsDefaultAction = dispatchEvent(Event::createCancelable(EventTypeNames::invalid));
if (needsDefaultAction && unhandledInvalidControls && inDocument() && originalDocument == document())
unhandledInvalidControls->append(this);