| <!doctype html><!-- webkit-test-runner [ experimental:RequestIdleCallbackEnabled=true ] --> |
| <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> |