diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2019-07-16 15:10:21 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2019-08-17 10:03:44 +0200 |
commit | 939218000784d5909ddb4808015a370d7e47b0d4 (patch) | |
tree | aabb02b7766bc71a68109c92e75aa9573708f87c /components/script/dom/htmlformelement.rs | |
parent | ff3f3d30c741eb8d73d6a39421cbfc7451ec97ee (diff) | |
download | servo-939218000784d5909ddb4808015a370d7e47b0d4.tar.gz servo-939218000784d5909ddb4808015a370d7e47b0d4.zip |
Update to url 2.0
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rwxr-xr-x | components/script/dom/htmlformelement.rs | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 603ebf69f56..b09804e397c 100755 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -63,8 +63,6 @@ use std::borrow::ToOwned; use std::cell::Cell; use style::attr::AttrValue; use style::str::split_html_space_chars; -use url::form_urlencoded::Serializer; -use url::UrlQuery; #[derive(Clone, Copy, JSTraceable, MallocSizeOf, PartialEq)] pub struct GenerationId(u32); @@ -463,13 +461,12 @@ impl HTMLFormElement { ) { let charset = encoding.name(); - self.set_encoding_override(load_data.url.as_mut_url().query_pairs_mut()) - .clear() - .extend_pairs( - form_data - .into_iter() - .map(|field| (field.name.clone(), field.replace_value(charset))), - ); + self.set_url_query_pairs( + &mut load_data.url, + form_data + .iter() + .map(|field| (&*field.name, field.replace_value(charset))), + ); self.plan_to_navigate(load_data, target); } @@ -492,13 +489,12 @@ impl HTMLFormElement { .typed_insert(ContentType::from(mime::APPLICATION_WWW_FORM_URLENCODED)); let mut url = load_data.url.clone(); - self.set_encoding_override(url.as_mut_url().query_pairs_mut()) - .clear() - .extend_pairs( - form_data - .into_iter() - .map(|field| (field.name.clone(), field.replace_value(charset))), - ); + self.set_url_query_pairs( + &mut url, + form_data + .iter() + .map(|field| (&*field.name, field.replace_value(charset))), + ); url.query().unwrap_or("").to_string().into_bytes() }, @@ -521,13 +517,17 @@ impl HTMLFormElement { self.plan_to_navigate(load_data, target); } - fn set_encoding_override<'a>( + fn set_url_query_pairs<'a>( &self, - mut serializer: Serializer<UrlQuery<'a>>, - ) -> Serializer<UrlQuery<'a>> { + url: &mut servo_url::ServoUrl, + pairs: impl Iterator<Item = (&'a str, String)>, + ) { let encoding = self.pick_encoding(); - serializer.custom_encoding_override(move |s| encoding.encode(s).0); - serializer + url.as_mut_url() + .query_pairs_mut() + .encoding_override(Some(&|s| encoding.encode(s).0)) + .clear() + .extend_pairs(pairs); } /// [Planned navigation](https://html.spec.whatwg.org/multipage/#planned-navigation) |