blob: cd7c9ccf04cd0df0c663daf318953a319cc6042e [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 prevalent resources without user interaction.");
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);
}
var referrer;
setEnableFeature(true, function() {
if (testRunner.isStatisticsPrevalentResource("http://localhost"))
testFailed("Localhost was classified as prevalent resource before the test started.");
fetch("resources/echo-referrer.php").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-prevalent-subresource-requests.html");
testRunner.setStatisticsPrevalentResource("http://localhost", true, function() {
if (!testRunner.isStatisticsPrevalentResource("http://localhost"))
testFailed("Host did not get set as prevalent resource.");
testRunner.statisticsUpdateCookieBlocking(function() {
fetch("http://localhost:8000/resourceLoadStatistics/resources/echo-referrer.php").then(function(response) {
return response.text();
}).then(function(data) {
referrer = data;
shouldBeEqualToString("referrer", "http://127.0.0.1:8000/");
openIframe("resources/redirect.php?redirectTo=http://localhost:8000/resourceLoadStatistics/resources/echo-referrer.php", 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>