Status: PASS | Duration: 5ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-paint-api/paint-function-arguments.https.html
<!DOCTYPE html> <html class="reftest-wait"> <link rel="help" href="https://drafts.css-houdini.org/css-paint-api/"> <link rel="match" href="paint-function-arguments-ref.html"> <style> .container { width: 200px; height: 200px; } #canvas-box-1 { background-image: paint(box, rgb(50, 100, 150), 50px); } #canvas-box-2 { background-image: paint(box, rgb(150, 100, 50), 100px); } #background { background-color: yellow; display: inline-block; } </style> <script src="/common/reftest-wait.js"></script> <script src="/common/worklet-reftest.js"></script> <body> <div id="background"> <div id="canvas-box-1" class="container"></div> <div id="canvas-box-2" class="container"></div> </div> <script id="code" type="text/worklet"> registerPaint('box', class { static get contextOptions() { return {alpha: true}; } static get inputArguments() { return ['<color>', '<length>']; } paint(ctx, geom, properties, args) { ctx.fillStyle = args[0].toString(); let size = parseInt(args[1].toString()); ctx.fillRect(40, 40, size, size); } }); </script> <script> importWorkletAndTerminateTestAfterAsyncPaint(CSS.paintWorklet, document.getElementById('code').textContent); </script> </body> </html>
/css/css-paint-api/paint-function-arguments-ref.html
<!DOCTYPE html> <html> <head> <style> #background { background-color: yellow; display: inline-block; } .container { font-size: 0px; } </style> </head> <body> <div id="background"> <div class="container"> <canvas id ="box-1" width="200" height="200"></canvas> </div> <div class="container"> <canvas id ="box-2" width="200" height="200"></canvas> </div> </div> <script> function drawCanvas(canvasID, color, width) { var canvas = document.getElementById(canvasID); var context = canvas.getContext("2d", {alpha: true}); context.clearRect(0, 0, canvas.width, canvas.height); context.fillStyle = color; context.fillRect(40, 40, width, width); }; drawCanvas('box-1', 'rgb(50, 100, 150)', '50'); drawCanvas('box-2', 'rgb(150, 100, 50)', '100'); </script> </body> </html>