blob: 6d456325f44c90dea74e94869833234f963ec1c4 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>
<body>
<script>
var currentFrame = 0;
var failed = false;
function finishTest()
{
if (failed)
testFailed("Some of the requestAnimationFrame() callback timestamps were larger than Performance.now() by more than 3ms.");
else
testPassed("All the differences between requestAnimationFrame() callback timestamps and Performance.now() were within 3ms.")
finishJSTest();
}
function doAnimation(timestamp)
{
const Tolerance = 3;
const WarmupFrames = 5;
var performanceNow = window.performance.now();
if (++currentFrame > WarmupFrames && Math.abs(timestamp - performanceNow) >= Tolerance) {
debug("requestAnimationFrame() timestamp = " + timestamp + ", window.performance.now() = " + performanceNow);
failed = true;
}
const MaxFrames = 25;
if (currentFrame == MaxFrames)
finishTest();
else
requestAnimationFrame(doAnimation);
}
window.jsTestIsAsync = true;
requestAnimationFrame(doAnimation);
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>