| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>Model liveness: currentTime will not change in a task (frames)</title> |
| <link rel="help" href="https://w3c.github.io/web-animations/#model-liveness"> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="../imported/wpt/web-animations/testcommon.js"></script> |
| |
| <iframe id=frame></iframe> |
| |
| <script> |
| var handle = async_test('Document timeline should tick consistently across frames'); |
| var baseTime = document.timeline.currentTime; |
| var frameBaseTime = frame.contentDocument.timeline.currentTime; |
| setTimeout(() => { |
| // Ensure that time in this task has advanced sufficiently for implementations |
| // that might bind the currentTime lazily. |
| var start = performance.now(); |
| while (performance.now() - start < 30); |
| var delta = document.timeline.currentTime - baseTime; |
| |
| // Advance time further before querying the frame's time. |
| var start = performance.now(); |
| while (performance.now() - start < 30); |
| var frameDelta = frame.contentDocument.timeline.currentTime - frameBaseTime; |
| |
| handle.step(() => assert_times_equal(delta, frameDelta)); |
| handle.done(); |
| }); |
| </script> |