
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="UTF-8">
<title>Infinite duration animation</title>
<link rel="match" href="infinite-duration-animation-ref.html">
<script src="/common/reftest-wait.js"></script>
<script src="../../testcommon.js"></script>
<style>
  #box-1, #box-2 {
    border: 1px solid white;
    height: 40px;
    position: absolute;
    top: 40px;
    width: 40px;
  }
  #box-1 {
    background: blue;
    z-index: 1;
  }
  #box-2 {
    background: white;
    z-index: 2;
  }
  #notes {
    position: absolute;
    left: 0px;
    top: 100px;
  }
  body {
    background: white;
  }
</style>

<body>
  <div id="box-1"></div>
  <div id="box-2"></div>
  <p id="notes">
    This test creates an infinite duration animations, which should be stuck at
    a progress of 0. If any blue pixels appear in the screenshot, the test
    fails.
  </p>
</body>
<script>
  onload = async function() {
    // Double rAF to ensure that we are not bogged down during initialization
    // and the compositor is ready.
    waitForAnimationFrames(2).then(() => {
      const elem = document.getElementById('box-1');
      const keyframes = [
        { transform: 'translateX(0px)' },
        { transform: 'translateX(100px)' }
      ];
      const effect =
          new KeyframeEffect(elem, keyframes,
                             {iterations: 3, duration: Infinity});
      const animation = new Animation(effect);
      animation.play();
      animation.ready.then(() => {
        takeScreenshotDelayed(100);
      });
    });
  };
</script>
