LibWeb: Handle 'default' value state for input elements

For buttons and the hidden state the value IDL call must return the
empty string if there is no value, and the elements value attribute
otherwise.
This commit is contained in:
Shannon Booth 2023-08-26 13:33:51 +12:00 committed by Andreas Kling
commit 191c87f1cd
Notes: sideshowbarker 2024-07-17 11:29:41 +09:00

View file

@ -317,6 +317,16 @@ DeprecatedString HTMLInputElement::value() const
return has_attribute(AttributeNames::value) ? get_attribute(AttributeNames::value) : "on";
}
// https://html.spec.whatwg.org/multipage/input.html#dom-input-value-default
if (type_state() == TypeAttributeState::Hidden
|| type_state() == TypeAttributeState::SubmitButton
|| type_state() == TypeAttributeState::ImageButton
|| type_state() == TypeAttributeState::ResetButton
|| type_state() == TypeAttributeState::Button) {
// On getting, if the element has a value content attribute, return that attribute's value; otherwise, return the empty string.
return has_attribute(AttributeNames::value) ? get_attribute(AttributeNames::value) : DeprecatedString::empty();
}
// https://html.spec.whatwg.org/multipage/input.html#dom-input-value-value
// Return the current value of the element.
return m_value;