blob: 812eaee2347eb6eeb09348ea5157a0f896f07c93 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
<script src="/js-test-resources/ui-helper.js"></script>
<script src="/resourceLoadStatistics/resources/util.js"></script>
<script>
description("Tests that a iframe from a prevalent domain will be reported as prevalent under this page.");
jsTestIsAsync = true;
function finishTest() {
setEnableFeature(false, finishJSTest);
}
const iframeID = "iFrameFromPrevalentDomain";
function askForPrevalentResources() {
testRunner.getPrevalentDomains(function (arrayOfDomains) {
var passed = true;
for (var i = 0; i < arrayOfDomains.length; ++i) {
if (arrayOfDomains[i] === "localhost") {
passed = true;
break;
}
}
if (passed)
testPassed("Domain was successfully marked prevalent.");
else
testFailed("Domain was not successfully marked prevalent.");
finishTest();
});
}
function activateElement(elementId) {
var element = document.getElementById(elementId);
var centerX = element.offsetLeft + element.offsetWidth / 2;
var centerY = element.offsetTop + element.offsetHeight / 2;
UIHelper.activateAt(centerX, centerY).then(
function () { },
function () {
testFailed("Promise rejected.");
finishTest();
}
);
askForPrevalentResources();
}
function runTest() {
if (document.location.hash !== "#elementActivated") {
document.location.hash = "elementActivated";
activateElement(iframeID);
}
}
const hostUnderTest = "localhost:8000";
const statisticsUrl = "http://" + hostUnderTest;
testRunner.setUseITPDatabase(true);
setEnableFeature(true, function() {
testRunner.setStatisticsPrevalentResource(statisticsUrl, true, function() {
if (!testRunner.isStatisticsPrevalentResource(statisticsUrl))
testFailed("Host did not get set as prevalent resource.");
let iframeElement = document.createElement("iframe");
iframeElement.onload = runTest;
iframeElement.id = "iFrameFromPrevalentDomain";
iframeElement.src = "http://localhost:8000/resourceLoadStatistics/resources/basic-iframe.html";
document.body.appendChild(iframeElement);
});
});
</script>
</head>
<body>
</body>
</html>