From f089d166bc7de54674d72451a8b7783d1fda8b99 Mon Sep 17 00:00:00 2001 From: petosorus Date: Tue, 1 Oct 2019 23:28:35 +0200 Subject: [PATCH] XMLHttpRequest.responseXML returns null when a network error occurs --- components/script/dom/xmlhttprequest.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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> { - // 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);