39 lines
1.2 KiB
HTML
39 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<body>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<div style="position: relative; width: 1600px; height: 2400px; background-color: green;">
|
|
<div style="position:absolute; left: 600px; top: 800px;">
|
|
<div id="testElement">TEST</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
description("Tests that a repeating timer changing the height of an element outside viewport does not get throttled.");
|
|
jsTestIsAsync = true;
|
|
|
|
var testElement = document.getElementById('testElement');
|
|
var iterationCount = 0;
|
|
var timeoutId;
|
|
|
|
function timerCallback()
|
|
{
|
|
++iterationCount;
|
|
|
|
// Change the height of the element while it is outside viewport.
|
|
testElement.style["height"] = "" + iterationCount;
|
|
|
|
// 5 iterations should be sufficient to throttle the timer.
|
|
if (iterationCount == 5) {
|
|
// Do not use shouldBeTrue() because it would cause a DOM tree mutation
|
|
// and unthrottle the timer.
|
|
shouldBeFalse("internals.isTimerThrottled(timeoutId)");
|
|
clearInterval(timeoutId);
|
|
finishJSTest();
|
|
}
|
|
}
|
|
|
|
timeoutId = setInterval(timerCallback, 10);
|
|
shouldBeFalse("internals.isTimerThrottled(timeoutId)");
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|