<!DOCTYPE html><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] -->
<html>
<head>
  <title>Test animations with repeated iterations and short loops</title>
  <style>
    #box {
      position: relative;
      left: 100px;
      top: 10px;
      height: 100px;
      width: 100px;
      -webkit-animation-duration: 0.001s;
      -webkit-animation-name: anim;
      background-color: #999;
      -webkit-animation-iteration-count: 2;
    }
    @-webkit-keyframes anim {
        from { left: 200px; }
        to   { left: 300px; }
    }
  </style>
  <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
  
    onload = function()
    {
        document.addEventListener('webkitAnimationEnd', function() {
            document.getElementById('result').innerHTML = 'PASS: got webkitAnimationEnd event';      
            if (window.testRunner)
                testRunner.notifyDone();
        }, false);
        
        // Animation begins once we append the DOM node to the document.
        var boxNode = document.createElement('div');
        boxNode.id = 'box';
        document.body.appendChild(boxNode);
    }
  </script>
</head>
<body>
Checks that we still end an animation properly (i.e. fire a webkitAnimationEnd
event) when using more than one iteration with very short durations.
<pre id="result">FAIL: no webkitAnimationEnd event received</pre>
</body>
</html>
