aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xmlhttprequest.rs
diff options
context:
space:
mode:
authorpetosorus <petosorus@hotmail.fr>2019-10-01 23:28:35 +0200
committerpetosorus <petosorus@hotmail.fr>2019-10-01 23:28:35 +0200
commitf089d166bc7de54674d72451a8b7783d1fda8b99 (patch)
treeab5dcbf655df03be17ab0ec691ab713f0232ffab /components/script/dom/xmlhttprequest.rs
parent75c201f78e8bb5dc9a9722380b17461924d94ee6 (diff)
downloadservo-f089d166bc7de54674d72451a8b7783d1fda8b99.tar.gz
servo-f089d166bc7de54674d72451a8b7783d1fda8b99.zip
XMLHttpRequest.responseXML returns null when a network error occurs
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r--components/script/dom/xmlhttprequest.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index df2d0ed47c1..51a10298cda 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -1292,12 +1292,17 @@ impl XMLHttpRequest {
// https://xhr.spec.whatwg.org/#document-response
fn document_response(&self) -> Option<DomRoot<Document>> {
- // Step 1
+ // Caching: if we have existing response xml, redirect it directly
let response = self.response_xml.get();
if response.is_some() {
return self.response_xml.get();
}
+ // Step 1
+ if self.response_status.get().is_err() {
+ return None;
+ }
+
let mime_type = self.final_mime_type();
// TODO: prescan the response to determine encoding if final charset is null
let charset = self.final_charset().unwrap_or(UTF_8);