Index: Source/core/html/HTMLFormElement.cpp |
diff --git a/Source/core/html/HTMLFormElement.cpp b/Source/core/html/HTMLFormElement.cpp |
index bcd39c067668885e6dbdb5253fd757f530fd9ea9..c768e3a45852c1c8356a68f31010e80023e80ef0 100644 |
--- a/Source/core/html/HTMLFormElement.cpp |
+++ b/Source/core/html/HTMLFormElement.cpp |
@@ -78,7 +78,6 @@ HTMLFormElement::HTMLFormElement(Document& document) |
, m_shouldSubmit(false) |
, m_isInResetFunction(false) |
, m_wasDemoted(false) |
- , m_invalidControlsCount(0) |
, m_pendingAutocompleteEventsQueue(GenericEventQueue::create(this)) |
{ |
} |
@@ -714,31 +713,6 @@ HTMLFormControlElement* HTMLFormElement::defaultButton() const |
return 0; |
} |
-void HTMLFormElement::setNeedsValidityCheck(ValidityRecalcReason reason, bool isValid) |
-{ |
- bool formWasInvalid = m_invalidControlsCount > 0; |
- switch (reason) { |
- case ElementRemoval: |
- if (!isValid) |
- --m_invalidControlsCount; |
- break; |
- case ElementAddition: |
- if (!isValid) |
- ++m_invalidControlsCount; |
- break; |
- case ElementModification: |
- if (isValid) |
- --m_invalidControlsCount; |
- else |
- ++m_invalidControlsCount; |
- break; |
- } |
- if (formWasInvalid && !m_invalidControlsCount) |
- pseudoStateChanged(CSSSelector::PseudoValid); |
- if (!formWasInvalid && m_invalidControlsCount) |
- pseudoStateChanged(CSSSelector::PseudoInvalid); |
-} |
- |
bool HTMLFormElement::checkValidity() |
{ |
return !checkInvalidControlsAndCollectUnhandled(0, CheckValidityDispatchInvalidEvent); |
@@ -746,9 +720,6 @@ bool HTMLFormElement::checkValidity() |
bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(WillBeHeapVector<RefPtrWillBeMember<HTMLFormControlElement>>* unhandledInvalidControls, CheckValidityEventBehavior eventBehavior) |
{ |
- if (!unhandledInvalidControls && eventBehavior == CheckValidityDispatchNoEvent) |
- return m_invalidControlsCount; |
- |
RefPtrWillBeRawPtr<HTMLFormElement> protector(this); |
// Copy associatedElements because event handlers called from |
// HTMLFormControlElement::checkValidity() might change associatedElements. |
@@ -761,12 +732,13 @@ bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(WillBeHeapVector<R |
for (unsigned i = 0; i < elements.size(); ++i) { |
if (elements[i]->form() == this && elements[i]->isFormControlElement()) { |
HTMLFormControlElement* control = toHTMLFormControlElement(elements[i].get()); |
- if (!control->checkValidity(unhandledInvalidControls, eventBehavior) && control->formOwner() == this) |
+ if (!control->checkValidity(unhandledInvalidControls, eventBehavior) && control->formOwner() == this) { |
++invalidControlsCount; |
+ if (!unhandledInvalidControls && eventBehavior == CheckValidityDispatchNoEvent) |
+ return true; |
+ } |
} |
} |
- if (eventBehavior == CheckValidityDispatchNoEvent) |
- ASSERT(invalidControlsCount == m_invalidControlsCount); |
return invalidControlsCount; |
} |