97 lines
2.6 KiB
HTML
97 lines
2.6 KiB
HTML
<html>
|
|
<head>
|
|
<script>
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
var pulsingSquareAnimationEnded = false;
|
|
var popAnimationCounter = 0;
|
|
|
|
function addPopAnimation() {
|
|
var square = document.getElementById("square");
|
|
square.className = "pop";
|
|
popAnimationCounter++;
|
|
}
|
|
|
|
function removePopAnimation() {
|
|
var square = document.getElementById("square");
|
|
square.className = "";
|
|
|
|
if (popAnimationCounter == 2) {
|
|
var result = document.getElementById("result");
|
|
if (pulsingSquareAnimationEnded)
|
|
result.innerHTML = "FAIL - pop animation should not be finished after pulse animation"
|
|
else
|
|
result.innerHTML = "PASS - Test working";
|
|
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
}
|
|
|
|
function pulsingSquareEnded() {
|
|
pulsingSquareAnimationEnded = true;
|
|
}
|
|
</script>
|
|
<style>
|
|
body {
|
|
margin-left: 100px;
|
|
margin-top: 50px;
|
|
}
|
|
#square {
|
|
width: 100px;
|
|
height: 100px;
|
|
position: absolute;
|
|
top: 100px;
|
|
background-color: blue;
|
|
opacity: 0;
|
|
}
|
|
|
|
#pulsing-square {
|
|
width: 100px;
|
|
height: 100px;
|
|
position: absolute;
|
|
top: 100px;
|
|
left: 350px;
|
|
background-color: red;
|
|
opacity: 0;
|
|
-webkit-animation-name: pulse;
|
|
-webkit-animation-duration: 0.4s;
|
|
-webkit-animation-timing-function: ease-out;
|
|
-webkit-animation-iteration-count: 3;
|
|
}
|
|
|
|
@-webkit-keyframes pulse {
|
|
0% { -webkit-transform: scale(0.05); opacity: 1; }
|
|
30% { opacity: 1; }
|
|
60% { -webkit-transform: scale(0.8); opacity: 0; }
|
|
100% { -webkit-transform: scale(0.8); opacity: 0; }
|
|
}
|
|
|
|
@-webkit-keyframes pop {
|
|
0% { -webkit-transform: scale(0.05); opacity: 0; }
|
|
33% { -webkit-transform: scale(1.08); opacity: 1; }
|
|
66% { -webkit-transform: scale(0.92); opacity: 1; }
|
|
100% { -webkit-transform: scale(1.0); opacity: 1; }
|
|
}
|
|
|
|
.pop {
|
|
-webkit-animation-name: pop;
|
|
-webkit-animation-duration: 0.1s;
|
|
-webkit-animation-timing-function: ease-in-out;
|
|
-webkit-animation-fill-mode: forwards;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="square" onwebkitanimationend="removePopAnimation();"></div>
|
|
<div id="pulsing-square" onwebkitanimationiteration="setTimeout(addPopAnimation(), 50);"
|
|
onwebkitanimationend="pulsingSquareEnded()"></div>
|
|
<div id="result"></div>
|
|
</body>
|
|
</html>
|
|
|