| <!doctype html> | |
| <meta charset=utf-8> | |
| <title>multiple calls to requestIdleCallback</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <div id="log"></div> | |
| <script> | |
| let option = {timeout: 50}; | |
| async_test(function (t) { | |
| assert_false(document.hidden, "document.hidden must exist and be false to run this test properly"); | |
| var counter = 0; | |
| function f(c) { | |
| assert_equals(counter, c); | |
| if (counter === 49) { | |
| t.done(); | |
| } | |
| ++counter; | |
| } | |
| for (var i = 0; i < 100; ++i) { | |
| let j = i; | |
| window.requestIdleCallback(t.step_func(function () { f(j) }), option); | |
| } | |
| }, "requestIdleCallback callbacks should be invoked in order (called iteratively)"); | |
| async_test(function (t) { | |
| assert_false(document.hidden, "document.hidden must exist and be false to run this test properly"); | |
| var counter = 0; | |
| function f(c) { | |
| assert_equals(counter, c); | |
| if (counter === 49) { | |
| t.done(); | |
| } | |
| ++counter; | |
| window.requestIdleCallback(t.step_func(function () { f(c + 1) }), option); | |
| } | |
| window.requestIdleCallback(t.step_func(function () { f(0) }), option); | |
| }, "requestIdleCallback callbacks should be invoked in order (called recursively)"); | |
| let generateIdlePeriods = _ => requestAnimationFrame(generateIdlePeriods); | |
| generateIdlePeriods(); | |
| </script> |