| <!DOCTYPE html><!-- webkit-test-runner [ RequestIdleCallbackEnabled=true ] --> |
| <script src="../resources/js-test.js"></script> |
| description('This tests that when requestIdleCallback is enabled, requestIdleCallback is eventaully called in the order.'); |
| const iframe = document.createElement('iframe'); |
| requestIdleCallback(() => { |
| 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); |
| shouldBe('logs.length', '3'); |
| shouldBeEqualToString('logs.join(", ")', '1.A1, 3.A2, 4.A3'); |