| <!DOCTYPE html> | |
| <title>Animate non-accelerated property using worklet animation</title> | |
| <link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/web-animations/testcommon.js"></script> | |
| <script src="common.js"></script> | |
| <div id="target"></div> | |
| <div id="target2"></div> | |
| <script> | |
| promise_test(async t => { | |
| await registerConstantLocalTimeAnimator(1000); | |
| const target = document.getElementById("target"); | |
| const effect = new KeyframeEffect( | |
| target, | |
| [ | |
| { background: 'green' }, | |
| { background: 'blue' }, | |
| ], | |
| { duration: 2000 } | |
| ); | |
| const target2 = document.getElementById("target2"); | |
| const effect2 = new KeyframeEffect( | |
| target2, | |
| [ | |
| { boxShadow: '4px 4px 25px blue' }, | |
| { boxShadow: '4px 4px 25px green' } | |
| ], | |
| { duration: 2000 } | |
| ); | |
| const animation = new WorkletAnimation('constant_time', effect); | |
| animation.play(); | |
| const animation2 = new WorkletAnimation('constant_time', effect2); | |
| animation2.play(); | |
| await waitForAsyncAnimationFrames(1); | |
| assert_equals(getComputedStyle(target).backgroundColor, "rgb(0, 64, 128)"); | |
| assert_equals(getComputedStyle(target2).boxShadow, "rgb(0, 64, 128) 4px 4px 25px 0px"); | |
| }, "Individual worklet animation should output values at specified local time for corresponding targets and effects"); | |
| </script> |