aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/formdata.rs
diff options
context:
space:
mode:
authorJack Moffitt <jack@metajack.im>2014-11-05 12:33:11 -0700
committerGlenn Watson <gw@intuitionlibrary.com>2014-11-13 11:17:43 +1000
commitd1b433a3b3bab353f320b2f39fa953ce326d2d55 (patch)
treed7a197abb65827b36c47e6b5c3adcce9071643d3 /components/script/dom/formdata.rs
parent26045d7fcbab8851fbefe2851cd904203f8fd8dd (diff)
downloadservo-d1b433a3b3bab353f320b2f39fa953ce326d2d55.tar.gz
servo-d1b433a3b3bab353f320b2f39fa953ce326d2d55.zip
Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a
Diffstat (limited to 'components/script/dom/formdata.rs')
-rw-r--r--components/script/dom/formdata.rs19
1 files changed, 14 insertions, 5 deletions
diff --git a/components/script/dom/formdata.rs b/components/script/dom/formdata.rs
index 7642ebab0d4..9a9bac37f55 100644
--- a/components/script/dom/formdata.rs
+++ b/components/script/dom/formdata.rs
@@ -15,7 +15,8 @@ use dom::blob::Blob;
use dom::file::File;
use dom::htmlformelement::HTMLFormElement;
use servo_util::str::DOMString;
-use std::collections::hashmap::HashMap;
+use std::collections::HashMap;
+use std::collections::hash_map::{Occupied, Vacant};
#[deriving(Clone)]
#[jstraceable]
@@ -57,13 +58,21 @@ impl<'a> FormDataMethods for JSRef<'a, FormData> {
#[allow(unrooted_must_root)]
fn Append(self, name: DOMString, value: JSRef<Blob>, filename: Option<DOMString>) {
let file = FileData(JS::from_rooted(self.get_file_from_blob(value, filename)));
- self.data.borrow_mut().insert_or_update_with(name.clone(), vec!(file.clone()),
- |_k, v| {v.push(file.clone());});
+ let mut data = self.data.borrow_mut();
+ match data.entry(name) {
+ Occupied(entry) => entry.into_mut().push(file),
+ Vacant(entry) => {
+ entry.set(vec!(file));
+ }
+ }
}
fn Append_(self, name: DOMString, value: DOMString) {
- self.data.borrow_mut().insert_or_update_with(name, vec!(StringData(value.clone())),
- |_k, v| {v.push(StringData(value.clone()));});
+ let mut data = self.data.borrow_mut();
+ match data.entry(name) {
+ Occupied(entry) => entry.into_mut().push(StringData(value)),
+ Vacant (entry) => { entry.set(vec!(StringData(value))); },
+ }
}
fn Delete(self, name: DOMString) {