diff options
author | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2014-12-19 02:37:20 +0900 |
---|---|---|
committer | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2014-12-19 04:52:48 +0900 |
commit | a7bb436177d58798711403f0329b8bf84763f137 (patch) | |
tree | 5f22ccc13b133ca5a7d31eac75013ef68b5434d9 /components/script/dom/xmlhttprequest.rs | |
parent | 824788649cd338c044d9396166af5b0f378d6685 (diff) | |
download | servo-a7bb436177d58798711403f0329b8bf84763f137.tar.gz servo-a7bb436177d58798711403f0329b8bf84763f137.zip |
script: Remove glob imports added in #4405
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 110 |
1 files changed, 52 insertions, 58 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 451c3ab8079..cd6d1850763 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -2,11 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use self::SyncOrAsync::*; -use self::TerminateReason::*; -use self::XHRProgress::*; -use self::XMLHttpRequestState::*; - use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding; @@ -18,7 +13,7 @@ use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::Error::{InvalidState, InvalidAccess}; use dom::bindings::error::Error::{Network, Syntax, Security, Abort, Timeout}; -use dom::bindings::global::{GlobalField, GlobalRef, WorkerRoot}; +use dom::bindings::global::{GlobalField, GlobalRef, GlobalRoot}; use dom::bindings::js::{MutNullableJS, JS, JSRef, Temporary, OptionalRootedRootable}; use dom::bindings::str::ByteString; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; @@ -30,8 +25,7 @@ use dom::urlsearchparams::URLSearchParamsHelpers; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTarget; use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId; use dom::xmlhttprequestupload::XMLHttpRequestUpload; -use script_task::ScriptChan; -use script_task::ScriptMsg::{XHRProgressMsg, XHRReleaseMsg}; +use script_task::{ScriptChan, ScriptMsg}; use encoding::all::UTF_8; use encoding::label::encoding_from_whatwg_label; @@ -85,22 +79,22 @@ pub struct GenerationId(uint); pub enum XHRProgress { /// Notify that headers have been received - HeadersReceivedMsg(GenerationId, Option<Headers>, Option<RawStatus>), + HeadersReceived(GenerationId, Option<Headers>, Option<RawStatus>), /// Partial progress (after receiving headers), containing portion of the response - LoadingMsg(GenerationId, ByteString), + Loading(GenerationId, ByteString), /// Loading is done - DoneMsg(GenerationId), + Done(GenerationId), /// There was an error (only Abort, Timeout or Network is used) - ErroredMsg(GenerationId, Error), + Errored(GenerationId, Error), } impl XHRProgress { fn generation_id(&self) -> GenerationId { match *self { - HeadersReceivedMsg(id, _, _) | - LoadingMsg(id, _) | - DoneMsg(id) | - ErroredMsg(id, _) => id + XHRProgress::HeadersReceived(id, _, _) | + XHRProgress::Loading(id, _) | + XHRProgress::Done(id) | + XHRProgress::Errored(id, _) => id } } } @@ -152,7 +146,7 @@ impl XMLHttpRequest { fn new_inherited(global: &GlobalRef) -> XMLHttpRequest { XMLHttpRequest { eventtarget: XMLHttpRequestEventTarget::new_inherited(XMLHttpRequestEventTargetTypeId::XMLHttpRequest), - ready_state: Cell::new(Unsent), + ready_state: Cell::new(XMLHttpRequestState::Unsent), timeout: Cell::new(0u32), with_credentials: Cell::new(false), upload: JS::from_rooted(XMLHttpRequestUpload::new(*global)), @@ -209,12 +203,12 @@ impl XMLHttpRequest { fn notify_partial_progress(fetch_type: &SyncOrAsync, msg: XHRProgress) { match *fetch_type { - Sync(xhr) => { + SyncOrAsync::Sync(xhr) => { xhr.process_partial_response(msg); }, - Async(addr, script_chan) => { + SyncOrAsync::Async(addr, script_chan) => { let ScriptChan(ref chan) = *script_chan; - chan.send(XHRProgressMsg(addr, msg)); + chan.send(ScriptMsg::XHRProgress(addr, msg)); } } } @@ -222,7 +216,7 @@ impl XMLHttpRequest { macro_rules! notify_error_and_return( ($err:expr) => ({ - notify_partial_progress(fetch_type, ErroredMsg(gen_id, $err)); + notify_partial_progress(fetch_type, XHRProgress::Errored(gen_id, $err)); return Err($err) }); ) @@ -230,10 +224,10 @@ impl XMLHttpRequest { macro_rules! terminate( ($reason:expr) => ( match $reason { - AbortedOrReopened => { + TerminateReason::AbortedOrReopened => { return Err(Abort) } - TimedOut => { + TerminateReason::TimedOut => { notify_error_and_return!(Timeout); } } @@ -292,7 +286,7 @@ impl XMLHttpRequest { _ => {} }; // XXXManishearth Clear cache entries in case of a network error - notify_partial_progress(fetch_type, HeadersReceivedMsg(gen_id, + notify_partial_progress(fetch_type, XHRProgress::HeadersReceived(gen_id, response.metadata.headers.clone(), response.metadata.status.clone())); progress_port = response.progress_port; @@ -318,10 +312,10 @@ impl XMLHttpRequest { Payload(data) => { buf.push_all(data.as_slice()); notify_partial_progress(fetch_type, - LoadingMsg(gen_id, ByteString::new(buf.clone()))); + XHRProgress::Loading(gen_id, ByteString::new(buf.clone()))); }, Done(Ok(())) => { - notify_partial_progress(fetch_type, DoneMsg(gen_id)); + notify_partial_progress(fetch_type, XHRProgress::Done(gen_id)); return Ok(()); }, Done(Err(_)) => { @@ -390,8 +384,8 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { self.status.set(0); // Step 13 - if self.ready_state.get() != Opened { - self.change_ready_state(Opened); + if self.ready_state.get() != XMLHttpRequestState::Opened { + self.change_ready_state(XMLHttpRequestState::Opened); } Ok(()) }, @@ -406,7 +400,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { self.Open(method, url) } fn SetRequestHeader(self, name: ByteString, mut value: ByteString) -> ErrorResult { - if self.ready_state.get() != Opened || self.send_flag.get() { + if self.ready_state.get() != XMLHttpRequestState::Opened || self.send_flag.get() { return Err(InvalidState); // Step 1, 2 } if !name.is_token() || !value.is_field_value() { @@ -488,7 +482,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { Temporary::new(self.upload) } fn Send(self, data: Option<SendParam>) -> ErrorResult { - if self.ready_state.get() != Opened || self.send_flag.get() { + if self.ready_state.get() != XMLHttpRequestState::Opened || self.send_flag.get() { return Err(InvalidState); // Step 1, 2 } @@ -609,13 +603,13 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { let gen_id = self.generation_id.get(); if self.sync.get() { - return XMLHttpRequest::fetch(&mut Sync(self), resource_task, load_data, + return XMLHttpRequest::fetch(&mut SyncOrAsync::Sync(self), resource_task, load_data, terminate_receiver, cors_request, gen_id, start_port); } else { self.fetch_time.set(time::now().to_timespec().sec); let script_chan = global.root_ref().script_chan().clone(); // Pin the object before launching the fetch task. - // The XHRReleaseMsg sent when the fetch task completes will + // The `ScriptMsg::XHRRelease` sent when the fetch task completes will // unpin it. This is to ensure that the object will stay alive // as long as there are (possibly cancelled) inflight events queued up // in the script task's port @@ -623,7 +617,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { self.to_trusted() }; spawn_named("XHRTask", proc() { - let _ = XMLHttpRequest::fetch(&mut Async(addr, &script_chan), + let _ = XMLHttpRequest::fetch(&mut SyncOrAsync::Async(addr, &script_chan), resource_task, load_data, terminate_receiver, @@ -631,7 +625,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { gen_id, start_port); let ScriptChan(ref chan) = script_chan; - chan.send(XHRReleaseMsg(addr)); + chan.send(ScriptMsg::XHRRelease(addr)); }); let timeout = self.timeout.get(); if timeout > 0 { @@ -643,18 +637,18 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { fn Abort(self) { self.terminate_ongoing_fetch(); let state = self.ready_state.get(); - if (state == Opened && self.send_flag.get()) || - state == HeadersReceived || - state == Loading { + if (state == XMLHttpRequestState::Opened && self.send_flag.get()) || + state == XMLHttpRequestState::HeadersReceived || + state == XMLHttpRequestState::Loading { let gen_id = self.generation_id.get(); - self.process_partial_response(ErroredMsg(gen_id, Abort)); + self.process_partial_response(XHRProgress::Errored(gen_id, Abort)); // If open was called in one of the handlers invoked by the // above call then we should terminate the abort sequence if self.generation_id.get() != gen_id { return } } - self.ready_state.set(Unsent); + self.ready_state.set(XMLHttpRequestState::Unsent); } fn ResponseURL(self) -> DOMString { self.response_url.clone() @@ -680,12 +674,12 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { } fn SetResponseType(self, response_type: XMLHttpRequestResponseType) -> ErrorResult { match self.global.root() { - WorkerRoot(_) if response_type == XMLHttpRequestResponseType::Document + GlobalRoot::Worker(_) if response_type == XMLHttpRequestResponseType::Document => return Ok(()), _ => {} } match self.ready_state.get() { - Loading | XHRDone => Err(InvalidState), + XMLHttpRequestState::Loading | XMLHttpRequestState::XHRDone => Err(InvalidState), _ if self.sync.get() => Err(InvalidAccess), _ => { self.response_type.set(response_type); @@ -697,13 +691,13 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { match self.response_type.get() { _empty | Text => { let ready_state = self.ready_state.get(); - if ready_state == XHRDone || ready_state == Loading { + if ready_state == XMLHttpRequestState::XHRDone || ready_state == XMLHttpRequestState::Loading { self.text_response().to_jsval(cx) } else { "".to_string().to_jsval(cx) } }, - _ if self.ready_state.get() != XHRDone => NullValue(), + _ if self.ready_state.get() != XMLHttpRequestState::XHRDone => NullValue(), Json => { let decoded = UTF_8.decode(self.response.borrow().as_slice(), DecoderTrap::Replace).unwrap().to_string(); let decoded: Vec<u16> = decoded.as_slice().utf16_units().collect(); @@ -726,7 +720,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { match self.response_type.get() { _empty | Text => { match self.ready_state.get() { - Loading | XHRDone => Ok(self.text_response()), + XMLHttpRequestState::Loading | XMLHttpRequestState::XHRDone => Ok(self.text_response()), _ => Ok("".to_string()) } }, @@ -837,8 +831,8 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { return_if_fetch_was_terminated!(); match progress { - HeadersReceivedMsg(_, headers, status) => { - assert!(self.ready_state.get() == Opened); + XHRProgress::HeadersReceived(_, headers, status) => { + assert!(self.ready_state.get() == XMLHttpRequestState::Opened); // For synchronous requests, this should not fire any events, and just store data // XXXManishearth Find a way to track partial progress of the send (onprogresss for XHRUpload) @@ -865,26 +859,26 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { // Substep 3 if !self.sync.get() { - self.change_ready_state(HeadersReceived); + self.change_ready_state(XMLHttpRequestState::HeadersReceived); } }, - LoadingMsg(_, partial_response) => { + XHRProgress::Loading(_, partial_response) => { // For synchronous requests, this should not fire any events, and just store data // Part of step 11, send() (processing response body) // XXXManishearth handle errors, if any (substep 2) *self.response.borrow_mut() = partial_response; if !self.sync.get() { - if self.ready_state.get() == HeadersReceived { - self.change_ready_state(Loading); + if self.ready_state.get() == XMLHttpRequestState::HeadersReceived { + self.change_ready_state(XMLHttpRequestState::Loading); return_if_fetch_was_terminated!(); } self.dispatch_response_progress_event("progress".to_string()); } }, - DoneMsg(_) => { - assert!(self.ready_state.get() == HeadersReceived || - self.ready_state.get() == Loading || + XHRProgress::Done(_) => { + assert!(self.ready_state.get() == XMLHttpRequestState::HeadersReceived || + self.ready_state.get() == XMLHttpRequestState::Loading || self.sync.get()); // Part of step 11, send() (processing response end of file) @@ -892,7 +886,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { // Subsubsteps 5-7 self.send_flag.set(false); - self.change_ready_state(XHRDone); + self.change_ready_state(XMLHttpRequestState::XHRDone); return_if_fetch_was_terminated!(); // Subsubsteps 10-12 self.dispatch_response_progress_event("progress".to_string()); @@ -901,10 +895,10 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { return_if_fetch_was_terminated!(); self.dispatch_response_progress_event("loadend".to_string()); }, - ErroredMsg(_, e) => { + XHRProgress::Errored(_, e) => { self.send_flag.set(false); // XXXManishearth set response to NetworkError - self.change_ready_state(XHRDone); + self.change_ready_state(XMLHttpRequestState::XHRDone); return_if_fetch_was_terminated!(); let errormsg = match e { @@ -935,7 +929,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { fn terminate_ongoing_fetch(self) { let GenerationId(prev_id) = self.generation_id.get(); self.generation_id.set(GenerationId(prev_id + 1)); - self.terminate_sender.borrow().as_ref().map(|s| s.send_opt(AbortedOrReopened)); + self.terminate_sender.borrow().as_ref().map(|s| s.send_opt(TerminateReason::AbortedOrReopened)); } fn insert_trusted_header(self, name: String, value: String) { @@ -981,7 +975,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { spawn_named("XHR:Timer", proc () { match oneshot.recv_opt() { Ok(_) => { - terminate_sender.map(|s| s.send_opt(TimedOut)); + terminate_sender.map(|s| s.send_opt(TerminateReason::TimedOut)); }, Err(_) => { // This occurs if xhr.timeout (the sender) goes out of scope (i.e, xhr went out of scope) |