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