set referrer in window.load_url

- this conforms to follow-hyperlinks spec step 13
- this conforms to window-open spec step 14.3
- replace uses of `referrer_url` with `referrer`
- in Request class, change "no-referrer" to ""
- set websocket fetch referrer to "no-referrer"
This commit is contained in:
Russell Cousineau 2019-03-24 23:04:17 -07:00
parent f9c58ccd40
commit 2440e0f98a
21 changed files with 94 additions and 58 deletions

View file

@ -12,7 +12,7 @@ use ipc_channel::ipc;
use ipc_channel::router::ROUTER;
use msg::constellation_msg::PipelineId;
use net::http_loader::{set_default_accept, set_default_accept_language};
use net_traits::request::{Destination, RequestBuilder};
use net_traits::request::{Destination, Referrer, RequestBuilder};
use net_traits::response::ResponseInit;
use net_traits::{CoreResourceMsg, FetchChannels, FetchMetadata, FetchResponseMsg};
use net_traits::{IpcSend, NetworkError, ResourceThreads};
@ -109,7 +109,10 @@ impl NetworkListener {
.url_list
.push(metadata.final_url.clone());
self.request_builder.referrer_url = metadata.referrer.clone();
self.request_builder.referrer = metadata
.referrer
.clone()
.map(|referrer_url| Referrer::ReferrerUrl(referrer_url));
self.request_builder.referrer_policy = metadata.referrer_policy;
self.res_init = Some(ResponseInit {