1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:58:11 +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

@ -52,6 +52,12 @@ public:
// https://html.spec.whatwg.org/multipage/forms.html#category-autocapitalize
virtual bool is_auto_capitalize_inheriting() const override { return true; }
// https://html.spec.whatwg.org/multipage/forms.html#concept-button
// https://html.spec.whatwg.org/multipage/form-elements.html#the-button-element:concept-button
virtual bool is_button() const override { return true; }
virtual bool is_submit_button() const override;
// ^HTMLElement
// https://html.spec.whatwg.org/multipage/forms.html#category-label
virtual bool is_labelable() const override { return true; }
@ -59,6 +65,8 @@ public:
// https://www.w3.org/TR/html-aria/#el-button
virtual Optional<ARIA::Role> default_role() const override { return ARIA::Role::button; }
virtual DeprecatedString value() const override;
private:
HTMLButtonElement(DOM::Document&, DOM::QualifiedName);