diff options
author | Josh Matthews <josh@joshmatthews.net> | 2015-01-25 10:44:28 -0500 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2015-04-16 11:46:39 -0400 |
commit | 1644436557f8252368cc099d8d952d6e3796c989 (patch) | |
tree | 2ee7a14d7d14d0ffeaecffd2c2b79e05daef7122 /components/script/dom/xmlhttprequest.rs | |
parent | 7fddf4aa13e3480da16557442768b3125bdbfcb5 (diff) | |
download | servo-1644436557f8252368cc099d8d952d6e3796c989.tar.gz servo-1644436557f8252368cc099d8d952d6e3796c989.zip |
Start switching net/ to use abstractions over channels to allow introducing non-channel communication in the future.
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 5d0f76e5463..8cf605ece13 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -44,7 +44,7 @@ use js::jsval::{JSVal, NullValue, UndefinedValue}; use net_traits::ControlMsg::Load; use net_traits::ProgressMsg::{Payload, Done}; -use net_traits::{ResourceTask, ResourceCORSData, LoadData, LoadResponse}; +use net_traits::{ResourceTask, ResourceCORSData, LoadData, LoadConsumer}; use cors::{allow_cross_origin_request, CORSRequest, RequestMode}; use util::str::DOMString; use util::task::spawn_named; @@ -213,8 +213,8 @@ impl XMLHttpRequest { #[allow(unsafe_code)] fn fetch(fetch_type: &SyncOrAsync, resource_task: ResourceTask, mut load_data: LoadData, terminate_receiver: Receiver<TerminateReason>, - cors_request: Result<Option<CORSRequest>,()>, gen_id: GenerationId, - start_port: Receiver<LoadResponse>) -> ErrorResult { + cors_request: Result<Option<CORSRequest>,()>, gen_id: GenerationId) + -> ErrorResult { fn notify_partial_progress(fetch_type: &SyncOrAsync, msg: XHRProgress) { match *fetch_type { @@ -283,7 +283,8 @@ impl XMLHttpRequest { } // Step 10, 13 - resource_task.send(Load(load_data)).unwrap(); + let (start_chan, start_port) = channel(); + resource_task.send(Load(load_data, LoadConsumer::Channel(start_chan))).unwrap(); let progress_port; @@ -579,8 +580,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { let global = self.global.root(); let resource_task = global.r().resource_task(); - let (start_chan, start_port) = channel(); - let mut load_data = LoadData::new(self.request_url.borrow().clone().unwrap(), start_chan); + let mut load_data = LoadData::new(self.request_url.borrow().clone().unwrap()); load_data.data = extracted; #[inline] @@ -650,7 +650,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { let gen_id = self.generation_id.get(); if self.sync.get() { return XMLHttpRequest::fetch(&mut SyncOrAsync::Sync(self), resource_task, load_data, - terminate_receiver, cors_request, gen_id, start_port); + terminate_receiver, cors_request, gen_id); } else { self.fetch_time.set(time::now().to_timespec().sec); let script_chan = global.r().script_chan(); @@ -665,8 +665,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { load_data, terminate_receiver, cors_request, - gen_id, - start_port); + gen_id); }); let timeout = self.timeout.get(); if timeout > 0 { |