diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-05-25 13:11:11 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-05-30 13:17:43 +0200 |
commit | a09773e819d5c5529e27502c808afb6ee3da6586 (patch) | |
tree | 2d150d7208566795fd8937b9a6d7c38db0494bad /components/net/http_loader.rs | |
parent | 074fc4a5e17da6796f73922001ea400e357d1bb9 (diff) | |
download | servo-a09773e819d5c5529e27502c808afb6ee3da6586.tar.gz servo-a09773e819d5c5529e27502c808afb6ee3da6586.zip |
Handle origin when blocking content
Diffstat (limited to 'components/net/http_loader.rs')
-rw-r--r-- | components/net/http_loader.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index a081140e9ec..5c62e29cf38 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -862,10 +862,15 @@ pub fn load<A, B>(load_data: &LoadData, let mut block_cookies = false; if let Some(ref rules) = *http_state.blocked_content { + let same_origin = + load_data.referrer_url.as_ref() + .map(|url| url.origin() == doc_url.origin()) + .unwrap_or(false); + let load_type = if same_origin { LoadType::FirstParty } else { LoadType::ThirdParty }; let actions = process_rules_for_request(rules, &CBRequest { url: &doc_url, resource_type: to_resource_type(&load_data.context), - load_type: LoadType::FirstParty, //FIXME need request origin + load_type: load_type, }); for action in actions { match action { |