| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| |
| div { |
| position: absolute; |
| backface-visibility: visible; |
| height: 25px; |
| width: 25px; |
| } |
| |
| #div1 { |
| left: 100px; |
| top: 200px; |
| background-color: blue; |
| } |
| |
| #div2 { |
| left: 200px; |
| top: 200px; |
| background-color: red; |
| } |
| #div3 { |
| left: 300px; |
| top: 200px; |
| background-color: purple; |
| } |
| |
| </style> |
| </head> |
| <body> |
| <p> |
| Tests that composited animation happens when only transform or only scale is present. |
| <p> |
| The 3 squares should equivalently scale. They need not be perfectly in time. |
| <p> |
| Blue - Only Transform, Red - Only Scale, Purple - Transform + Scale |
| |
| <div id="div1"></div> |
| <div id="div2"></div> |
| <div id="div3"></div> |
| |
| <script> |
| var div1 = document.getElementById('div1'); |
| var div2 = document.getElementById('div2'); |
| var div3 = document.getElementById('div3'); |
| |
| function startAnimations() { |
| div1.animate([ |
| {transform: 'scale(1, 1)'}, |
| {transform: 'scale(4, 4)'} |
| ], { |
| duration: 5000, |
| delay: 1000, |
| fill: 'forwards' |
| }); |
| |
| div2.animate([ |
| {scale: '1 1'}, |
| {scale: '4 4'} |
| ], { |
| duration: 5000, |
| delay: 1000, |
| fill: 'forwards' |
| }); |
| |
| div3.animate([ |
| {transform: 'scale(1, 1)', scale: '1 1'}, |
| {transform: 'scale(2, 2)', scale: '2 2'} |
| ], { |
| duration: 5000, |
| delay: 1000, |
| fill: 'forwards' |
| }); |
| } |
| |
| requestAnimationFrame(startAnimations); |
| |
| </script> |
| |
| </body> |
| </html> |