| <script src="../../resources/js-test.js"></script> |
| description('<a href="http://crbug.com/259680">Bug 259680</a>: JavaScript setInterval lagging behind'); |
| var jsTestIsAsync = true; |
| var intervalDuration = 1000; |
| var expectedNumFires = 4; |
| var currentTime = new Date().getTime(); |
| if (currentTime >= startTime + testDuration) { |
| shouldBeCloseTo("numFires", expectedNumFires, tolerance); |
| clearInterval(intervalID); |
| if (!window.testRunner) { |
| debug('This test requires testRunner'); |
| testRunner.setPageVisibility("hidden"); |
| startTime = new Date().getTime(); |
| intervalID = window.setInterval(timerFired, intervalDuration); |
| <body onload="runTest()"> |
| This test ensures that intervals on background pages whose duration is close to the timer alignment interval don't miss every other firing. |