mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
script: Set HTTP status code when aborting an XMLHttpRequest
(#37190)
Correctly set status when aborting a XMLHttpRequest. Testing: WPT test xhr/abort-during-done.window.html --------- Signed-off-by: Tunahan Karlibas <dvt.tnhn.krlbs@icloud.com>
This commit is contained in:
parent
280b34bbd8
commit
ed888e284b
4 changed files with 3 additions and 15 deletions
|
@ -797,6 +797,7 @@ impl XMLHttpRequestMethods<crate::DomTypeHolder> for XMLHttpRequest {
|
|||
if self.ready_state.get() == XMLHttpRequestState::Done {
|
||||
self.change_ready_state(XMLHttpRequestState::Unsent, can_gc);
|
||||
self.response_status.set(Err(()));
|
||||
*self.status.borrow_mut() = HttpStatus::new_error();
|
||||
self.response.borrow_mut().clear();
|
||||
self.response_headers.borrow_mut().clear();
|
||||
}
|
||||
|
@ -1188,6 +1189,8 @@ impl XMLHttpRequest {
|
|||
|
||||
self.discard_subsequent_responses();
|
||||
self.send_flag.set(false);
|
||||
*self.status.borrow_mut() = HttpStatus::new_error();
|
||||
self.response_headers.borrow_mut().clear();
|
||||
// XXXManishearth set response to NetworkError
|
||||
self.change_ready_state(XMLHttpRequestState::Done, can_gc);
|
||||
return_if_fetch_was_terminated!();
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
[abort-during-done.window.html]
|
||||
[XMLHttpRequest: abort() during DONE (sync)]
|
||||
expected: FAIL
|
||||
|
||||
[XMLHttpRequest: abort() during DONE (sync aborted in readystatechange)]
|
||||
expected: FAIL
|
||||
|
||||
[XMLHttpRequest: abort() during DONE (async)]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[abort-during-headers-received.window.html]
|
||||
[XMLHttpRequest: abort() during HEADERS_RECEIVED]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[abort-during-loading.window.html]
|
||||
[XMLHttpRequest: abort() during LOADING]
|
||||
expected: FAIL
|
Loading…
Add table
Add a link
Reference in a new issue