blob: 22c7f9191642d398aa0f48b42d950ef1727e531e [file] [log] [blame]
<!doctype html><!-- webkit-test-runner [ enableCSSAnimationsAndCSSTransitionsBackedByWebAnimations=true ] -->
<html>
<head>
<title>Test of -webkit-animation-direction on composited elements (opacity)</title>
<style>
body {
margin: 0;
}
.box {
position: relative;
left: 20px;
top: 10px;
height: 50px;
width: 250px;
margin-bottom: 10px;
-webkit-animation-duration: 1s;
-webkit-animation-timing-function: linear;
-webkit-animation-iteration-count: 8;
}
.fade1 {
-webkit-animation-name: fade1;
background-color: blue;
color: white;
}
.fade2 {
-webkit-animation-name: fade2;
background-color: orange;
}
.normal {
-webkit-animation-direction: normal;
}
.alternate {
-webkit-animation-direction: alternate;
}
.reverse {
-webkit-animation-direction: reverse;
}
.alternate-reverse {
-webkit-animation-direction: alternate-reverse;
}
@-webkit-keyframes fade1 {
from { opacity: 0; }
to { opacity: 1.0; }
}
@-webkit-keyframes fade2 {
0% { opacity: 0.0; }
40% { opacity: 0.8; }
60% { opacity: 0.4; }
100% { opacity: 1.0; }
}
</style>
<script src="resources/animation-test-helpers.js"></script>
<script>
const expectedValues = [
// [animation-name, time, element-id, property, expected-value, tolerance]
["fade1", 0.2, "box1", "opacity", 0.2, 0.15],
["fade1", 0.2, "box2", "opacity", 0.2, 0.15],
["fade1", 0.2, "box3", "opacity", 0.8, 0.15],
["fade1", 0.2, "box4", "opacity", 0.8, 0.15],
["fade1", 1.2, "box1", "opacity", 0.2, 0.15],
["fade1", 1.2, "box2", "opacity", 0.8, 0.15],
["fade1", 1.2, "box3", "opacity", 0.8, 0.15],
["fade1", 1.2, "box4", "opacity", 0.2, 0.15],
["fade2", 0.2, "box5", "opacity", 0.4, 0.15],
["fade2", 0.2, "box6", "opacity", 0.4, 0.15],
["fade2", 0.2, "box7", "opacity", 0.7, 0.15],
["fade2", 0.2, "box8", "opacity", 0.7, 0.15],
["fade2", 1.2, "box5", "opacity", 0.4, 0.15],
["fade2", 1.2, "box6", "opacity", 0.7, 0.15],
["fade2", 1.2, "box7", "opacity", 0.7, 0.15],
["fade2", 1.2, "box8", "opacity", 0.4, 0.15],
];
runAnimationTest(expectedValues);
</script>
</head>
<body>
<div id="box1" class="box fade1 normal">2 keyframes: normal</div>
<div id="box2" class="box fade1 alternate">2 keyframes: alternate</div>
<div id="box3" class="box fade1 reverse">2 keyframes: reverse</div>
<div id="box4" class="box fade1 alternate-reverse">2 keyframes: alternate-reverse</div>
<div id="box5" class="box fade2 normal">4 keyframes: normal</div>
<div id="box6" class="box fade2 alternate">4 keyframes: alternate</div>
<div id="box7" class="box fade2 reverse">4 keyframes: reverse</div>
<div id="box8" class="box fade2 alternate-reverse">4 keyframes: alternate-reverse</div>
<div id="result"></div>
</div>
</body>
</html>