Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
</head>
<body>
<div id="testDiv"></div>
<script>
const host = get_host_info();
const notSameSiteBaseURL = host.HTTP_NOTSAMESITE_ORIGIN + window.location.pathname.replace(/\/[^\/]*$/, '/') ;
const ok = true;
const ko = false;
const noCors = false;
function loadScript(url, shoudLoad, corsMode, title)
{
const testDiv = document.getElementById("testDiv");
promise_test(() => {
const script = document.createElement("script");
if (corsMode)
script.crossOrigin = corsMode;
script.src = url;
return new Promise((resolve, reject) => {
script.onload = shoudLoad ? resolve : reject;
script.onerror = shoudLoad ? reject : resolve;
testDiv.appendChild(script);
});
}, title);
}
loadScript("./resources/script.py?corp=same-origin", ok, noCors,
"Same-origin script load with a 'Cross-Origin-Resource-Policy: same-origin' response header.");
loadScript("./resources/script.py?corp=same-site", ok, noCors,
"Same-origin script load with a 'Cross-Origin-Resource-Policy: same-site' response header.");
loadScript(notSameSiteBaseURL + "resources/script.py?corp=same-origin&acao=*", ok, "anonymous",
"Cross-origin cors script load with a 'Cross-Origin-Resource-Policy: same-origin' response header.");
loadScript(notSameSiteBaseURL + "resources/script.py?corp=same-site&acao=*", ok, "anonymous",
"Cross-origin cors script load with a 'Cross-Origin-Resource-Policy: same-site' response header.");
loadScript(notSameSiteBaseURL + "resources/script.py?corp=same-origin&acao=*", ko, noCors,
"Cross-origin no-cors script load with a 'Cross-Origin-Resource-Policy: same-origin' response header.");
loadScript(notSameSiteBaseURL + "resources/script.py?corp=same-site&acao=*", ko, noCors,
"Cross-origin no-cors script load with a 'Cross-Origin-Resource-Policy: same-site' response header.");
</script>
</body>
</html>