aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlformelement.rs
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2019-07-16 15:10:21 +0200
committerSimon Sapin <simon.sapin@exyr.org>2019-08-17 10:03:44 +0200
commit939218000784d5909ddb4808015a370d7e47b0d4 (patch)
treeaabb02b7766bc71a68109c92e75aa9573708f87c /components/script/dom/htmlformelement.rs
parentff3f3d30c741eb8d73d6a39421cbfc7451ec97ee (diff)
downloadservo-939218000784d5909ddb4808015a370d7e47b0d4.tar.gz
servo-939218000784d5909ddb4808015a370d7e47b0d4.zip
Update to url 2.0
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rwxr-xr-xcomponents/script/dom/htmlformelement.rs42
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)