blob: 7c299e50260f6ac7d6408d38fa1864c0588499af [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
<script src="resources/util.js"></script>
</head>
<body>
<script>
description("Tests that only the origin is sent as referrer for third-party requests.");
jsTestIsAsync = true;
testRunner.dumpChildFramesAsText();
function openIframe(url, onLoadHandler) {
const element = document.createElement("iframe");
element.src = url;
if (onLoadHandler) {
element.onload = onLoadHandler;
}
document.body.appendChild(element);
}
let referrer;
setEnableFeature(true, function() {
fetch("resources/echo-referrer.py").then(function(response) {
return response.text();
}).then(function(data) {
referrer = data;
shouldBeEqualToString("referrer", "http://127.0.0.1:8000/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-requests.html");
fetch("http://localhost:8000/resourceLoadStatistics/resources/echo-referrer.py").then(function(response) {
return response.text();
}).then(function(data) {
referrer = data;
shouldBeEqualToString("referrer", "http://127.0.0.1:8000/");
openIframe("resources/redirect.py?redirectTo=http://localhost:8000/resourceLoadStatistics/resources/echo-referrer.py", function() {
setEnableFeature(false, finishJSTest);
});
}).catch(function(error) {
console.log(error.message);
setEnableFeature(false, finishJSTest);
});
}).catch(function(error) {
console.log(error.message);
setEnableFeature(false, finishJSTest);
});
});
</script>
</body>
</html>