| <!doctype html><!-- webkit-test-runner [ RequestIdleCallbackEnabled=true ] --> |
| <meta charset="utf-8"> |
| <meta name="timeout" content="long"> |
| <title>IdleDeadline::timeRemaining() uses relevant global object as a high-res timestamp origin</title> |
| <link rel="help" href="https://w3c.github.io/requestidlecallback/#dom-idledeadline-timeremaining"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <body> |
| <script> |
| const t = async_test(); |
| t.step_timeout(() => { |
| const iframeDelayed = document.createElement("iframe"); |
| iframeDelayed.onload = t.step_func(() => { |
| requestIdleCallback(t.step_func_done(deadline => { |
| assert_approx_equals( |
| iframeDelayed.contentWindow.IdleDeadline.prototype.timeRemaining.call(deadline), |
| deadline.timeRemaining(), |
| 5, |
| ); |
| })); |
| }); |
| document.body.append(iframeDelayed); |
| }, 1000); |
| </script> |