| <!DOCTYPE html><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] --> |
| <html> |
| <head> |
| <title>Tests that prefixed animation events are correctly 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; |
| |
| document.addEventListener('webkitAnimationStart', function() { |
| startEventReceived = true; |
| }, false); |
| |
| document.addEventListener('webkitAnimationIteration', function() { |
| if (startEventReceived && endEventReceived) { |
| document.getElementById('result').innerHTML = 'PASS: All events have been received as expected.'; |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| }, false); |
| |
| document.addEventListener('webkitAnimationEnd', function() { |
| endEventReceived = true; |
| document.getElementById('box').className = ''; |
| // Launch again the animation to catch the animation iteration events this time. |
| setTimeout(function () { |
| document.getElementById('box').style.webkitAnimationIterationCount = "infinite"; |
| document.getElementById('box').className = 'animate'; |
| }, 200); |
| }, false); |
| |
| onload = function() |
| { |
| // Animation begins once we append the DOM node to the document. |
| var boxNode = document.createElement('div'); |
| boxNode.id = 'box'; |
| boxNode.className = 'animate'; |
| document.body.appendChild(boxNode); |
| } |
| </script> |
| </head> |
| <body> |
| Tests that prefixed animation events are correctly fired. |
| <pre id="result">FAIL: No animation events received</pre> |
| </body> |
| </html> |