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); diff --git a/tests/wpt/metadata/xhr/abort-after-send.any.js.ini b/tests/wpt/metadata/xhr/abort-after-send.any.js.ini deleted file mode 100644 index c4fd610ae29..00000000000 --- a/tests/wpt/metadata/xhr/abort-after-send.any.js.ini +++ /dev/null @@ -1,6 +0,0 @@ -[abort-after-send.any.html] - [XMLHttpRequest: abort() after send()] - expected: FAIL - - -[abort-after-send.any.worker.html] diff --git a/tests/wpt/metadata/xhr/send-redirect-to-cors.htm.ini b/tests/wpt/metadata/xhr/send-redirect-to-cors.htm.ini index e39165bccfa..d978e878a65 100644 --- a/tests/wpt/metadata/xhr/send-redirect-to-cors.htm.ini +++ b/tests/wpt/metadata/xhr/send-redirect-to-cors.htm.ini @@ -6,27 +6,6 @@ [XMLHttpRequest: send() - Redirect to CORS-enabled resource (307 post with typed array)] expected: FAIL - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (301 GET with explicit Content-Type)] - expected: FAIL - - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (301 POST with string and explicit Content-Type)] - expected: FAIL - - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (302 POST with string and explicit Content-Type)] - expected: FAIL - - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (307 POST with string and explicit Content-Type)] - expected: FAIL - - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (307 FOO with string and explicit Content-Type)] - expected: FAIL - - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (308 POST with string and explicit Content-Type)] - expected: FAIL - - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (308 FOO with string and explicit Content-Type)] - expected: FAIL - [XMLHttpRequest: send() - Redirect to CORS-enabled resource (308 FOO with string and explicit Content-Type text/plain)] expected: FAIL diff --git a/tests/wpt/metadata/xhr/xmlhttprequest-network-error-sync.htm.ini b/tests/wpt/metadata/xhr/xmlhttprequest-network-error-sync.htm.ini deleted file mode 100644 index 8115118f405..00000000000 --- a/tests/wpt/metadata/xhr/xmlhttprequest-network-error-sync.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[xmlhttprequest-network-error-sync.htm] - type: testharness - [XMLHttpRequest: members during network errors (sync)] - expected: FAIL - diff --git a/tests/wpt/metadata/xhr/xmlhttprequest-network-error.htm.ini b/tests/wpt/metadata/xhr/xmlhttprequest-network-error.htm.ini deleted file mode 100644 index b1eacace2f8..00000000000 --- a/tests/wpt/metadata/xhr/xmlhttprequest-network-error.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[xmlhttprequest-network-error.htm] - type: testharness - [XMLHttpRequest: members during network errors] - expected: FAIL -