Remove global field from FormData

This commit is contained in:
Chad Kimes 2016-01-10 22:01:04 -05:00
parent d90141a8f6
commit 0d217b5f71

View file

@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::FormDataBinding;
use dom::bindings::codegen::Bindings::FormDataBinding::FormDataMethods;
use dom::bindings::codegen::UnionTypes::BlobOrUSVString::{self, eBlob, eUSVString};
use dom::bindings::error::{Fallible};
use dom::bindings::global::{GlobalField, GlobalRef};
use dom::bindings::global::{GlobalRef, global_root_from_reflector};
use dom::bindings::inheritance::Castable;
use dom::bindings::js::{JS, Root};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
@ -32,22 +32,20 @@ pub enum FormDatum {
pub struct FormData {
reflector_: Reflector,
data: DOMRefCell<HashMap<Atom, Vec<FormDatum>>>,
global: GlobalField,
form: Option<JS<HTMLFormElement>>
}
impl FormData {
fn new_inherited(form: Option<&HTMLFormElement>, global: GlobalRef) -> FormData {
fn new_inherited(form: Option<&HTMLFormElement>) -> FormData {
FormData {
reflector_: Reflector::new(),
data: DOMRefCell::new(HashMap::new()),
global: GlobalField::from_rooted(&global),
form: form.map(|f| JS::from_ref(f)),
}
}
pub fn new(form: Option<&HTMLFormElement>, global: GlobalRef) -> Root<FormData> {
reflect_dom_object(box FormData::new_inherited(form, global),
reflect_dom_object(box FormData::new_inherited(form),
global, FormDataBinding::Wrap)
}
@ -128,7 +126,7 @@ impl FormData {
fn get_file_or_blob(&self, value: &Blob, filename: Option<USVString>) -> Root<Blob> {
match filename {
Some(fname) => {
let global = self.global.root();
let global = global_root_from_reflector(self);
let name = DOMString::from(fname.0);
Root::upcast(File::new(global.r(), value, name))
}