aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2014-11-06 19:00:29 -0700
committerbors-servo <metajack+bors@gmail.com>2014-11-06 19:00:29 -0700
commit338a9c3f054db0244185c3d85b47e427b6070e37 (patch)
tree0d6ec5df7507dd7c468e0f52614d2f3fef85da40 /components/script
parentf775f12fe996718af94951c3c2457d896a213d96 (diff)
parent504fdbfac404b8eceb05f06dcb9243f362cc4ace (diff)
downloadservo-338a9c3f054db0244185c3d85b47e427b6070e37.tar.gz
servo-338a9c3f054db0244185c3d85b47e427b6070e37.zip
auto merge of #3917 : mukilan/servo/xhr-status-async, r=jdm
Fixes #3877
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/xmlhttprequest.rs35
1 files changed, 18 insertions, 17 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index 869820e0ca6..da3c069c1f4 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -890,8 +890,8 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> {
},
LoadingMsg(_, partial_response) => {
// For synchronous requests, this should not fire any events, and just store data
- // Part of step 13, send() (processing response body)
- // XXXManishearth handle errors, if any (substep 1)
+ // 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() {
@@ -903,22 +903,23 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> {
}
},
DoneMsg(_) => {
- // Part of step 13, send() (processing response end of file)
- // XXXManishearth handle errors, if any (substep 1)
+ assert!(self.ready_state.get() == HeadersReceived ||
+ self.ready_state.get() == Loading ||
+ self.sync.get());
- // Substep 3
- if self.ready_state.get() == Loading || self.sync.get() {
- // Subsubsteps 2-4
- self.send_flag.set(false);
- self.change_ready_state(XHRDone);
- return_if_fetch_was_terminated!();
- // Subsubsteps 5-7
- self.dispatch_response_progress_event("progress".to_string());
- return_if_fetch_was_terminated!();
- self.dispatch_response_progress_event("load".to_string());
- return_if_fetch_was_terminated!();
- self.dispatch_response_progress_event("loadend".to_string());
- }
+ // Part of step 11, send() (processing response end of file)
+ // XXXManishearth handle errors, if any (substep 2)
+
+ // Subsubsteps 5-7
+ self.send_flag.set(false);
+ self.change_ready_state(XHRDone);
+ return_if_fetch_was_terminated!();
+ // Subsubsteps 10-12
+ self.dispatch_response_progress_event("progress".to_string());
+ return_if_fetch_was_terminated!();
+ self.dispatch_response_progress_event("load".to_string());
+ return_if_fetch_was_terminated!();
+ self.dispatch_response_progress_event("loadend".to_string());
},
ErroredMsg(_, e) => {
self.send_flag.set(false);