blob: dab013a20aea9b7d59a30521c9a6eb855459c0fa [file] [edit]
<!DOCTYPE html><!-- webkit-test-runner [ RequestIdleCallbackEnabled=true ] -->
<html>
<body>
<script src="../resources/js-test.js"></script>
<script src="../resources/ui-helper.js"></script>
<script>
description('This tests that the deadline can be reached.');
jsTestIsAsync = true;
let didRunIdleCallback = false;
onload = async () => {
await UIHelper.renderingUpdate();
await UIHelper.renderingUpdate();
await new Promise(resolve => {
requestIdleCallback((idleDeadline) => {
didRunIdleCallback = true;
window.idleDeadline = idleDeadline;
window.preferredRenderingUpdateInterval = internals.preferredRenderingUpdateInterval();
shouldBeTrue('idleDeadline.timeRemaining() > preferredRenderingUpdateInterval');
document.body.appendChild(document.createElement('span')).textContent = 'hello';
requestAnimationFrame(() => { });
shouldBeTrue('idleDeadline.timeRemaining() <= preferredRenderingUpdateInterval + 0.5');
if (idleDeadline.timeRemaining() > preferredRenderingUpdateInterval + 0.5)
console.log(idleDeadline.timeRemaining() + ' > ' + preferredRenderingUpdateInterval);
resolve();
});
});
setTimeout(() => {
shouldBeTrue('didRunIdleCallback');
finishJSTest();
}, 200);
}
</script>
</body>
</html>