blob: 653bde072b990137999ac30a58bf3ba625919444 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Service Worker third party cookie setting</title>
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
</head>
<body>
<div id="restart" onclick="window.location = 'http://localhost:8800/WebKit/service-workers/third-party-cookie.html'">Click to restart test</div>
<br>
<div id="log"></div>
<script>
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.dumpAsText();
}
async function setCookie()
{
var iframe = await with_iframe("http://127.0.0.1:8800/WebKit/service-workers/resources/third-party-cookie-iframe.html");
var result = await new Promise((resolve) => {
window.onmessage = (e) => {
resolve(e.data);
};
iframe.contentWindow.postMessage("set-cookie", '*');
});
if (result !== "cookie-is-set") {
document.body.innerHTML = "Fail setting cookie";
if (window.testRunner)
testRunner.notifyDone();
return;
}
iframe.remove();
window.location = "http://127.0.0.1:8800/WebKit/service-workers/third-party-cookie.html?second-step#report";
}
function reportCookie()
{
window.location = "http://localhost:8800/WebKit/service-workers/third-party-cookie.html?third-step#cookie='" + document.cookie + "'";
}
function checkCookie()
{
log.innerHTML = window.location.hash === "#cookie=''"? "PASS" : "FAIL, got :" + window.location.hash;
if (window.testRunner)
testRunner.notifyDone();
}
const shouldSetCookie = !window.location.hash;
const shouldReportCookie = window.location.hostname === "127.0.0.1";
if (shouldSetCookie)
setCookie();
else if (shouldReportCookie)
reportCookie();
else
checkCookie();
</script>
</body>
</html>