From 25cc87f226d330c77b63dafb4fd4ac23846854a8 Mon Sep 17 00:00:00 2001 From: Jeena Lee Date: Fri, 21 Oct 2016 09:14:57 -0700 Subject: [PATCH] Make Response's `Clone()` method to clone headers. This patch allows the response clone to have the same headers list as the original's. Previously, only the cloned response's headers guard was set to be the same as the original response's headers guard. --- components/script/dom/response.rs | 3 ++- tests/wpt/metadata/fetch/api/response/response-clone.html.ini | 3 --- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/components/script/dom/response.rs b/components/script/dom/response.rs index cabbd567b49..a1226204418 100644 --- a/components/script/dom/response.rs +++ b/components/script/dom/response.rs @@ -5,7 +5,7 @@ use body::{BodyOperations, BodyType, consume_body, consume_body_with_promise}; use core::cell::Cell; use dom::bindings::cell::DOMRefCell; -use dom::bindings::codegen::Bindings::HeadersBinding::HeadersMethods; +use dom::bindings::codegen::Bindings::HeadersBinding::{HeadersInit, HeadersMethods}; use dom::bindings::codegen::Bindings::ResponseBinding; use dom::bindings::codegen::Bindings::ResponseBinding::{ResponseMethods, ResponseType as DOMResponseType}; use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::BodyInit; @@ -303,6 +303,7 @@ impl ResponseMethods for Response { // Step 2 let new_response = Response::new(&self.global()); new_response.Headers().set_guard(self.Headers().get_guard()); + try!(new_response.Headers().fill(Some(HeadersInit::Headers(self.Headers())))); // https://fetch.spec.whatwg.org/#concept-response-clone // Instead of storing a net_traits::Response internally, we diff --git a/tests/wpt/metadata/fetch/api/response/response-clone.html.ini b/tests/wpt/metadata/fetch/api/response/response-clone.html.ini index 0f02dd1b75f..ecd4656a2dc 100644 --- a/tests/wpt/metadata/fetch/api/response/response-clone.html.ini +++ b/tests/wpt/metadata/fetch/api/response/response-clone.html.ini @@ -1,8 +1,5 @@ [response-clone.html] type: testharness - [Check Response's clone has the expected attribute values] - expected: FAIL - [Check orginal response's body after cloning] expected: FAIL