1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 12:05:00 +00:00

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
parent 0f374afc8f
commit 191c87f1cd

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;