mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Propagate referrer policy during about:srcdoc page load
This commit is contained in:
parent
310821d3b0
commit
dd57641987
52 changed files with 38 additions and 1595 deletions
|
@ -162,6 +162,25 @@ impl From<ReferrerPolicyHeader> for ReferrerPolicy {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<ReferrerPolicy> for ReferrerPolicyHeader {
|
||||
fn from(referrer_policy: ReferrerPolicy) -> Self {
|
||||
match referrer_policy {
|
||||
ReferrerPolicy::NoReferrer => ReferrerPolicyHeader::NO_REFERRER,
|
||||
ReferrerPolicy::NoReferrerWhenDowngrade => {
|
||||
ReferrerPolicyHeader::NO_REFERRER_WHEN_DOWNGRADE
|
||||
},
|
||||
ReferrerPolicy::SameOrigin => ReferrerPolicyHeader::SAME_ORIGIN,
|
||||
ReferrerPolicy::Origin => ReferrerPolicyHeader::ORIGIN,
|
||||
ReferrerPolicy::OriginWhenCrossOrigin => ReferrerPolicyHeader::ORIGIN_WHEN_CROSS_ORIGIN,
|
||||
ReferrerPolicy::UnsafeUrl => ReferrerPolicyHeader::UNSAFE_URL,
|
||||
ReferrerPolicy::StrictOrigin => ReferrerPolicyHeader::STRICT_ORIGIN,
|
||||
ReferrerPolicy::StrictOriginWhenCrossOrigin => {
|
||||
ReferrerPolicyHeader::STRICT_ORIGIN_WHEN_CROSS_ORIGIN
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
pub enum FetchResponseMsg {
|
||||
// todo: should have fields for transmitted/total bytes
|
||||
|
@ -695,6 +714,21 @@ impl Metadata {
|
|||
self.content_type = Some(Serde(ContentType::from(mime.clone())));
|
||||
}
|
||||
}
|
||||
|
||||
/// Set the referrer policy associated with the loaded resource.
|
||||
pub fn set_referrer_policy(&mut self, referrer_policy: Option<ReferrerPolicy>) {
|
||||
if self.headers.is_none() {
|
||||
self.headers = Some(Serde(HeaderMap::new()));
|
||||
}
|
||||
|
||||
self.referrer_policy = referrer_policy;
|
||||
if let Some(referrer_policy) = referrer_policy {
|
||||
self.headers
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.typed_insert::<ReferrerPolicyHeader>(referrer_policy.into());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The creator of a given cookie
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue