diff options
-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 { |