mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Use the correct fallback referrer policy for the empty string case (#34201)
Signed-off-by: Shane Handley <shanehandley@fastmail.com>
This commit is contained in:
parent
4da378a987
commit
5e2c7908d0
7 changed files with 5 additions and 189 deletions
|
@ -5631,7 +5631,7 @@ pub fn determine_policy_for_token(token: &str) -> Option<ReferrerPolicy> {
|
||||||
"default" | "strict-origin-when-cross-origin" => Some(ReferrerPolicy::StrictOriginWhenCrossOrigin),
|
"default" | "strict-origin-when-cross-origin" => Some(ReferrerPolicy::StrictOriginWhenCrossOrigin),
|
||||||
"origin-when-cross-origin" => Some(ReferrerPolicy::OriginWhenCrossOrigin),
|
"origin-when-cross-origin" => Some(ReferrerPolicy::OriginWhenCrossOrigin),
|
||||||
"always" | "unsafe-url" => Some(ReferrerPolicy::UnsafeUrl),
|
"always" | "unsafe-url" => Some(ReferrerPolicy::UnsafeUrl),
|
||||||
"" => Some(ReferrerPolicy::NoReferrer),
|
"" => Some(ReferrerPolicy::default()),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1519,8 +1519,8 @@ pub fn parse_a_sizes_attribute(value: DOMString) -> SourceSizeList {
|
||||||
|
|
||||||
fn get_correct_referrerpolicy_from_raw_token(token: &DOMString) -> DOMString {
|
fn get_correct_referrerpolicy_from_raw_token(token: &DOMString) -> DOMString {
|
||||||
if token == "" {
|
if token == "" {
|
||||||
// Empty token is treated as no-referrer inside determine_policy_for_token,
|
// Empty token is treated as the default referrer policy inside determine_policy_for_token,
|
||||||
// while here it should be treated as the default value, so it should remain unchanged.
|
// so it should remain unchanged.
|
||||||
DOMString::new()
|
DOMString::new()
|
||||||
} else {
|
} else {
|
||||||
match determine_policy_for_token(token) {
|
match determine_policy_for_token(token) {
|
||||||
|
@ -1532,6 +1532,7 @@ fn get_correct_referrerpolicy_from_raw_token(token: &DOMString) -> DOMString {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(non_snake_case)]
|
||||||
impl HTMLImageElementMethods for HTMLImageElement {
|
impl HTMLImageElementMethods for HTMLImageElement {
|
||||||
// https://html.spec.whatwg.org/multipage/#dom-image
|
// https://html.spec.whatwg.org/multipage/#dom-image
|
||||||
fn Image(
|
fn Image(
|
||||||
|
|
|
@ -805,7 +805,7 @@ impl From<NetTraitsRequestMode> for RequestMode {
|
||||||
impl From<ReferrerPolicy> for MsgReferrerPolicy {
|
impl From<ReferrerPolicy> for MsgReferrerPolicy {
|
||||||
fn from(policy: ReferrerPolicy) -> Self {
|
fn from(policy: ReferrerPolicy) -> Self {
|
||||||
match policy {
|
match policy {
|
||||||
ReferrerPolicy::_empty => MsgReferrerPolicy::NoReferrer,
|
ReferrerPolicy::_empty => MsgReferrerPolicy::default(),
|
||||||
ReferrerPolicy::No_referrer => MsgReferrerPolicy::NoReferrer,
|
ReferrerPolicy::No_referrer => MsgReferrerPolicy::NoReferrer,
|
||||||
ReferrerPolicy::No_referrer_when_downgrade => {
|
ReferrerPolicy::No_referrer_when_downgrade => {
|
||||||
MsgReferrerPolicy::NoReferrerWhenDowngrade
|
MsgReferrerPolicy::NoReferrerWhenDowngrade
|
||||||
|
|
|
@ -1,21 +1,8 @@
|
||||||
[cors-preflight-referrer.any.worker.html]
|
[cors-preflight-referrer.any.worker.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
[Referrer policy: "" and referrer: default]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Referrer policy: "" and referrer: 'myreferrer']
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[cors-preflight-referrer]
|
[cors-preflight-referrer]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[cors-preflight-referrer.any.html]
|
[cors-preflight-referrer.any.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
[Referrer policy: "" and referrer: default]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Referrer policy: "" and referrer: 'myreferrer']
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,84 +1,6 @@
|
||||||
[redirect-referrer.any.worker.html]
|
[redirect-referrer.any.worker.html]
|
||||||
[Same origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, same-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[redirect-referrer]
|
[redirect-referrer]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[redirect-referrer.any.html]
|
[redirect-referrer.any.html]
|
||||||
[Same origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, same-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
[cors-preflight-referrer.any.worker.html]
|
|
||||||
[Referrer policy: "" and referrer: default]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Referrer policy: "" and referrer: 'myreferrer']
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
||||||
[cors-preflight-referrer.any.html]
|
|
||||||
[Referrer policy: "" and referrer: default]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Referrer policy: "" and referrer: 'myreferrer']
|
|
||||||
expected: FAIL
|
|
|
@ -1,80 +0,0 @@
|
||||||
[redirect-referrer.any.html]
|
|
||||||
[Same origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, same-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
||||||
[redirect-referrer.any.worker.html]
|
|
||||||
[Same origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, same-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Same origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, unsafe-url redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, no-referrer-when-downgrade redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header ]
|
|
||||||
expected: FAIL
|
|
Loading…
Add table
Add a link
Reference in a new issue