diff options
author | petosorus <petosorus@hotmail.fr> | 2019-10-01 23:28:35 +0200 |
---|---|---|
committer | petosorus <petosorus@hotmail.fr> | 2019-10-01 23:28:35 +0200 |
commit | f089d166bc7de54674d72451a8b7783d1fda8b99 (patch) | |
tree | ab5dcbf655df03be17ab0ec691ab713f0232ffab /components/script/dom/xmlhttprequest.rs | |
parent | 75c201f78e8bb5dc9a9722380b17461924d94ee6 (diff) | |
download | servo-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.rs | 7 |
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); |