| 1 var SPEC_JSON = {"subresource_path": {"img-tag": "/referrer-policy/generic/subre
source/image.py", "fetch-request": "/referrer-policy/generic/subresource/xhr.py"
, "a-tag": "/referrer-policy/generic/subresource/document.py", "area-tag": "/ref
errer-policy/generic/subresource/document.py", "iframe-tag": "/referrer-policy/g
eneric/subresource/document.py", "xhr-request": "/referrer-policy/generic/subres
ource/xhr.py", "worker-request": "/referrer-policy/generic/subresource/worker.py
", "script-tag": "/referrer-policy/generic/subresource/script.py"}, "test_expans
ion_schema": {"origin": ["same-origin", "cross-origin"], "subresource": ["iframe
-tag", "img-tag", "script-tag", "a-tag", "area-tag", "xhr-request", "worker-requ
est", "fetch-request"], "target_protocol": ["http", "https"], "expansion": ["def
ault", "override"], "delivery_method": ["http-rp", "meta-referrer", "attr-referr
er", "rel-noreferrer"], "redirection": ["no-redirect", "keep-origin-redirect", "
swap-origin-redirect"], "referrer_url": ["omitted", "origin", "stripped-referrer
"], "source_protocol": ["http", "https"]}, "specification": [{"specification_url
": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policies", "referr
er_policy": null, "title": "Referrer Policy is not explicitly defined", "test_ex
pansion": [{"origin": "*", "name": "insecure-protocol", "target_protocol": "http
", "expansion": "default", "delivery_method": ["http-rp", "meta-referrer", "attr
-referrer"], "redirection": "*", "referrer_url": "stripped-referrer", "source_pr
otocol": "http", "subresource": "*"}, {"origin": "*", "name": "upgrade-protocol"
, "target_protocol": "https", "expansion": "default", "delivery_method": ["http-
rp", "meta-referrer", "attr-referrer"], "redirection": "*", "referrer_url": "str
ipped-referrer", "source_protocol": "http", "subresource": "*"}, {"origin": "*",
"name": "downgrade-protocol", "target_protocol": "http", "expansion": "default"
, "delivery_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection
": "*", "referrer_url": "omitted", "source_protocol": "https", "subresource": "*
"}, {"origin": "*", "name": "secure-protocol", "target_protocol": "https", "expa
nsion": "default", "delivery_method": ["http-rp", "meta-referrer", "attr-referre
r"], "redirection": "*", "referrer_url": "stripped-referrer", "source_protocol":
"https", "subresource": "*"}], "name": "unset-referrer-policy", "description":
"Check that referrer URL follows no-referrer-when-downgrade policy when no expli
cit Referrer Policy is set."}, {"specification_url": "https://w3c.github.io/weba
ppsec-referrer-policy/#referrer-policy-no-referrer", "referrer_policy": "no-refe
rrer", "title": "Referrer Policy is set to 'no-referrer'", "test_expansion": [{"
origin": "*", "name": "generic", "target_protocol": "*", "expansion": "default",
"delivery_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection"
: "*", "referrer_url": "omitted", "source_protocol": "*", "subresource": "*"}],
"name": "no-referrer", "description": "Check that sub-resource never gets the re
ferrer URL."}, {"specification_url": "https://w3c.github.io/webappsec-referrer-p
olicy/#referrer-policy-no-referrer-when-downgrade", "referrer_policy": "no-refer
rer-when-downgrade", "title": "Referrer Policy is set to 'no-referrer-when-downg
rade'", "test_expansion": [{"origin": "*", "name": "insecure-protocol", "target_
protocol": "http", "expansion": "default", "delivery_method": ["http-rp", "meta-
referrer", "attr-referrer"], "redirection": "*", "referrer_url": "stripped-refer
rer", "source_protocol": "http", "subresource": "*"}, {"origin": "*", "name": "u
pgrade-protocol", "target_protocol": "https", "expansion": "default", "delivery_
method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*", "ref
errer_url": "stripped-referrer", "source_protocol": "http", "subresource": "*"},
{"origin": "*", "name": "downgrade-protocol", "target_protocol": "http", "expan
sion": "default", "delivery_method": ["http-rp", "meta-referrer", "attr-referrer
"], "redirection": "*", "referrer_url": "omitted", "source_protocol": "https", "
subresource": "*"}, {"origin": "*", "name": "secure-protocol", "target_protocol"
: "https", "expansion": "default", "delivery_method": ["http-rp", "meta-referrer
", "attr-referrer"], "redirection": "*", "referrer_url": "stripped-referrer", "s
ource_protocol": "https", "subresource": "*"}], "name": "no-referrer-when-downgr
ade", "description": "Check that non a priori insecure subresource gets the full
Referrer URL. A priori insecure subresource gets no referrer information."}, {"
specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-p
olicy-origin", "referrer_policy": "origin", "title": "Referrer Policy is set to
'origin'", "test_expansion": [{"origin": "*", "name": "generic", "target_protoco
l": "*", "expansion": "default", "delivery_method": ["http-rp", "meta-referrer",
"attr-referrer"], "redirection": "*", "referrer_url": "origin", "source_protoco
l": "*", "subresource": "*"}], "name": "origin", "description": "Check that all
subresources in all casses get only the origin portion of the referrer URL."}, {
"specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-
policy-same-origin", "referrer_policy": "same-origin", "title": "Referrer Policy
is set to 'same-origin'", "test_expansion": [{"origin": "same-origin", "name":
"same-origin-insecure", "target_protocol": "http", "expansion": "default", "deli
very_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*",
"referrer_url": "stripped-referrer", "source_protocol": "http", "subresource":
"*"}, {"origin": "same-origin", "name": "same-origin-secure-default", "target_pr
otocol": "https", "expansion": "default", "delivery_method": ["http-rp", "meta-r
eferrer", "attr-referrer"], "redirection": "*", "referrer_url": "stripped-referr
er", "source_protocol": "https", "subresource": "*"}, {"origin": "same-origin",
"name": "same-origin-insecure", "target_protocol": "*", "expansion": "override",
"delivery_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection"
: "swap-origin-redirect", "referrer_url": "omitted", "source_protocol": "*", "su
bresource": "*"}, {"origin": "cross-origin", "name": "cross-origin", "target_pro
tocol": "*", "expansion": "default", "delivery_method": ["http-rp", "meta-referr
er", "attr-referrer"], "redirection": "*", "referrer_url": "omitted", "source_pr
otocol": "*", "subresource": "*"}], "name": "same-origin", "description": "Check
that cross-origin subresources get no referrer information and same-origin get
the stripped referrer URL."}, {"specification_url": "https://w3c.github.io/webap
psec-referrer-policy/#referrer-policy-origin-when-cross-origin", "referrer_polic
y": "origin-when-cross-origin", "title": "Referrer Policy is set to 'origin-when
-cross-origin'", "test_expansion": [{"origin": "same-origin", "name": "same-orig
in-insecure", "target_protocol": "http", "expansion": "default", "delivery_metho
d": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*", "referrer
_url": "stripped-referrer", "source_protocol": "http", "subresource": "*"}, {"or
igin": "same-origin", "name": "same-origin-secure-default", "target_protocol": "
https", "expansion": "default", "delivery_method": ["http-rp", "meta-referrer",
"attr-referrer"], "redirection": "*", "referrer_url": "stripped-referrer", "sour
ce_protocol": "https", "subresource": "*"}, {"origin": "same-origin", "name": "s
ame-origin-upgrade", "target_protocol": "https", "expansion": "default", "delive
ry_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*", "
referrer_url": "origin", "source_protocol": "http", "subresource": "*"}, {"origi
n": "same-origin", "name": "same-origin-downgrade", "target_protocol": "https",
"expansion": "default", "delivery_method": ["http-rp", "meta-referrer", "attr-re
ferrer"], "redirection": "*", "referrer_url": "origin", "source_protocol": "http
", "subresource": "*"}, {"origin": "same-origin", "name": "same-origin-insecure"
, "target_protocol": "*", "expansion": "override", "delivery_method": ["http-rp"
, "meta-referrer", "attr-referrer"], "redirection": "swap-origin-redirect", "ref
errer_url": "origin", "source_protocol": "*", "subresource": "*"}, {"origin": "c
ross-origin", "name": "cross-origin", "target_protocol": "*", "expansion": "defa
ult", "delivery_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirec
tion": "*", "referrer_url": "origin", "source_protocol": "*", "subresource": "*"
}], "name": "origin-when-cross-origin", "description": "Check that cross-origin
subresources get the origin portion of the referrer URL and same-origin get the
stripped referrer URL."}, {"specification_url": "https://w3c.github.io/webappsec
-referrer-policy/#referrer-policy-strict-origin", "referrer_policy": "strict-ori
gin", "title": "Referrer Policy is set to 'strict-origin'", "test_expansion": [{
"origin": "*", "name": "insecure-protocol", "target_protocol": "http", "expansio
n": "default", "delivery_method": ["http-rp", "meta-referrer", "attr-referrer"],
"redirection": "*", "referrer_url": "origin", "source_protocol": "http", "subre
source": "*"}, {"origin": "*", "name": "upgrade-protocol", "target_protocol": "h
ttps", "expansion": "default", "delivery_method": ["http-rp", "meta-referrer", "
attr-referrer"], "redirection": "*", "referrer_url": "origin", "source_protocol"
: "http", "subresource": "*"}, {"origin": "*", "name": "downgrade-protocol", "ta
rget_protocol": "http", "expansion": "default", "delivery_method": ["http-rp", "
meta-referrer", "attr-referrer"], "redirection": "*", "referrer_url": "omitted",
"source_protocol": "https", "subresource": "*"}, {"origin": "*", "name": "secur
e-protocol", "target_protocol": "https", "expansion": "default", "delivery_metho
d": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*", "referrer
_url": "origin", "source_protocol": "https", "subresource": "*"}], "name": "stri
ct-origin", "description": "Check that non a priori insecure subresource gets on
ly the origin portion of the referrer URL. A priori insecure subresource gets no
referrer information."}, {"specification_url": "https://w3c.github.io/webappsec
-referrer-policy/#referrer-policy-strict-origin-when-cross-origin", "referrer_po
licy": "strict-origin-when-cross-origin", "title": "Referrer Policy is set to 's
trict-origin-when-cross-origin'", "test_expansion": [{"origin": "same-origin", "
name": "same-insecure", "target_protocol": "http", "expansion": "default", "deli
very_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*",
"referrer_url": "stripped-referrer", "source_protocol": "http", "subresource":
"*"}, {"origin": "same-origin", "name": "same-insecure", "target_protocol": "htt
p", "expansion": "override", "delivery_method": ["http-rp", "meta-referrer", "at
tr-referrer"], "redirection": "swap-origin-redirect", "referrer_url": "origin",
"source_protocol": "http", "subresource": "*"}, {"origin": "cross-origin", "name
": "cross-insecure", "target_protocol": "http", "expansion": "default", "deliver
y_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection": "*", "r
eferrer_url": "origin", "source_protocol": "http", "subresource": "*"}, {"origin
": "*", "name": "upgrade-protocol", "target_protocol": "https", "expansion": "de
fault", "delivery_method": ["http-rp", "meta-referrer", "attr-referrer"], "redir
ection": "*", "referrer_url": "origin", "source_protocol": "http", "subresource"
: "*"}, {"origin": "*", "name": "downgrade-protocol", "target_protocol": "http",
"expansion": "default", "delivery_method": ["http-rp", "meta-referrer", "attr-r
eferrer"], "redirection": "*", "referrer_url": "omitted", "source_protocol": "ht
tps", "subresource": "*"}, {"origin": "same-origin", "name": "same-secure", "tar
get_protocol": "https", "expansion": "default", "delivery_method": ["http-rp", "
meta-referrer", "attr-referrer"], "redirection": "*", "referrer_url": "stripped-
referrer", "source_protocol": "https", "subresource": "*"}, {"origin": "same-ori
gin", "name": "same-secure", "target_protocol": "https", "expansion": "override"
, "delivery_method": ["http-rp", "meta-referrer", "attr-referrer"], "redirection
": "swap-origin-redirect", "referrer_url": "origin", "source_protocol": "https",
"subresource": "*"}, {"origin": "cross-origin", "name": "cross-secure", "target
_protocol": "https", "expansion": "default", "delivery_method": ["http-rp", "met
a-referrer", "attr-referrer"], "redirection": "*", "referrer_url": "origin", "so
urce_protocol": "https", "subresource": "*"}], "name": "strict-origin-when-cross
-origin", "description": "Check that a priori insecure subresource gets no refer
rer information. Otherwise, cross-origin subresources get the origin portion of
the referrer URL and same-origin get the stripped referrer URL."}, {"specificati
on_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsaf
e-url", "referrer_policy": "unsafe-url", "title": "Referrer Policy is set to 'un
safe-url'", "test_expansion": [{"origin": "*", "name": "generic", "target_protoc
ol": "*", "expansion": "default", "delivery_method": ["http-rp", "meta-referrer"
, "attr-referrer"], "redirection": "*", "referrer_url": "stripped-referrer", "so
urce_protocol": "*", "subresource": "*"}], "name": "unsafe-url", "description":
"Check that all sub-resources get the stripped referrer URL."}], "referrer_polic
y_schema": [null, "no-referrer", "no-referrer-when-downgrade", "same-origin", "o
rigin", "origin-when-cross-origin", "strict-origin", "strict-origin-when-cross-o
rigin", "unsafe-url"], "excluded_tests": [{"origin": "cross-origin", "name": "cr
oss-origin-workers", "target_protocol": "*", "expansion": "*", "delivery_method"
: "*", "redirection": "*", "referrer_url": "*", "source_protocol": "*", "subreso
urce": "worker-request"}, {"origin": "*", "name": "upgraded-protocol-workers", "
target_protocol": "https", "expansion": "*", "delivery_method": "*", "redirectio
n": "*", "referrer_url": "*", "source_protocol": "http", "subresource": "worker-
request"}, {"origin": "*", "name": "mixed-content-insecure-subresources", "targe
t_protocol": "http", "expansion": "*", "delivery_method": "*", "redirection": "*
", "referrer_url": "*", "source_protocol": "https", "subresource": "*"}, {"origi
n": "*", "name": "elements-not-supporting-attr-referrer", "target_protocol": "*"
, "expansion": "*", "delivery_method": ["attr-referrer"], "redirection": "*", "r
eferrer_url": "*", "source_protocol": "*", "subresource": ["script-tag", "xhr-re
quest", "worker-request", "fetch-request"]}, {"origin": "*", "name": "elements-n
ot-supporting-rel-noreferrer", "target_protocol": "*", "expansion": "*", "delive
ry_method": ["rel-noreferrer"], "redirection": "*", "referrer_url": "*", "source
_protocol": "*", "subresource": ["iframe-tag", "img-tag", "script-tag", "xhr-req
uest", "worker-request", "fetch-request", "area-tag"]}, {"origin": "*", "name":
"area-tag", "target_protocol": "*", "expansion": "*", "delivery_method": "*", "r
edirection": "*", "referrer_url": "*", "source_protocol": "*", "subresource": "a
rea-tag"}, {"origin": "*", "name": "worker-requests-with-swap-origin-redirect",
"target_protocol": "*", "expansion": "*", "delivery_method": "*", "redirection":
"swap-origin-redirect", "referrer_url": "*", "source_protocol": "*", "subresour
ce": ["worker-request"]}, {"origin": "*", "name": "overhead-for-redirection", "t
arget_protocol": "*", "expansion": "*", "delivery_method": "*", "redirection": [
"keep-origin-redirect", "swap-origin-redirect"], "referrer_url": "*", "source_pr
otocol": "*", "subresource": ["a-tag", "area-tag"]}, {"origin": "*", "name": "so
urce-https-unsupported-by-web-platform-tests-runners", "target_protocol": "*", "
expansion": "*", "delivery_method": "*", "redirection": "*", "referrer_url": "*"
, "source_protocol": "https", "subresource": "*"}]}; |