diff options
-rw-r--r-- | components/script/dom/request.rs | 9 | ||||
-rw-r--r-- | components/script/dom/response.rs | 7 | ||||
-rw-r--r-- | tests/wpt/metadata/fetch/api/body/mime-type.any.js.ini | 39 |
3 files changed, 4 insertions, 51 deletions
diff --git a/components/script/dom/request.rs b/components/script/dom/request.rs index e301d360cc4..4fb8b192909 100644 --- a/components/script/dom/request.rs +++ b/components/script/dom/request.rs @@ -50,7 +50,6 @@ pub struct Request { request: DomRefCell<NetTraitsRequest>, body_stream: MutNullableDom<ReadableStream>, headers: MutNullableDom<Headers>, - mime_type: DomRefCell<Vec<u8>>, } impl Request { @@ -60,7 +59,6 @@ impl Request { request: DomRefCell::new(net_request_from_global(global, url)), body_stream: MutNullableDom::new(None), headers: Default::default(), - mime_type: DomRefCell::new("".to_string().into_bytes()), } } @@ -444,8 +442,6 @@ impl Request { r.request.borrow_mut().body = input_body; // Step 41 - let extracted_mime_type = r.Headers().extract_mime_type(); - *r.mime_type.borrow_mut() = extracted_mime_type; // Step 42 Ok(r) @@ -462,7 +458,6 @@ impl Request { fn clone_from(r: &Request) -> Fallible<DomRoot<Request>> { let req = r.request.borrow(); let url = req.url(); - let mime_type = r.mime_type.borrow().clone(); let headers_guard = r.Headers().get_guard(); let r_clone = Request::new(&r.global(), url); r_clone.request.borrow_mut().pipeline_id = req.pipeline_id; @@ -471,7 +466,6 @@ impl Request { borrowed_r_request.origin = req.origin.clone(); } *r_clone.request.borrow_mut() = req.clone(); - *r_clone.mime_type.borrow_mut() = mime_type; r_clone.Headers().copy_from_headers(r.Headers())?; r_clone.Headers().set_guard(headers_guard); Ok(r_clone) @@ -682,7 +676,8 @@ impl BodyMixin for Request { } fn get_mime_type(&self) -> Vec<u8> { - self.mime_type.borrow().clone() + let headers = self.Headers(); + headers.extract_mime_type() } } diff --git a/components/script/dom/response.rs b/components/script/dom/response.rs index ef183340a97..01a4429986e 100644 --- a/components/script/dom/response.rs +++ b/components/script/dom/response.rs @@ -37,7 +37,6 @@ use url::Position; pub struct Response { reflector_: Reflector, headers_reflector: MutNullableDom<Headers>, - mime_type: DomRefCell<Vec<u8>>, /// `None` can be considered a StatusCode of `0`. #[ignore_malloc_size_of = "Defined in hyper"] status: DomRefCell<Option<StatusCode>>, @@ -62,7 +61,6 @@ impl Response { Response { reflector_: Reflector::new(), headers_reflector: Default::default(), - mime_type: DomRefCell::new("".to_string().into_bytes()), status: DomRefCell::new(Some(StatusCode::OK)), raw_status: DomRefCell::new(Some((200, b"".to_vec()))), response_type: DomRefCell::new(DOMResponseType::Default), @@ -153,7 +151,6 @@ impl Response { } // Step 8 - *r.mime_type.borrow_mut() = r.Headers().extract_mime_type(); // Step 9 // TODO: `entry settings object` is not implemented in Servo yet. @@ -242,7 +239,8 @@ impl BodyMixin for Response { } fn get_mime_type(&self) -> Vec<u8> { - self.mime_type.borrow().clone() + let headers = self.Headers(); + headers.extract_mime_type() } } @@ -404,7 +402,6 @@ impl Response { Some(hyper_headers) => hyper_headers.into_inner(), None => HyperHeaders::new(), }); - *self.mime_type.borrow_mut() = self.Headers().extract_mime_type(); } pub fn set_raw_status(&self, status: Option<(u16, Vec<u8>)>) { diff --git a/tests/wpt/metadata/fetch/api/body/mime-type.any.js.ini b/tests/wpt/metadata/fetch/api/body/mime-type.any.js.ini deleted file mode 100644 index 9df4327e18f..00000000000 --- a/tests/wpt/metadata/fetch/api/body/mime-type.any.js.ini +++ /dev/null @@ -1,39 +0,0 @@ -[mime-type.any.html] - [Request: overriding explicit Content-Type] - expected: FAIL - - [Response: setting missing Content-Type] - expected: FAIL - - [Response: overriding explicit Content-Type] - expected: FAIL - - [Request: setting missing Content-Type] - expected: FAIL - - [Response: removing implicit Content-Type] - expected: FAIL - - [Request: removing implicit Content-Type] - expected: FAIL - - -[mime-type.any.worker.html] - [Request: overriding explicit Content-Type] - expected: FAIL - - [Response: setting missing Content-Type] - expected: FAIL - - [Response: overriding explicit Content-Type] - expected: FAIL - - [Request: setting missing Content-Type] - expected: FAIL - - [Response: removing implicit Content-Type] - expected: FAIL - - [Request: removing implicit Content-Type] - expected: FAIL - |