blob: 526da2f44db7453567b804a2d1c5a700f0c463b2 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>
var i = 0;
var context;
var timeoutId;
function loop()
{
i = (i + 1) % 255;
context.fillStyle = "rgb(" + i + ", 0, 0)";
context.fillRect(0, 0, 150, 150);
// 5 iterations should suffice to throttle the timer.
if (i == 5) {
debug("Timer should still not be throttled because it is drawing on a canvas inside viewport.");
shouldBeFalse("internals.isTimerThrottled(timeoutId)");
clearInterval(timeoutId);
finishJSTest();
}
}
function runTest() {
context = document.getElementById("canvas").getContext('2d');
timeoutId = setInterval(loop, 5);
debug("Timer should initially not be throttled.");
shouldBeFalse("internals.isTimerThrottled(timeoutId)");
}
</script>
</head>
<body onload="runTest();">
<script>
description("Test that a DOM timer drawing on a canvas inside viewport does not get throttled.");
jsTestIsAsync = true;
</script>
<canvas id="canvas" width=150 height=150></canvas>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>