Bring referrer policy delivery to <a> and <link> via rel attribute

This commit is contained in:
Ying-Ruei Liang(KK) 2016-07-12 01:25:50 +08:00
parent 53938c439f
commit 55a2270e16
1751 changed files with 36312 additions and 1088 deletions

View file

@ -7,7 +7,7 @@
use dom::bindings::js::JS;
use dom::document::Document;
use msg::constellation_msg::PipelineId;
use msg::constellation_msg::{PipelineId, ReferrerPolicy};
use net_traits::{PendingAsyncLoad, AsyncResponseTarget, LoadContext};
use net_traits::{ResourceThreads, IpcSend};
use std::thread;
@ -125,7 +125,8 @@ impl DocumentLoader {
/// the future.
pub fn prepare_async_load(&mut self,
load: LoadType,
referrer: &Document) -> PendingAsyncLoad {
referrer: &Document,
referrer_policy: Option<ReferrerPolicy>) -> PendingAsyncLoad {
let context = load.to_load_context();
let url = load.url().clone();
self.add_blocking_load(load);
@ -133,7 +134,7 @@ impl DocumentLoader {
self.resource_threads.sender(),
url,
self.pipeline,
referrer.get_referrer_policy(),
referrer_policy.or(referrer.get_referrer_policy()),
Some(referrer.url().clone()))
}
@ -141,8 +142,9 @@ impl DocumentLoader {
pub fn load_async(&mut self,
load: LoadType,
listener: AsyncResponseTarget,
referrer: &Document) {
let pending = self.prepare_async_load(load, referrer);
referrer: &Document,
referrer_policy: Option<ReferrerPolicy>) {
let pending = self.prepare_async_load(load, referrer, referrer_policy);
pending.load_async(listener)
}