Status: PASS | Duration: 5ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-transforms/animation/canvas-webgl-translate-in-animation.html
<!DOCTYPE html> <html class=reftest-wait> <title>CSS Test: translate webgl canvas in an animation via set current time.</title> <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"/> <link rel="help" href="https://www.w3.org/TR/css-transforms-1/#funcdef-transform-translate"/> <link rel="match" href="canvas-webgl-translate-in-animation-ref.html"/> <meta name="assert" content="canvas is translated by half the total distance"/> <script src="/common/reftest-wait.js"></script> <style> @keyframes move { to { transform: translate(300px); } } canvas { will-change: transform; animation: move; animation-duration: 1s; animation-timing-function: linear; animation-play-state: paused; } </style> <canvas id="canvas" width="150" height="150"></canvas> <script> async function runTest() { const gl = canvas.getContext("webgl"); if(gl != null) { gl.clearColor(0.0, 1.0, 0.0, 1.0); gl.clear(gl.COLOR_BUFFER_BIT); } requestAnimationFrame(() => { document.getAnimations().forEach((animation) => { animation.currentTime = 500; }); takeScreenshot(); }); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); </script> </html>
/css/css-transforms/animation/canvas-webgl-translate-in-animation-ref.html
<!DOCTYPE html> <html class=reftest-wait> <title>CSS Test: translate webgl canvas in an animation via set current time (ref).</title> <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"/> <link rel="help" href="https://www.w3.org/TR/css-transforms-1/#funcdef-transform-translate"/> <script src="/common/reftest-wait.js"></script> <style> canvas { will-change: transform; transform: translate(150px); } </style> <canvas id="canvas" width="150" height="150"></canvas> <script> async function runReference() { const gl = canvas.getContext("webgl"); if(gl != null) { gl.clearColor(0.0, 1.0, 0.0, 1.0); gl.clear(gl.COLOR_BUFFER_BIT); } requestAnimationFrame(takeScreenshot); } onload = () => requestAnimationFrame(() => requestAnimationFrame(runReference)); </script> </html>