diff options
author | Matthias Deiml <matthias@deiml.net> | 2020-06-15 18:44:59 +0200 |
---|---|---|
committer | Matthias Deiml <matthias@deiml.net> | 2020-06-17 19:07:14 +0200 |
commit | fa18cf620f1c271bee8808026ab40ffbaa11aee6 (patch) | |
tree | b5f1aa3518bf1c21dca0c43cf1299ee9e3ad7d4e /components/script/dom/xmlhttprequest.rs | |
parent | 37394a892c79d6edbef868d6451710648669cc1c (diff) | |
download | servo-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.rs | 45 |
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 { |