| <!doctype html> | |
| <meta charset=utf-8> | |
| <title>requestIdleCallback timeout callback must be called with didTimeout equal to true</title> | |
| <meta name="timeout" content="long"> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <div id="log"></div> | |
| <script> | |
| async_test(function (t) { | |
| assert_false(document.hidden, "document.hidden must exist and be false to run this test properly"); | |
| var counter = 0; | |
| function g(deadline) { | |
| assert_true(deadline.didTimeout) | |
| t.done(); | |
| } | |
| function f(deadline) { | |
| assert_false(deadline.didTimeout); | |
| window.requestIdleCallback(t.step_func(g), {timeout:300}); | |
| var d = Date.now() + 500; | |
| while (Date.now() < d) { | |
| } | |
| } | |
| window.requestIdleCallback(t.step_func(f)); | |
| }, "requestIdleCallback callback should time out"); | |
| async_test(function (t) { | |
| assert_false(document.hidden, "document.hidden must exist and be false to run this test properly"); | |
| function g(deadline) { | |
| assert_false(deadline.didTimeout) | |
| t.done(); | |
| } | |
| function f(deadline) { | |
| assert_false(deadline.didTimeout); | |
| window.requestIdleCallback(t.step_func(g), {timeout:100000}); | |
| } | |
| window.requestIdleCallback(t.step_func(f)); | |
| }, "requestIdleCallback callback should not time out"); | |
| </script> |