| <!DOCTYPE html> |
| <html class="reftest-wait"> |
| <title>Verify that calling pause immediately after playing works as expected</title> |
| <link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/"> |
| <link rel="match" href="references/translated-box-ref.html"> |
| |
| <script src="/common/reftest-wait.js"></script> |
| <script src="common.js"></script> |
| <style> |
| #box { |
| width: 100px; |
| height: 100px; |
| background-color: green; |
| } |
| </style> |
| |
| <div id="box"></div> |
| |
| <script> |
| registerPassthroughAnimator().then(async _ => { |
| const duration = 18; // a bit longer than a frame |
| const box = document.getElementById('box'); |
| const effect = new KeyframeEffect(box, |
| { transform: ['translateY(0px)', 'translateY(100px)'] }, |
| { duration: duration, iterations: 1, fill: 'forwards'} |
| ); |
| |
| const animation = new WorkletAnimation('passthrough', effect); |
| // Immediately pausing animation should freeze the current time at 0. |
| animation.pause(); |
| // Playing should cause animation to resume. |
| animation.play(); |
| // Wait until we ensure animation has reached completion. |
| await waitForAnimationFrameWithCondition( _ => { |
| return animation.currentTime >= duration; |
| }); |
| takeScreenshot(); |
| }); |
| </script> |
| </html> |