diff options
Diffstat (limited to 'components/net/http_loader.rs')
-rw-r--r-- | components/net/http_loader.rs | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 33a6e4415e3..eaed2ff1989 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -1141,7 +1141,8 @@ fn http_network_or_cache_fetch( // Step 5.9 match http_request.referrer { Referrer::NoReferrer => (), - Referrer::ReferrerUrl(ref http_request_referrer) => { + Referrer::ReferrerUrl(ref http_request_referrer) | + Referrer::Client(ref http_request_referrer) => { if let Ok(referer) = http_request_referrer.to_string().parse::<Referer>() { http_request.headers.typed_insert(referer); } else { @@ -1151,12 +1152,6 @@ fn http_network_or_cache_fetch( error!("Failed to parse {} as referer", http_request_referrer); } }, - Referrer::Client => - // it should be impossible for referrer to be anything else during fetching - // https://fetch.spec.whatwg.org/#concept-request-referrer - { - unreachable!() - }, }; // Step 5.10 @@ -1938,7 +1933,7 @@ fn cors_preflight_fetch( context: &FetchContext, ) -> Response { // Step 1 - let mut preflight = RequestBuilder::new(request.current_url()) + let mut preflight = RequestBuilder::new(request.current_url(), request.referrer.clone()) .method(Method::OPTIONS) .origin(match &request.origin { Origin::Client => { @@ -1949,7 +1944,6 @@ fn cors_preflight_fetch( .pipeline_id(request.pipeline_id) .initiator(request.initiator.clone()) .destination(request.destination.clone()) - .referrer(Some(request.referrer.clone())) .referrer_policy(request.referrer_policy) .build(); |