aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/http_loader.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-05-25 13:11:11 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-05-30 13:17:43 +0200
commita09773e819d5c5529e27502c808afb6ee3da6586 (patch)
tree2d150d7208566795fd8937b9a6d7c38db0494bad /components/net/http_loader.rs
parent074fc4a5e17da6796f73922001ea400e357d1bb9 (diff)
downloadservo-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.rs7
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 {