blob: 7992f497a02fe11c8917379165ceed7450361ae7 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="/js-test-resources/js-test.js"></script>
<script>
description("Tests that we grant User Interaction credit for handled keypresses.");
jsTestIsAsync = true;
const statisticsUrl = "http://127.0.0.1:8000/temp";
onload = function() {
const testFrame = document.getElementById("testFrame");
if (window.testRunner && window.internals) {
internals.setResourceLoadStatisticsEnabled(true);
testRunner.setStatisticsNotifyPagesWhenDataRecordsWereScanned(true);
}
testRunner.setStatisticsPrevalentResource(statisticsUrl, true, function() {
if (!testRunner.isStatisticsPrevalentResource(statisticsUrl))
testFailed("Host did not get set as prevalent resource.");
testRunner.setStatisticsHasHadUserInteraction(statisticsUrl, false, function() {
if (testRunner.isStatisticsHasHadUserInteraction(statisticsUrl))
testFailed("Host did not get cleared of user interaction.");
testInput = document.getElementById("testInput");
testRunner.installStatisticsDidModifyDataRecordsCallback(function() {
shouldBeEqualToString("testInput.value", "a");
if (!testRunner.isStatisticsHasHadUserInteraction(statisticsUrl))
testFailed("Origin did not get user interaction credit.");
else
testPassed("Origin was granted user interaction.");
setTimeout(function() {
testFrame.src = "about:blank";
setTimeout(function() {
testRunner.statisticsResetToConsistentState(function() {
finishJSTest();
});
}, 0);
}, 0);
});
testRunner.setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval(false);
testRunner.setStatisticsMinimumTimeBetweenDataRecordsRemoval(0);
testRunner.statisticsProcessStatisticsAndDataRecords();
debug("Simulate user typing letter 'a' into the field.");
testInput.focus();
if (window.eventSender)
eventSender.keyDown("a");
});
});
}
</script>
<iframe id="testFrame" src="resources/onclick.html"></iframe>
<input id="testInput" type="text">
</body>
</html>