48 lines
1.4 KiB
HTML
48 lines
1.4 KiB
HTML
<html><!-- webkit-test-runner [ HiddenPageDOMTimerThrottlingEnabled=true ] -->
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description('Tests that DOM timers on hidden pages that have not reached max nesting level are not throttled.');
|
|
jsTestIsAsync = true;
|
|
|
|
let timerCount = 0;
|
|
let isPageVisible = true;
|
|
const timeoutInterval = 10;
|
|
let timerHandle = 0;
|
|
const maxNestingLevel = 5;
|
|
|
|
function testTimer()
|
|
{
|
|
timerCount++;
|
|
|
|
timerHandle = setTimeout(testTimer, timeoutInterval);
|
|
shouldBeFalse("internals.isTimerThrottled(timerHandle)");
|
|
|
|
if (timerCount == 1) {
|
|
testRunner.setPageVisibility("hidden");
|
|
isPageVisible = false;
|
|
} else if (timerCount == maxNestingLevel - 1) {
|
|
testRunner.resetPageVisibility();
|
|
clearTimeout(timerHandle);
|
|
finishJSTest();
|
|
return;
|
|
}
|
|
}
|
|
|
|
function runTest()
|
|
{
|
|
if (!window.testRunner) {
|
|
debug('This test requires testRunner');
|
|
return;
|
|
}
|
|
|
|
timerHandle = setTimeout(testTimer, timeoutInterval);
|
|
shouldBeFalse("internals.isTimerThrottled(timerHandle)");
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|