aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xmlhttprequest.rs
diff options
context:
space:
mode:
authorMatthias Deiml <matthias@deiml.net>2020-06-15 18:44:59 +0200
committerMatthias Deiml <matthias@deiml.net>2020-06-17 19:07:14 +0200
commitfa18cf620f1c271bee8808026ab40ffbaa11aee6 (patch)
treeb5f1aa3518bf1c21dca0c43cf1299ee9e3ad7d4e /components/script/dom/xmlhttprequest.rs
parent37394a892c79d6edbef868d6451710648669cc1c (diff)
downloadservo-fa18cf620f1c271bee8808026ab40ffbaa11aee6.tar.gz
servo-fa18cf620f1c271bee8808026ab40ffbaa11aee6.zip
Make url for "client" referrer mandatory
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r--components/script/dom/xmlhttprequest.rs45
1 files changed, 23 insertions, 22 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index 03a5f5c7bff..2e8a37ea240 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -679,28 +679,29 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
None => None,
};
- let mut request = RequestBuilder::new(self.request_url.borrow().clone().unwrap())
- .method(self.request_method.borrow().clone())
- .headers((*self.request_headers.borrow()).clone())
- .unsafe_request(true)
- // XXXManishearth figure out how to avoid this clone
- .body(extracted_or_serialized.map(|e| e.into_net_request_body().0))
- // XXXManishearth actually "subresource", but it doesn't exist
- // https://github.com/whatwg/xhr/issues/71
- .destination(Destination::None)
- .synchronous(self.sync.get())
- .mode(RequestMode::CorsMode)
- .use_cors_preflight(has_handlers)
- .credentials_mode(credentials_mode)
- .use_url_credentials(use_url_credentials)
- .origin(self.global().origin().immutable().clone())
- .referrer(
- self.referrer_url
- .clone()
- .map(|referrer_url| Referrer::ReferrerUrl(referrer_url)),
- )
- .referrer_policy(self.referrer_policy.clone())
- .pipeline_id(Some(self.global().pipeline_id()));
+ let mut request = RequestBuilder::new(
+ self.request_url.borrow().clone().unwrap(),
+ self.referrer_url
+ .clone()
+ .map(|url| Referrer::ReferrerUrl(url))
+ .unwrap_or_else(|| self.global().get_referrer()),
+ )
+ .method(self.request_method.borrow().clone())
+ .headers((*self.request_headers.borrow()).clone())
+ .unsafe_request(true)
+ // XXXManishearth figure out how to avoid this clone
+ .body(extracted_or_serialized.map(|e| e.into_net_request_body().0))
+ // XXXManishearth actually "subresource", but it doesn't exist
+ // https://github.com/whatwg/xhr/issues/71
+ .destination(Destination::None)
+ .synchronous(self.sync.get())
+ .mode(RequestMode::CorsMode)
+ .use_cors_preflight(has_handlers)
+ .credentials_mode(credentials_mode)
+ .use_url_credentials(use_url_credentials)
+ .origin(self.global().origin().immutable().clone())
+ .referrer_policy(self.referrer_policy.clone())
+ .pipeline_id(Some(self.global().pipeline_id()));
// step 4 (second half)
match content_type {