diff options
author | Simon Wülker <simon.wuelker@arcor.de> | 2024-11-28 01:54:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-28 00:54:03 +0000 |
commit | 9168375b337511e0b1f3e22cd55a790d7ec89956 (patch) | |
tree | 921d17d41e7c19289dde55e7723d0803e482ea10 /components/script/dom/htmlformelement.rs | |
parent | 612492b372c550533e1f3a51fe9e16eb44e73b2b (diff) | |
download | servo-9168375b337511e0b1f3e22cd55a790d7ec89956.tar.gz servo-9168375b337511e0b1f3e22cd55a790d7ec89956.zip |
Differentiate between missing/invalid value in `make_enumerated_getter!` (#34412)
* Create spec-compliant version of create_enumerated_getter
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Use new make_enumerated_getter! macro everywhere
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Remove old make_enumerated_getter macro
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Return lowercased value from make_enumerated_getter macro
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rw-r--r-- | components/script/dom/htmlformelement.rs | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 4fe3785d470..dd278cc8ad3 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -217,7 +217,13 @@ impl HTMLFormElementMethods<crate::DomTypeHolder> for HTMLFormElement { make_setter!(SetAction, "action"); // https://html.spec.whatwg.org/multipage/#dom-form-autocomplete - make_enumerated_getter!(Autocomplete, "autocomplete", "on", "off"); + make_enumerated_getter!( + Autocomplete, + "autocomplete", + "on" | "off", + missing => "on", + invalid => "on" + ); // https://html.spec.whatwg.org/multipage/#dom-form-autocomplete make_setter!(SetAutocomplete, "autocomplete"); @@ -226,8 +232,9 @@ impl HTMLFormElementMethods<crate::DomTypeHolder> for HTMLFormElement { make_enumerated_getter!( Enctype, "enctype", - "application/x-www-form-urlencoded", - "text/plain" | "multipart/form-data" + "application/x-www-form-urlencoded" | "text/plain" | "multipart/form-data", + missing => "application/x-www-form-urlencoded", + invalid => "application/x-www-form-urlencoded" ); // https://html.spec.whatwg.org/multipage/#dom-fs-enctype @@ -244,7 +251,13 @@ impl HTMLFormElementMethods<crate::DomTypeHolder> for HTMLFormElement { } // https://html.spec.whatwg.org/multipage/#dom-fs-method - make_enumerated_getter!(Method, "method", "get", "post" | "dialog"); + make_enumerated_getter!( + Method, + "method", + "get" | "post" | "dialog", + missing => "get", + invalid => "get" + ); // https://html.spec.whatwg.org/multipage/#dom-fs-method make_setter!(SetMethod, "method"); |