aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xmlhttprequest.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r--components/script/dom/xmlhttprequest.rs108
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() {