diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/animation-worklet/worklet-animation-pause-resume.https.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/animation-worklet/worklet-animation-pause-resume.https.html')
-rw-r--r-- | testing/web-platform/tests/animation-worklet/worklet-animation-pause-resume.https.html | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/animation-worklet/worklet-animation-pause-resume.https.html b/testing/web-platform/tests/animation-worklet/worklet-animation-pause-resume.https.html new file mode 100644 index 0000000000..f26a93468c --- /dev/null +++ b/testing/web-platform/tests/animation-worklet/worklet-animation-pause-resume.https.html @@ -0,0 +1,40 @@ +<!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> |