LibWeb: Implemented the CanvasRenderingContext2D::createImageData() spec

The only real change here is to use the absolute magnitude of the
width/height when creating the ImageData.

This fixes the crash on this WPT test:
https://wpt.fyi/results/html/canvas/element/pixel-manipulation/2d.imageData.create2.double.html?label=master&product=ladybird
This commit is contained in:
Cory Virok 2024-10-13 11:21:46 -07:00 committed by Andreas Kling
commit 560c3824b9
Notes: github-actions[bot] 2024-10-14 06:26:10 +00:00
3 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,15 @@
<canvas id="c" class="output" width="11" height="11"><p class="fallback">FAIL (fallback content)</p></canvas>
<script src="../include.js"></script>
<script>
// Adapted from https://wpt.fyi/results/html/canvas/element/pixel-manipulation/2d.imageData.create2.double.html?label=master&product=ladybird
test(() => {
const canvas = document.getElementById('c')
const ctx = canvas.getContext("2d");
const imgdata = ctx.createImageData(-10.01, -10.99)
if (imgdata.width === 10 && imgdata.height === 10) {
println('PASS')
} else {
println('FAIL')
}
});
</script>