<!DOCTYPE html>
<body>
<style>

    #target {
        position: absolute;
        left: 0;
        top: 0;
        width: 100px;
        height: 100px;
        background-color: black;
    }

</style>
<div id="target"></div>
<script>

(async () => {
    if (window.testRunner)
        window.testRunner.waitUntilDone();

    const target = document.getElementById("target");

    // Start a forward-filling accelerated animation.
    const fillingAnimation = target.animate({ transform: "translateX(100px)" }, { duration: 1, fill: "forwards" });
    await fillingAnimation.finished;

    // Start another animation with an implicit from keyframe.
    const animation = target.animate({ transform: "translateY(1px)" }, { duration: 1000 * 1000 });

    // Wait two frames for the accelerated animation to be committed.
    await animation.ready;
    await new Promise(requestAnimationFrame);
    await new Promise(requestAnimationFrame);
    await new Promise(requestAnimationFrame);

    if (window.testRunner)
        window.testRunner.notifyDone();
})();

</script>
</body>
