blob: 7162d9a2e4c8e0dd8a2fd2cb64621c96b372616c [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="/js-test-resources/js-test.js"></script>
<script src="/js-test-resources/ui-helper.js"></script>
<script src="resources/util.js"></script>
<script>
description("Tests that user interaction is not reported repeatedly within a short period of time.");
jsTestIsAsync = true;
const topFrameOrigin = "http://127.0.0.1:8000";
const subFrameOrigin = "http://localhost:8000";
function activateElement(elementId, callback) {
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() {
callback();
},
function() {
testFailed("Promise rejected.");
setEnableFeature(false, finishJSTest);
}
);
}
function firstInteraction() {
shouldBeFalse("testRunner.isStatisticsHasHadUserInteraction(topFrameOrigin)");
shouldBeFalse("testRunner.isStatisticsHasHadUserInteraction(subFrameOrigin)");
activateElement("testElement", secondInteraction);
}
function secondInteraction() {
shouldBeTrue("testRunner.isStatisticsHasHadUserInteraction(topFrameOrigin)");
shouldBeFalse("testRunner.isStatisticsHasHadUserInteraction(subFrameOrigin)");
if (testRunner) {
testRunner.setStatisticsHasHadUserInteraction(topFrameOrigin, false, function() {
shouldBeFalse("testRunner.isStatisticsHasHadUserInteraction(topFrameOrigin)");
activateElement("testElement", finishTest);
});
}
}
function finishTest() {
shouldBeFalse("testRunner.isStatisticsHasHadUserInteraction(topFrameOrigin)");
shouldBeFalse("testRunner.isStatisticsHasHadUserInteraction(subFrameOrigin)");
setEnableFeature(false, finishJSTest);
}
onload = function() {
setEnableFeature(true, function() {
shouldBe("document.location.origin", "topFrameOrigin");
firstInteraction();
});
};
</script>
<div id="testElement">This is the test element</div>
</body>
</html>