diff options
Diffstat (limited to 'components/script/dom/formdata.rs')
-rw-r--r-- | components/script/dom/formdata.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/components/script/dom/formdata.rs b/components/script/dom/formdata.rs index 0de17b83107..1a9f1252f53 100644 --- a/components/script/dom/formdata.rs +++ b/components/script/dom/formdata.rs @@ -19,12 +19,14 @@ use std::cell::RefCell; use std::collections::hashmap::HashMap; #[deriving(Encodable, Clone)] +#[must_root] pub enum FormDatum { StringData(DOMString), FileData(JS<File>) } #[deriving(Encodable)] +#[must_root] pub struct FormData { data: Traceable<RefCell<HashMap<DOMString, Vec<FormDatum>>>>, reflector_: Reflector, @@ -53,6 +55,7 @@ impl FormData { } 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.deref().borrow_mut().insert_or_update_with(name.clone(), vec!(file.clone()), @@ -84,7 +87,7 @@ impl<'a> FormDataMethods for JSRef<'a, FormData> { fn Has(&self, name: DOMString) -> bool { self.data.deref().borrow().contains_key_equiv(&name) } - + #[allow(unrooted_must_root)] fn Set(&self, name: DOMString, value: &JSRef<Blob>, filename: Option<DOMString>) { let file = FileData(JS::from_rooted(&self.get_file_from_blob(value, filename))); self.data.deref().borrow_mut().insert(name, vec!(file)); |