Bug 1264157 - Do not match disabled/readonly inputs with :in-range and :out-of-range. r=bz

This commit is contained in:
Thomas Wisniewski
2016-07-10 14:37:00 -04:00
parent 0b346bcdea
commit 97bd247b82
3 changed files with 99 additions and 8 deletions

View File

@@ -6781,20 +6781,20 @@ HTMLInputElement::IntrinsicState() const
!mCanShowInvalidUI)))) {
state |= NS_EVENT_STATE_MOZ_UI_VALID;
}
// :in-range and :out-of-range only apply if the element currently has a range
if (mHasRange) {
state |= (GetValidityState(VALIDITY_STATE_RANGE_OVERFLOW) ||
GetValidityState(VALIDITY_STATE_RANGE_UNDERFLOW))
? NS_EVENT_STATE_OUTOFRANGE
: NS_EVENT_STATE_INRANGE;
}
}
if (mForm && !mForm->GetValidity() && IsSubmitControl()) {
state |= NS_EVENT_STATE_MOZ_SUBMITINVALID;
}
// :in-range and :out-of-range only apply if the element currently has a range.
if (mHasRange) {
state |= (GetValidityState(VALIDITY_STATE_RANGE_OVERFLOW) ||
GetValidityState(VALIDITY_STATE_RANGE_UNDERFLOW))
? NS_EVENT_STATE_OUTOFRANGE
: NS_EVENT_STATE_INRANGE;
}
return state;
}