| <!doctype html><!-- webkit-test-runner [ experimental:RequestIdleCallbackEnabled=true ] --> |
| <meta charset=utf-8> |
| <title>cancelling idle requests</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <div id="log"></div> |
| <script> |
| test(function (t) { |
| window.cancelIdleCallback(42); |
| assert_true(true); |
| }, "cancelIdleCallback does nothing if there is no callback with the given handle"); |
| |
| async_test(function (t) { |
| assert_false(document.hidden, "document.hidden must exist and be false to run this test properly"); |
| var neverCalled = true; |
| var handle = window.requestIdleCallback(function () { |
| neverCalled = false; |
| }); |
| window.cancelIdleCallback(handle); |
| |
| t.step_timeout(function() { |
| assert_true(neverCalled); |
| t.done(); |
| }, 2000); |
| }, "A cancelled callback is never invoked"); |
| |
| async_test(function (t) { |
| var handle = requestIdleCallback(t.step_func_done(function () { |
| cancelIdleCallback(handle); |
| })); |
| }, "Cancelling the currently executing idle callback should be allowed"); |
| </script> |