mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00: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),
|
||||
"origin-when-cross-origin" => Some(ReferrerPolicy::OriginWhenCrossOrigin),
|
||||
"always" | "unsafe-url" => Some(ReferrerPolicy::UnsafeUrl),
|
||||
"" => Some(ReferrerPolicy::NoReferrer),
|
||||
"" => Some(ReferrerPolicy::default()),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1519,8 +1519,8 @@ pub fn parse_a_sizes_attribute(value: DOMString) -> SourceSizeList {
|
|||
|
||||
fn get_correct_referrerpolicy_from_raw_token(token: &DOMString) -> DOMString {
|
||||
if token == "" {
|
||||
// Empty token is treated as no-referrer inside determine_policy_for_token,
|
||||
// while here it should be treated as the default value, so it should remain unchanged.
|
||||
// Empty token is treated as the default referrer policy inside determine_policy_for_token,
|
||||
// so it should remain unchanged.
|
||||
DOMString::new()
|
||||
} else {
|
||||
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 {
|
||||
// https://html.spec.whatwg.org/multipage/#dom-image
|
||||
fn Image(
|
||||
|
|
|
@ -805,7 +805,7 @@ impl From<NetTraitsRequestMode> for RequestMode {
|
|||
impl From<ReferrerPolicy> for MsgReferrerPolicy {
|
||||
fn from(policy: ReferrerPolicy) -> Self {
|
||||
match policy {
|
||||
ReferrerPolicy::_empty => MsgReferrerPolicy::NoReferrer,
|
||||
ReferrerPolicy::_empty => MsgReferrerPolicy::default(),
|
||||
ReferrerPolicy::No_referrer => MsgReferrerPolicy::NoReferrer,
|
||||
ReferrerPolicy::No_referrer_when_downgrade => {
|
||||
MsgReferrerPolicy::NoReferrerWhenDowngrade
|
||||
|
|
|
@ -1,21 +1,8 @@
|
|||
[cors-preflight-referrer.any.worker.html]
|
||||
type: testharness
|
||||
[Referrer policy: "" and referrer: default]
|
||||
expected: FAIL
|
||||
|
||||
[Referrer policy: "" and referrer: 'myreferrer']
|
||||
expected: FAIL
|
||||
|
||||
[cors-preflight-referrer]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[cors-preflight-referrer.any.html]
|
||||
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]
|
||||
[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]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[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