blob: d799d9226adccc256cf2c3a5f00886d37c7f355f [file] [log] [blame]
<!DOCTYPE html>
<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>