diff --git a/components/net/fetch/methods.rs b/components/net/fetch/methods.rs index 481da031056..976b1e0b5ee 100644 --- a/components/net/fetch/methods.rs +++ b/components/net/fetch/methods.rs @@ -294,6 +294,7 @@ fn basic_fetch(request: Rc) -> Response { response.headers.set(ContentType(Mime( TopLevel::Text, SubLevel::Html, vec![(Attr::Charset, Value::Utf8)]))); + *response.body.lock().unwrap() = ResponseBody::Done(vec![]); response }, _ => Response::network_error() diff --git a/tests/unit/net/fetch.rs b/tests/unit/net/fetch.rs index 010d49e5732..1a6168f77d6 100644 --- a/tests/unit/net/fetch.rs +++ b/tests/unit/net/fetch.rs @@ -94,6 +94,20 @@ fn test_fetch_response_body_matches_const_message() { }; } +#[test] +fn test_fetch_aboutblank() { + + let url = Url::parse("about:blank").unwrap(); + let origin = Origin::Origin(url.origin()); + let mut request = Request::new(url, Some(origin), false); + request.referer = Referer::NoReferer; + let wrapped_request = Rc::new(request); + + let fetch_response = fetch(wrapped_request); + assert!(!fetch_response.is_network_error()); + assert!(*fetch_response.body.lock().unwrap() == ResponseBody::Done(vec![])); +} + #[test] fn test_fetch_response_is_basic_filtered() {