| <!DOCTYPE html><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] --> |
| <html> |
| <head> |
| <title>Tests that unprefixed animation events are correctly fired when using html event listeners (only unprefixed should be fired).</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; |
| var prefixedEventReceived = 0; |
| |
| function recordPrefixedEvent() { |
| prefixedEventReceived++; |
| } |
| |
| function recordAnimationStart() { |
| startEventReceived = true; |
| } |
| |
| function recordAnimationIteration() { |
| if (startEventReceived && endEventReceived && prefixedEventReceived == 0) { |
| 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 (only unprefixed should be fired). |
| <pre id="result">FAIL: No animation events received</pre> |
| <div id="box" onwebkitanimationstart="recordPrefixedEvent();" onwebkitanimationend="recordPrefixedEvent();" onwebkitanimationiteration="recordPrefixedEvent();" onanimationstart="recordAnimationStart();" onanimationend="recordAnimationEnd();" onanimationiteration="recordAnimationIteration();" class="animate"></div> |
| </body> |
| </html> |