diff options
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 3f3be18a4ed..42ff2f483cb 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -91,8 +91,8 @@ pub enum XHRProgress { TimeoutMsg } -enum SyncOrAsync<'a, 'b> { - Sync(&'b JSRef<'a, XMLHttpRequest>), +enum SyncOrAsync<'a> { + Sync(JSRef<'a, XMLHttpRequest>), Async(TrustedXHRAddress, ScriptChan) } @@ -186,7 +186,7 @@ impl XMLHttpRequest { cors_request: Result<Option<CORSRequest>,()>) -> ErrorResult { fn notify_partial_progress(fetch_type: &SyncOrAsync, msg: XHRProgress) { match *fetch_type { - Sync(ref xhr) => { + Sync(xhr) => { xhr.process_partial_response(msg); }, Async(addr, ref script_chan) => { @@ -259,21 +259,21 @@ impl XMLHttpRequest { } impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { - fn GetOnreadystatechange(&self) -> Option<EventHandlerNonNull> { - let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); + fn GetOnreadystatechange(self) -> Option<EventHandlerNonNull> { + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(self); eventtarget.get_event_handler_common("readystatechange") } - fn SetOnreadystatechange(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); + fn SetOnreadystatechange(self, listener: Option<EventHandlerNonNull>) { + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(self); eventtarget.set_event_handler_common("readystatechange", listener) } - fn ReadyState(&self) -> u16 { + fn ReadyState(self) -> u16 { self.ready_state.deref().get() as u16 } - fn Open(&self, method: ByteString, url: DOMString) -> ErrorResult { + fn Open(self, method: ByteString, url: DOMString) -> ErrorResult { // Clean up from previous requests, if any: self.cancel_timeout(); let uppercase_method = method.as_str().map(|s| { @@ -334,12 +334,12 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { _ => Err(Syntax), // Step 3 } } - fn Open_(&self, method: ByteString, url: DOMString, async: bool, + fn Open_(self, method: ByteString, url: DOMString, async: bool, _username: Option<DOMString>, _password: Option<DOMString>) -> ErrorResult { self.sync.deref().set(!async); self.Open(method, url) } - fn SetRequestHeader(&self, name: ByteString, mut value: ByteString) -> ErrorResult { + fn SetRequestHeader(self, name: ByteString, mut value: ByteString) -> ErrorResult { if self.ready_state.deref().get() != Opened || self.send_flag.deref().get() { return Err(InvalidState); // Step 1, 2 } @@ -403,10 +403,10 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { None => Err(Syntax) } } - fn Timeout(&self) -> u32 { + fn Timeout(self) -> u32 { self.timeout.deref().get() } - fn SetTimeout(&self, timeout: u32) -> ErrorResult { + fn SetTimeout(self, timeout: u32) -> ErrorResult { if self.sync.deref().get() { // FIXME: Not valid for a worker environment Err(InvalidState) @@ -428,16 +428,16 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { Ok(()) } } - fn WithCredentials(&self) -> bool { + fn WithCredentials(self) -> bool { self.with_credentials.deref().get() } - fn SetWithCredentials(&self, with_credentials: bool) { + fn SetWithCredentials(self, with_credentials: bool) { self.with_credentials.deref().set(with_credentials); } - fn Upload(&self) -> Temporary<XMLHttpRequestUpload> { + fn Upload(self) -> Temporary<XMLHttpRequestUpload> { Temporary::new(self.upload) } - fn Send(&self, data: Option<SendParam>) -> ErrorResult { + fn Send(self, data: Option<SendParam>) -> ErrorResult { if self.ready_state.deref().get() != Opened || self.send_flag.deref().get() { return Err(InvalidState); // Step 1, 2 } @@ -566,7 +566,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { } Ok(()) } - fn Abort(&self) { + fn Abort(self) { self.terminate_sender.deref().borrow().as_ref().map(|s| s.send_opt(Abort)); match self.ready_state.deref().get() { Opened if self.send_flag.deref().get() => self.process_partial_response(ErroredMsg(Some(Abort))), @@ -575,16 +575,16 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { }; self.ready_state.deref().set(Unsent); } - fn ResponseURL(&self) -> DOMString { + fn ResponseURL(self) -> DOMString { self.response_url.clone() } - fn Status(&self) -> u16 { + fn Status(self) -> u16 { self.status.deref().get() } - fn StatusText(&self) -> ByteString { + fn StatusText(self) -> ByteString { self.status_text.deref().borrow().clone() } - fn GetResponseHeader(&self, name: ByteString) -> Option<ByteString> { + fn GetResponseHeader(self, name: ByteString) -> Option<ByteString> { self.filter_response_headers().iter().find(|h| { name.eq_ignore_case(&FromStr::from_str(h.header_name().as_slice()).unwrap()) }).map(|h| { @@ -592,7 +592,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { ByteString::new(h.header_value().as_slice().chars().map(|c| { assert!(c <= '\u00FF'); c as u8 }).collect()) }) } - fn GetAllResponseHeaders(&self) -> ByteString { + fn GetAllResponseHeaders(self) -> ByteString { let mut writer = MemWriter::new(); self.filter_response_headers().write_all(&mut writer).ok().expect("Writing response headers failed"); let mut vec = writer.unwrap(); @@ -603,10 +603,10 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { ByteString::new(vec) } - fn ResponseType(&self) -> XMLHttpRequestResponseType { + fn ResponseType(self) -> XMLHttpRequestResponseType { self.response_type.deref().get() } - fn SetResponseType(&self, response_type: XMLHttpRequestResponseType) -> ErrorResult { + fn SetResponseType(self, response_type: XMLHttpRequestResponseType) -> ErrorResult { match self.global { WorkerField(_) if response_type == Document => return Ok(()), _ => {} @@ -620,7 +620,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { } } } - fn Response(&self, cx: *mut JSContext) -> JSVal { + fn Response(self, cx: *mut JSContext) -> JSVal { match self.response_type.deref().get() { _empty | Text => { let ready_state = self.ready_state.deref().get(); @@ -649,7 +649,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { } } } - fn GetResponseText(&self) -> Fallible<DOMString> { + fn GetResponseText(self) -> Fallible<DOMString> { match self.response_type.deref().get() { _empty | Text => { match self.ready_state.deref().get() { @@ -660,7 +660,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { _ => Err(InvalidState) } } - fn GetResponseXML(&self) -> Option<Temporary<Document>> { + fn GetResponseXML(self) -> Option<Temporary<Document>> { self.response_xml.get().map(|response| Temporary::new(response)) } } @@ -692,23 +692,23 @@ impl TrustedXHRAddress { trait PrivateXMLHttpRequestHelpers { - unsafe fn to_trusted(&self) -> TrustedXHRAddress; - fn release_once(&self); - fn change_ready_state(&self, XMLHttpRequestState); - fn process_partial_response(&self, progress: XHRProgress); - fn insert_trusted_header(&self, name: String, value: String); - fn dispatch_progress_event(&self, upload: bool, type_: DOMString, loaded: u64, total: Option<u64>); - fn dispatch_upload_progress_event(&self, type_: DOMString, partial_load: Option<u64>); - fn dispatch_response_progress_event(&self, type_: DOMString); - fn text_response(&self) -> DOMString; - fn set_timeout(&self, timeout:u32); - fn cancel_timeout(&self); - fn filter_response_headers(&self) -> ResponseHeaderCollection; + unsafe fn to_trusted(self) -> TrustedXHRAddress; + fn release_once(self); + fn change_ready_state(self, XMLHttpRequestState); + fn process_partial_response(self, progress: XHRProgress); + fn insert_trusted_header(self, name: String, value: String); + fn dispatch_progress_event(self, upload: bool, type_: DOMString, loaded: u64, total: Option<u64>); + fn dispatch_upload_progress_event(self, type_: DOMString, partial_load: Option<u64>); + fn dispatch_response_progress_event(self, type_: DOMString); + fn text_response(self) -> DOMString; + fn set_timeout(self, timeout:u32); + fn cancel_timeout(self); + fn filter_response_headers(self) -> ResponseHeaderCollection; } impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { // Creates a trusted address to the object, and roots it. Always pair this with a release() - unsafe fn to_trusted(&self) -> TrustedXHRAddress { + unsafe fn to_trusted(self) -> TrustedXHRAddress { if self.pinned_count.deref().get() == 0 { JS_AddObjectRoot(self.global.root().root_ref().get_cx(), self.reflector().rootable()); } @@ -717,7 +717,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { TrustedXHRAddress(self.deref() as *const XMLHttpRequest as *const libc::c_void) } - fn release_once(&self) { + fn release_once(self) { if self.sync.deref().get() { // Lets us call this at various termination cases without having to // check self.sync every time, since the pinning mechanism only is @@ -734,18 +734,18 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { } } - fn change_ready_state(&self, rs: XMLHttpRequestState) { + fn change_ready_state(self, rs: XMLHttpRequestState) { assert!(self.ready_state.deref().get() != rs) self.ready_state.deref().set(rs); let global = self.global.root(); let event = Event::new(&global.root_ref(), "readystatechange".to_string(), false, true).root(); - let target: JSRef<EventTarget> = EventTargetCast::from_ref(*self); + let target: JSRef<EventTarget> = EventTargetCast::from_ref(self); target.dispatch_event_with_target(None, *event).ok(); } - fn process_partial_response(&self, progress: XHRProgress) { + fn process_partial_response(self, progress: XHRProgress) { match progress { HeadersReceivedMsg(headers, status) => { // For synchronous requests, this should not fire any events, and just store data @@ -845,7 +845,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { } } - fn insert_trusted_header(&self, name: String, value: String) { + fn insert_trusted_header(self, name: String, value: String) { // Insert a header without checking spec-compliance // Use for hardcoded headers let mut collection = self.request_headers.deref().borrow_mut(); @@ -857,7 +857,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { collection.insert(maybe_header.unwrap()); } - fn dispatch_progress_event(&self, upload: bool, type_: DOMString, loaded: u64, total: Option<u64>) { + fn dispatch_progress_event(self, upload: bool, type_: DOMString, loaded: u64, total: Option<u64>) { let global = self.global.root(); let upload_target = *self.upload.root(); let progressevent = ProgressEvent::new(&global.root_ref(), @@ -867,25 +867,25 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { let target: JSRef<EventTarget> = if upload { EventTargetCast::from_ref(upload_target) } else { - EventTargetCast::from_ref(*self) + EventTargetCast::from_ref(self) }; let event: JSRef<Event> = EventCast::from_ref(*progressevent); target.dispatch_event_with_target(None, event).ok(); } - fn dispatch_upload_progress_event(&self, type_: DOMString, partial_load: Option<u64>) { + fn dispatch_upload_progress_event(self, type_: DOMString, partial_load: Option<u64>) { // If partial_load is None, loading has completed and we can just use the value from the request body let total = self.request_body_len.get() as u64; self.dispatch_progress_event(true, type_, partial_load.unwrap_or(total), Some(total)); } - fn dispatch_response_progress_event(&self, type_: DOMString) { + fn dispatch_response_progress_event(self, type_: DOMString) { let len = self.response.deref().borrow().len() as u64; let total = self.response_headers.deref().borrow().content_length.map(|x| {x as u64}); self.dispatch_progress_event(false, type_, len, total); } - fn set_timeout(&self, timeout: u32) { + fn set_timeout(self, timeout: u32) { // Sets up the object to timeout in a given number of milliseconds // This will cancel all previous timeouts let oneshot = self.timer.deref().borrow_mut().oneshot(timeout as u64); @@ -916,7 +916,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { } ); } - fn cancel_timeout(&self) { + fn cancel_timeout(self) { // Cancels timeouts on the object, if any if self.timeout_pinned.deref().get() { self.timeout_pinned.deref().set(false); @@ -925,7 +925,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { // oneshot() closes the previous channel, canceling the timeout self.timer.deref().borrow_mut().oneshot(0); } - fn text_response(&self) -> DOMString { + fn text_response(self) -> DOMString { let mut encoding = UTF_8 as EncodingRef; match self.response_headers.deref().borrow().content_type { Some(ref x) => { @@ -941,7 +941,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { // the result should be fine. XXXManishearth have a closer look at this later encoding.decode(self.response.deref().borrow().as_slice(), DecodeReplace).unwrap().to_string() } - fn filter_response_headers(&self) -> ResponseHeaderCollection { + fn filter_response_headers(self) -> ResponseHeaderCollection { // http://fetch.spec.whatwg.org/#concept-response-header-list let mut headers = ResponseHeaderCollection::new(); for header in self.response_headers.deref().borrow().iter() { |