<!DOCTYPE html>
<html>
<head>
  <title>Tests that unprefixed animation events are correctly fired when using html event listeners.</title>
  <style>
    #box {
      position: relative;
      left: 100px;
      top: 10px;
      height: 100px;
      width: 100px;
      background-color: #999;
    }

    .animate {
      animation-duration: 0.3s;
      animation-name: anim;
    }

    @keyframes anim {
        from { left: 200px; }
        to   { left: 300px; }
    }
  </style>
  <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var startEventReceived = false;
    var endEventReceived = false;

    function recordAnimationStart() {
      startEventReceived = true;
    }

    function recordAnimationIteration() {
      if (startEventReceived && endEventReceived) {
        document.getElementById('result').innerHTML = 'PASS: All events have been received as expected.';
        if (window.testRunner)
            testRunner.notifyDone();
      }
    }

    function recordAnimationEnd() {
      endEventReceived = true;
      document.getElementById('box').className = '';
      // Launch again the animation to catch the animation iteration events this time.
      setTimeout(function () {
        document.getElementById('box').style.animationIterationCount = "infinite";
        document.getElementById('box').className = 'animate';
      }, 200);
    }
  </script>
</head>
<body>
Tests that unprefixed animation events are correctly fired when using html event listeners.
<pre id="result">FAIL: No animation events received</pre>
<div id="box" onanimationstart="recordAnimationStart();" onanimationend="recordAnimationEnd();" onanimationiteration="recordAnimationIteration();" class="animate"></div>
</body>
</html>
