Index: Source/core/html/HTMLFormControlElement.h |
diff --git a/Source/core/html/HTMLFormControlElement.h b/Source/core/html/HTMLFormControlElement.h |
index eba4a9f1357a8d11d90f291abc02af68f66a6288..d068974546ca51b847689b2cbd4ab4e136573f0e 100644 |
--- a/Source/core/html/HTMLFormControlElement.h |
+++ b/Source/core/html/HTMLFormControlElement.h |
@@ -34,6 +34,7 @@ |
class ValidationMessageClient; |
enum CheckValidityEventBehavior { CheckValidityDispatchNoEvent, CheckValidityDispatchInvalidEvent }; |
+enum ValidityRecalcReason { ElementAddition, ElementRemoval, ElementModification }; |
// HTMLFormControlElement is the default implementation of FormAssociatedElement, |
// and form-associated element implementations should use HTMLFormControlElement |
@@ -168,7 +169,9 @@ |
ValidationMessageClient* validationMessageClient() const; |
// Requests validity recalc for the form owner, if one exists. |
- void formOwnerSetNeedsValidityCheck(); |
+ // In case of removal, isValid specifies element validity upon removal. |
+ // In case of addition and modification, it specifies new validity. |
+ void formOwnerSetNeedsValidityCheck(ValidityRecalcReason, bool isValid); |
// Requests validity recalc for all ancestor fieldsets, if exist. |
void fieldSetAncestorsSetNeedsValidityCheck(Node*); |
@@ -190,8 +193,8 @@ |
mutable bool m_willValidate : 1; |
// Cache of valid(). |
+ // But "candidate for constraint validation" doesn't affect m_isValid. |
bool m_isValid : 1; |
- bool m_validityIsDirty : 1; |
bool m_wasChangedSinceLastFormControlChangeEvent : 1; |
bool m_wasFocusedByMouse : 1; |