diff options
author | Ying-Ruei Liang(KK) <thumbd03803@gmail.com> | 2016-07-12 01:25:50 +0800 |
---|---|---|
committer | Ying-Ruei Liang(KK) <thumbd03803@gmail.com> | 2016-09-20 21:17:37 +0800 |
commit | 55a2270e16868addccf62854f9eeafdb7e3016f1 (patch) | |
tree | 61971bdca94f41c8ac35e13bbec8340bc784e221 /components/script/document_loader.rs | |
parent | 53938c439f3a0c2b3c3d734346ca291e1eb703a5 (diff) | |
download | servo-55a2270e16868addccf62854f9eeafdb7e3016f1.tar.gz servo-55a2270e16868addccf62854f9eeafdb7e3016f1.zip |
Bring referrer policy delivery to <a> and <link> via rel attribute
Diffstat (limited to 'components/script/document_loader.rs')
-rw-r--r-- | components/script/document_loader.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/components/script/document_loader.rs b/components/script/document_loader.rs index 04e266994c2..0fc1e5e06c5 100644 --- a/components/script/document_loader.rs +++ b/components/script/document_loader.rs @@ -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) } |