blob: 5eda3fe538962a2cca1f1781f5cc9abbe6d936f9 [file] [log] [blame]
<!DOCTYPE html><!-- webkit-test-runner [ experimental:RequestIdleCallbackEnabled=true ] -->
<html>
<body>
<script src="../resources/js-test.js"></script>
<script>
description('This tests that when requestIdleCallback is enabled, requestIdleCallback is eventaully called in the order.');
jsTestIsAsync = true;
const iframe = document.createElement('iframe');
const logs = [];
iframe.onload = () => {
requestIdleCallback(() => {
logs.push('1.A1');
iframe.contentWindow.cancelIdleCallback(b1);
});
const b1 = iframe.contentWindow.requestIdleCallback(() => logs.push('2.B1'));
window.a2 = requestIdleCallback(() => logs.push('3.A2'));
cancelIdleCallback(a2 + 1);
window.a3 = requestIdleCallback(() => logs.push('4.A3'));
shouldBe('a3', 'a2 + 1');
}
document.body.appendChild(iframe);
setTimeout(() => {
shouldBe('logs.length', '3');
shouldBeEqualToString('logs.join(", ")', '1.A1, 3.A2, 4.A3');
finishJSTest();
}, 200);
</script>
</body>
</html>