Bug 893909 - Part n: Cleanup HTMLSelectElement::IsValueMissing; r=dzbarsky

This commit is contained in:
Ms2ger 2013-07-24 09:37:36 +02:00
parent 216dc6c1fe
commit cbdb1736bd

View File

@ -1744,30 +1744,24 @@ HTMLSelectElement::RebuildOptionsArray(bool aNotify)
bool
HTMLSelectElement::IsValueMissing()
{
if (!HasAttr(kNameSpaceID_None, nsGkAtoms::required)) {
if (!Required()) {
return false;
}
uint32_t length;
mOptions->GetLength(&length);
uint32_t length = Length();
for (uint32_t i = 0; i < length; ++i) {
nsIDOMHTMLOptionElement* option = mOptions->ItemAsOption(i);
bool selected;
NS_ENSURE_SUCCESS(option->GetSelected(&selected), false);
if (!selected) {
nsRefPtr<HTMLOptionElement> option = Item(i);
if (!option->Selected()) {
continue;
}
bool disabled;
IsOptionDisabled(i, &disabled);
if (disabled) {
if (IsOptionDisabled(option)) {
continue;
}
nsAutoString value;
NS_ENSURE_SUCCESS(option->GetValue(value), false);
MOZ_ALWAYS_TRUE(NS_SUCCEEDED(option->GetValue(value)));
if (!value.IsEmpty()) {
return false;
}