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

LibWeb: Fix up constructing the form entry list

In particular:
- Don't include none submitter buttons.
- Use type_state() instead type() to avoid direct string comparisons
- Support the hidden _charset_ input
- Get form associated element's value directly instead of via the value
  attribute
- Split line break normalization into a separate function so that it
  can also be used by form submission.
This commit is contained in:
Luke Wilde 2023-06-18 15:08:15 +01:00 committed by Andreas Kling
parent f154446a9f
commit c9c1ddd0bb
8 changed files with 101 additions and 30 deletions

View file

@ -99,4 +99,20 @@ i32 HTMLButtonElement::default_tab_index_value() const
return 0;
}
// https://html.spec.whatwg.org/multipage/forms.html#concept-submit-button
// https://html.spec.whatwg.org/multipage/form-elements.html#the-button-element:concept-submit-button
bool HTMLButtonElement::is_submit_button() const
{
// If the type attribute is in the Submit Button state, the element is specifically a submit button.
return type_state() == TypeAttributeState::Submit;
}
// https://html.spec.whatwg.org/multipage/form-elements.html#the-button-element:concept-fe-value
DeprecatedString HTMLButtonElement::value() const
{
if (!has_attribute(AttributeNames::value))
return DeprecatedString::empty();
return attribute(AttributeNames::value);
}
}