Status: PASS | Duration: 10ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-paint-api/hidpi/device-pixel-ratio.https.html
<!DOCTYPE html> <html class="reftest-wait"> <link rel="help" href="https://drafts.css-houdini.org/css-paint-api/"> <link rel="match" href="device-pixel-ratio-ref.html"> <style> html, body { margin: 0; padding: 0; } .container { width: 150px; height: 150px; } #canvas-geometry { background-image: paint(geometry); } </style> <script src="/common/reftest-wait.js"></script> <script src="/common/worklet-reftest.js"></script> <body> <p>This test ensures that the PaintWorkletGlobalScope.devicePixelRatio returns the correct value, which should be identical as window.devicePixelRatio. To manually test, open both this file and "device-pixel-ratio-ref.html" with a browser, and you should see two idential green rectangles.</p> <div id="canvas-geometry" class="container"></div> <script id="code" type="text/worklet"> registerPaint('geometry', class { paint(ctx, geom) { ctx.fillStyle = 'green'; var draw_width = Math.floor(geom.width / devicePixelRatio); var draw_height = Math.floor(geom.height / devicePixelRatio); ctx.fillRect(0, 0, draw_width, draw_height); } }); </script> <script> importWorkletAndTerminateTestAfterAsyncPaint(CSS.paintWorklet, document.getElementById('code').textContent); </script> </body> </html>
/css/css-paint-api/hidpi/device-pixel-ratio-ref.html
<!DOCTYPE html> <html> <style> html, body { margin: 0; padding: 0; } canvas {width: 150px; height: 150px; } </style> <body> <p>This test ensures that the PaintWorkletGlobalScope.devicePixelRatio returns the correct value, which should be identical as window.devicePixelRatio. To manually test, open both this file and "device-pixel-ratio-ref.html" with a browser, and you should see two idential green rectangles.</p> <canvas id ="canvas" width="100" height="100"></canvas> <script> var canvas = document.getElementById('canvas'); canvas.width = 150 * window.devicePixelRatio; canvas.height = 150 * window.devicePixelRatio; var context = canvas.getContext("2d"); context.fillStyle = 'green'; var draw_width = Math.floor(canvas.width / window.devicePixelRatio); var draw_height = Math.floor(canvas.height / window.devicePixelRatio); context.fillRect(0, 0, draw_width, draw_height); </script> </body> </html>