diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs index be58a02cde4..e0da2b0734a 100644 --- a/src/components/script/dom/testbinding.rs +++ b/src/components/script/dom/testbinding.rs @@ -17,12 +17,10 @@ use servo_util::str::DOMString; use js::jsapi::JSContext; use js::jsval::{JSVal, NullValue}; -use std::cell::Cell; - #[deriving(Encodable)] pub struct TestBinding { reflector: Reflector, - global: Cell>, + global: JS, } pub trait TestBindingMethods { @@ -279,19 +277,19 @@ pub trait TestBindingMethods { impl<'a> TestBindingMethods for JSRef<'a, TestBinding> { fn InterfaceAttribute(&self) -> Temporary { - let global = self.global.get().root(); + let global = self.global.root(); Blob::new(&*global) } fn GetInterfaceAttributeNullable(&self) -> Option> { - let global = self.global.get().root(); + let global = self.global.root(); Some(Blob::new(&*global)) } fn ReceiveInterface(&self) -> Temporary { - let global = self.global.get().root(); + let global = self.global.root(); Blob::new(&*global) } fn ReceiveNullableInterface(&self) -> Option> { - let global = self.global.get().root(); + let global = self.global.root(); Some(Blob::new(&*global)) } } diff --git a/src/components/script/dom/xmlhttprequest.rs b/src/components/script/dom/xmlhttprequest.rs index 37d331c5ad9..50cc71b3513 100644 --- a/src/components/script/dom/xmlhttprequest.rs +++ b/src/components/script/dom/xmlhttprequest.rs @@ -102,7 +102,7 @@ pub struct XMLHttpRequest { ready_state: Traceable>, timeout: Traceable>, with_credentials: Traceable>, - upload: Cell>, + upload: JS, response_url: DOMString, status: Traceable>, status_text: Traceable>, @@ -136,7 +136,7 @@ impl XMLHttpRequest { ready_state: Traceable::new(Cell::new(Unsent)), timeout: Traceable::new(Cell::new(0u32)), with_credentials: Traceable::new(Cell::new(false)), - upload: Cell::new(JS::from_rooted(&XMLHttpRequestUpload::new(global))), + upload: JS::from_rooted(&XMLHttpRequestUpload::new(global)), response_url: "".to_string(), status: Traceable::new(Cell::new(0)), status_text: Traceable::new(RefCell::new(ByteString::new(vec!()))), @@ -434,7 +434,7 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> { self.with_credentials.deref().set(with_credentials); } fn Upload(&self) -> Temporary { - Temporary::new(self.upload.get()) + Temporary::new(self.upload) } fn Send(&self, data: Option) -> ErrorResult { if self.ready_state.deref().get() != Opened || self.send_flag.deref().get() { @@ -466,7 +466,7 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> { } // Step 8 - let upload_target = &*self.upload.get().root(); + let upload_target = &*self.upload.root(); let event_target: &JSRef = EventTargetCast::from_ref(upload_target); if event_target.has_handlers() { self.upload_events.deref().set(true); @@ -841,7 +841,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { fn dispatch_progress_event(&self, upload: bool, type_: DOMString, loaded: u64, total: Option) { let global = self.global.root(); - let upload_target = &*self.upload.get().root(); + let upload_target = &*self.upload.root(); let progressevent = ProgressEvent::new(&*global, type_, false, false, total.is_some(), loaded,