| <style> |
| |
| #target { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100px; |
| height: 100px; |
| background-color: black; |
| } |
| |
| </style> |
| <div id="target"></div> |
| <script src="../resources/ui-helper.js"></script> |
| <script> |
| |
| const waitForAnimationCommit = async (animation) => { |
| await animation.ready; |
| if (!UIHelper.isWebKit2()) { |
| await UIHelper.renderingUpdate(); |
| await UIHelper.renderingUpdate(); |
| } else |
| await UIHelper.ensureStablePresentationUpdate() |
| } |
| |
| (async () => { |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| const target = document.getElementById("target"); |
| |
| // Make the animations last a whole minute so they don't end while the test is running. |
| const duration = 60 * 1000; |
| |
| // Start a first stationary "transform" animation and wait until it has been applied before starting |
| // a second stationary "transform" animation which should replace the first one. |
| await waitForAnimationCommit(target.animate({ transform: ["translateX(100px)", "translateX(100px)"] }, duration)); |
| await waitForAnimationCommit(target.animate({ transform: ["translateX(200px)", "translateX(200px)"] }, duration)); |
| |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| })(); |
| |
| </script> |