mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Use global.get_referrer() when appropiate
This commit is contained in:
parent
47355766ed
commit
25080e3fa5
3 changed files with 10 additions and 18 deletions
|
@ -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};
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue