blob: 03e3803d9d2ab2c86a25c07997108d16a5c5b719 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#target {
position: absolute;
left: 0;
top: 0;
width: 100px;
height: 100px;
background-color: black;
}
</style>
</head>
<body>
<div id="target"></div>
<script>
if (window.testRunner)
testRunner.waitUntilDone();
const animation = document.getElementById("target").animate({ transform: ["translateX(0)", "translateX(100px)"] }, 1000);
animation.ready.then(() => {
// Ensure accelerated animations have been commmitted by waiting for the next frame.
requestAnimationFrame(() => {
// We pause the animation right away.
animation.pause();
// Then on the next frame, we change its delay to seek it to its mid-point.
requestAnimationFrame(() => {
const effect = animation.effect;
const duration = effect.getTiming().duration;
const delay = animation.currentTime - 0.5 * duration;
animation.effect.updateTiming({ delay });
// Then wait another frame to ensure the seek was committed.
if (window.testRunner)
requestAnimationFrame(() => testRunner.notifyDone());
});
});
});
</script>
</body>
</html>