Luke Wilde
84db5d8c1c
Meta+test-web: Support per-test .headers files
...
If a test requires custom response headers, we now serve it via the
http-test-server, which will read the headers file and add them to the
response.
2026-02-19 14:58:09 +01:00
Tim Ledbetter
e16618bdd1
LibWeb: Apply textBaseline offset in Canvas measureText()
2026-01-15 10:31:23 +01:00
Tim Ledbetter
191e8218dc
LibWeb: Use correct font metrics calculations in Canvas measureText()
2026-01-15 10:31:23 +01:00
Tim Ledbetter
9da723b5c6
LibWeb: Ensure layout is up to date before resolving canvas colors
2025-10-27 16:56:01 -07:00
Tim Ledbetter
8854bb62c6
LibGfx: Use CSS sRGB serialization for canvas fill styles
2025-10-26 18:55:22 +01:00
Tim Ledbetter
9dceb06992
LibWeb: Don't paint canvas objects with non-visible fill styles
2025-10-26 16:45:38 +01:00
Tim Ledbetter
1c00279488
LibWeb: Reset Painter when resetting canvas to its initial state
2025-10-23 18:52:36 +02:00
Jelle Raaijmakers
9753b8e62c
Tests: Import WPT canvas repeating pattern test
2025-10-23 13:20:03 +01:00
Tim Ledbetter
2fd424ccb6
LibWeb: Draw canvas arcs and ellipses correctly when radius is zero
...
In this case, we should just draw a line from the last point in the
path to the start point. Previously, a division by zero caused nothing
to be drawn.
2025-10-22 16:08:57 +02:00
Tim Ledbetter
976912f3e9
LibWeb: Normalize negative drawImage() source/destination dimensions
2025-10-22 12:29:04 +02:00
Tim Ledbetter
c4e56cc845
LibWeb: Throw error when calling drawImage() with a broken image
2025-10-22 10:44:58 +02:00
Tim Ledbetter
f1571c4217
LibWeb: Ensure drawImage() always uses the first image frame
2025-10-22 01:25:46 +02:00
Tim Ledbetter
7db73118e9
LibWeb+LibGfx: Draw shadows for stroke joins and caps
2025-10-21 18:55:08 +02:00
Tim Ledbetter
0f295e8989
LibWeb: Take transforms into account when drawing shadows
2025-10-21 18:55:08 +02:00
Tim Ledbetter
0516c414d4
LibWeb: Don't draw shadows for transparent gradient fills
2025-10-21 18:55:08 +02:00
Tim Ledbetter
13f551612c
LibWeb: Don't draw shadows if shadow offset and blur are not set
2025-10-21 18:55:08 +02:00
Tim Ledbetter
eb44cca5bd
LibWeb: Ignore non-finite shadow offset values
2025-10-21 18:55:08 +02:00
Tim Ledbetter
b99c0c6a7f
LibWeb: Account for paint style and global alpha when drawing shadows
2025-10-21 18:55:08 +02:00
Tim Ledbetter
494fcc40ac
LibWeb: Account for transforms in isPointInPath()
2025-10-21 17:42:28 +02:00
Tim Ledbetter
d3ca038b2c
LibWeb: Ensure putImageData() is unaffected by drawing state
2025-10-21 09:52:16 +02:00
Tim Ledbetter
2ac4544a81
LibWeb: Align CanvasRenderingContext2D::putImageData() with the spec
...
This change implements `putImageData()` with `dirtyX`, `dirtyY`,
`dirtyWidth` and `dirtyHeight` arguments.
2025-10-21 09:52:16 +02:00
Tim Ledbetter
08641c9e15
LibWeb: Ensure CanvasPath::arc() nonfinite radius argument is ignored
2025-10-20 12:12:16 +01:00
Tim Ledbetter
303ebc0a67
LibWeb: Ignore non-finite arguments to canvas text drawing methods
2025-10-20 12:12:16 +01:00
ljamar
7fb65283c2
LibWeb: Ignore non-finite args in CanvasRenderingContext2D::clear_rect()
2025-10-17 17:41:58 +01:00
ayeteadoe
05f3bd0fa8
Tests/LibWeb: Import several scaling createImageBitmap() tests
2025-10-14 12:19:33 +02:00
Shannon Booth
c1d022523b
LibWeb/HTML: Enforce width and height range for OffscreenCanvas
...
We should be throwing a TypeError on values outside of the range
for an unsigned long instead of the default modulo behaviour.
2025-09-22 12:37:30 +01:00
Shannon Booth
e3b5507113
LibWeb/HTML: Avoid crash for extreme bitmap sizes in OffscreenCanvas
2025-09-22 12:37:30 +01:00
Idan Horowitz
aeb7b442d3
LibWeb: Add initial support for bitmap cropping to createImageBitmap
2025-08-04 23:39:11 +02:00
Idan Horowitz
3b8ccf4d77
LibWeb: Add initial support for HTMLImageElement in createImageBitmap
2025-08-03 21:47:48 +02:00
Tim Ledbetter
92f85d180e
LibWeb: Serialize empty ImageBitmap data as null
2025-07-21 19:19:50 -04:00
Tim Ledbetter
48417152df
LibWeb: Don't crash when creating empty bitmap from a HTMLCanvasElement
2025-07-20 16:26:57 +12:00
Tim Ledbetter
5413716802
LibWeb: Don't crash when setting offscreen canvas size to 0
...
Previously, this would crash because `Gfx::Bitmap` can't have a zero
size.
2025-07-04 16:10:38 +01:00
Callum Law
9ab7c5d08d
LibWeb: Support relative lengths in calc color values
...
Gains us ~40 WPT tests.
2025-07-04 13:18:55 +01:00
Tim Ledbetter
844dcd3310
LibWeb: Ignore non-finite OffscreenCanvas shadow offset values
2025-07-01 13:53:27 +12:00
Andreas Kling
1a055fcb24
LibWeb: Mark canvas element for relayout when width or height changes
...
While width and height are presentational hints on canvas, they actually
map to the CSS aspect-ratio attribute, not to CSS width and height.
For this reason, we actually need to manually mark for relayout here.
Also import a WPT test that was flaky before this change.
2025-05-19 13:58:05 +02:00
Glenn Skrzypczak
8575bddfe6
LibWeb/Canvas: Support globalCompositionOperation
...
Canvas now supports compositing and various blending modes via the
`globalCompositeOperation` attribute.
2025-02-05 11:26:58 +00:00
Shannon Booth
f388d3c88c
LibWeb/HTML: Fix crash creating canvas pattern without context
...
This isn't a full fix, as the paint function does not handle this
either. But instead of getting the bitmap from the image source
immediately, follow the spec a bit more closely by creating the
CanvasPatern object with the ImageSource directly.
Fixes a crash for the 5 included WPT tests.
2025-01-12 18:40:37 +00:00
Lucien Fiorini
d9ab68dd62
Tests: Import WPT test for canvas filter values
2024-12-18 18:54:20 +01:00
Lucien Fiorini
0567960ce4
Tests: Import WPT tests for shadowBlur
2024-12-05 17:07:13 +01:00
Shannon Booth
3b04c983f1
LibWeb: Check for overflow when creating ImageData
...
We would overwise crash on overflow.
2024-11-13 19:23:25 -05:00