| Index: ManualTests/animation/compositor-animation-cubic.html
|
| diff --git a/ManualTests/animation/compositor-animation-cubic.html b/ManualTests/animation/compositor-animation-cubic.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d69e7b48994c222eb317af9b173e9a8339c473ab
|
| --- /dev/null
|
| +++ b/ManualTests/animation/compositor-animation-cubic.html
|
| @@ -0,0 +1,89 @@
|
| +<html>
|
| +<style>
|
| +div {
|
| + position: relative;
|
| + height: 100px;
|
| + width: 100px;
|
| + background: blue;
|
| +}
|
| +</style>
|
| +<body>
|
| +<p>
|
| +Each section has below has two boxes.
|
| +<ul>
|
| + <li>Top - runs on main thread.</li>
|
| + <li>Bottom - runs on the compositor, unless otherwise specified.</li>
|
| +</ul>
|
| +The animations should be identical but start at different times.
|
| +</p><p>
|
| +This test is successful if the boxes are mostly in sync (there might be a small
|
| +offset between them).
|
| +</p>
|
| +<hr>
|
| +
|
| +Start delay 0s.
|
| +<br>
|
| +<div class='test0 anim-left'></div>
|
| +<div class='test0 anim-transform'></div>
|
| +
|
| +Start delay 3s. Bottom does not run on compositor.
|
| +<br>
|
| +<div class='test1 anim-left'></div>
|
| +<div class='test1 anim-transform'></div>
|
| +
|
| +Start delay 6s.
|
| +<br>
|
| +<div class='test2 anim-left'></div>
|
| +<div class='test2 anim-transform'></div>
|
| +
|
| +Start delay 9s.
|
| +<br>
|
| +<div class='test3 anim-left'></div>
|
| +<div class='test3 anim-transform'></div>
|
| +<script>
|
| + document.getElementsByClassName('test0 anim-left')[0].animate(
|
| + [{left: '0'}, {left: '300px'}],
|
| + {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'});
|
| +
|
| + document.getElementsByClassName('test0 anim-transform')[0].animate(
|
| + [{transform: 'translateX(0)'}, {transform: 'translateX(300px)'}],
|
| + {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'});
|
| +
|
| + setTimeout(function() {
|
| + document.getElementsByClassName('test1 anim-left')[0].animate(
|
| + [{left: '0', easing: 'ease-in'}, {left: '300px'}],
|
| + {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'});
|
| +
|
| + document.getElementsByClassName('test1 anim-transform')[0].animate(
|
| + [{transform: 'translateX(0)', easing: 'ease-in'}, {transform: 'translateX(300px)'}],
|
| + {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'});
|
| + }, 3000);
|
| +
|
| + setTimeout(function() {
|
| + document.getElementsByClassName('test2 anim-left')[0].animate(
|
| + [{left: '0', easing: 'ease-in'}, {left: '300px'}],
|
| + {duration: 2000, easing: 'ease-out'});
|
| +
|
| + document.getElementsByClassName('test2 anim-transform')[0].animate(
|
| + [{transform: 'translateX(0)', easing: 'ease-in'}, {transform: 'translateX(300px)'}],
|
| + {duration: 2000, easing: 'ease-out'});
|
| + }, 6000);
|
| +
|
| + setTimeout(function() {
|
| + document.getElementsByClassName('test3 anim-left')[0].animate([
|
| + {left: '0'},
|
| + {left: '100px', easing: 'ease-in'},
|
| + {left: '200px'},
|
| + {left: '300px'}
|
| + ], {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'});
|
| +
|
| + document.getElementsByClassName('test3 anim-transform')[0].animate([
|
| + {transform: 'translateX(0)'},
|
| + {transform: 'translateX(100px)', easing: 'ease-in'},
|
| + {transform: 'translateX(200px)'},
|
| + {transform: 'translateX(300px)'}
|
| + ], {duration: 2000, easing: 'cubic-bezier(.5, -1, .5, 2)'});
|
| + }, 9000);
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|