aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/net/tests/http_loader.rs4
-rw-r--r--components/script/dom/xmlhttprequest.rs15
-rw-r--r--components/script/script_module.rs9
3 files changed, 10 insertions, 18 deletions
diff --git a/components/net/tests/http_loader.rs b/components/net/tests/http_loader.rs
index f5b5a82cb5a..0cea1e3add6 100644
--- a/components/net/tests/http_loader.rs
+++ b/components/net/tests/http_loader.rs
@@ -33,8 +33,8 @@ use net::http_loader::determine_request_referrer;
use net::resource_thread::AuthCacheEntry;
use net::test::replace_host_table;
use net_traits::request::{
- BodyChunkRequest, BodyChunkResponse, BodySource, CredentialsMode, Destination, RequestBody, Referrer
- RequestBuilder, RequestMode,
+ BodyChunkRequest, BodyChunkResponse, BodySource, CredentialsMode, Destination, Referrer,
+ RequestBody, RequestBuilder, RequestMode,
};
use net_traits::response::{HttpsState, ResponseBody};
use net_traits::{CookieSource, NetworkError, ReferrerPolicy};
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index 2e8a37ea240..06b6699d3a9 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -160,7 +160,7 @@ pub struct XMLHttpRequest {
fetch_time: Cell<i64>,
generation_id: Cell<GenerationId>,
response_status: Cell<Result<(), ()>>,
- referrer_url: Option<ServoUrl>,
+ referrer: Referrer,
referrer_policy: Option<ReferrerPolicy>,
canceller: DomRefCell<FetchCanceller>,
}
@@ -168,11 +168,11 @@ pub struct XMLHttpRequest {
impl XMLHttpRequest {
fn new_inherited(global: &GlobalScope) -> XMLHttpRequest {
//TODO - update this when referrer policy implemented for workers
- let (referrer_url, referrer_policy) = if let Some(window) = global.downcast::<Window>() {
+ let referrer_policy = if let Some(window) = global.downcast::<Window>() {
let document = window.Document();
- (Some(document.url()), document.get_referrer_policy())
+ document.get_referrer_policy()
} else {
- (None, None)
+ None
};
XMLHttpRequest {
@@ -206,7 +206,7 @@ impl XMLHttpRequest {
fetch_time: Cell::new(0),
generation_id: Cell::new(GenerationId(0)),
response_status: Cell::new(Ok(())),
- referrer_url: referrer_url,
+ referrer: global.get_referrer(),
referrer_policy: referrer_policy,
canceller: DomRefCell::new(Default::default()),
}
@@ -681,10 +681,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
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()),
+ self.referrer.clone(),
)
.method(self.request_method.borrow().clone())
.headers((*self.request_headers.borrow()).clone())
diff --git a/components/script/script_module.rs b/components/script/script_module.rs
index 0a890623e62..185a96c5d86 100644
--- a/components/script/script_module.rs
+++ b/components/script/script_module.rs
@@ -60,7 +60,7 @@ use js::rust::CompileOptionsWrapper;
use js::rust::{Handle, HandleValue, IntoHandle};
use mime::Mime;
use net_traits::request::{CredentialsMode, Destination, ParserMetadata};
-use net_traits::request::{Referrer, RequestBuilder, RequestMode};
+use net_traits::request::{RequestBuilder, RequestMode};
use net_traits::{FetchMetadata, Metadata};
use net_traits::{FetchResponseListener, NetworkError};
use net_traits::{ResourceFetchTiming, ResourceTimingType};
@@ -721,7 +721,6 @@ impl ModuleTree {
// Step 8.
- let referrer = global.get_referrer();
for url in urls {
// https://html.spec.whatwg.org/multipage/#internal-module-script-graph-fetching-procedure
// Step 1.
@@ -733,7 +732,6 @@ impl ModuleTree {
url.clone(),
visited_urls.clone(),
destination.clone(),
- referrer.clone(),
ParserMetadata::NotParserInserted,
"".to_owned(), // integrity
credentials_mode.clone(),
@@ -1227,7 +1225,6 @@ pub fn fetch_external_module_script(
) {
let mut visited_urls = HashSet::new();
visited_urls.insert(url.clone());
- let referrer = owner.global().get_referrer();
// Step 1.
fetch_single_module_script(
@@ -1235,7 +1232,6 @@ pub fn fetch_external_module_script(
url,
visited_urls,
destination,
- referrer,
ParserMetadata::NotParserInserted,
integrity_metadata,
credentials_mode,
@@ -1250,7 +1246,6 @@ pub fn fetch_single_module_script(
url: ServoUrl,
visited_urls: HashSet<ServoUrl>,
destination: Destination,
- referrer: Referrer,
parser_metadata: ParserMetadata,
integrity_metadata: String,
credentials_mode: CredentialsMode,
@@ -1325,7 +1320,7 @@ pub fn fetch_single_module_script(
};
// Step 7-8.
- let request = RequestBuilder::new(url.clone(), referrer)
+ let request = RequestBuilder::new(url.clone(), global.get_referrer())
.destination(destination.clone())
.origin(global.origin().immutable().clone())
.parser_metadata(parser_metadata)