ladybird/Libraries/LibWeb/HTML/Canvas
Dylan Hart 9be298e39c LibWeb: Use document resolution context in canvas set_font
When a canvas belongs to a detached document (e.g. one created via
document.implementation.createHTMLDocument()), document->window()
returns null, causing a null pointer crash in set_font.

Use Length::ResolutionContext::for_document() instead of for_window(),
which handles the no-navigable case gracefully and is already the
recommended pattern (per existing FIXME in Length.h). This also fixes
the same crash path via fillText, strokeText, and measureText which
trigger lazy font initialization through set_font.

Fixes #8515.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 12:24:29 +02:00
..
CanvasCompositing.h LibWeb/Canvas: Support globalCompositionOperation 2025-02-05 11:26:58 +00:00
CanvasCompositing.idl LibWeb/Canvas: Support globalCompositionOperation 2025-02-05 11:26:58 +00:00
CanvasDrawImage.cpp LibWeb: Present canvas before snapshotting in drawImage() 2026-02-12 00:28:36 +01:00
CanvasDrawImage.h LibWeb: Implement support for drawing with CanvasPattern 2025-10-23 13:20:03 +01:00
CanvasDrawImage.idl LibWeb: Add OffscreenCanvas to IDL types 2025-06-30 09:46:21 -06:00
CanvasDrawPath.h
CanvasDrawPath.idl
CanvasFillStrokeStyles.cpp LibWeb: Don't require layout node when setting canvas 2D strokeStyle 2026-02-22 12:43:01 +01:00
CanvasFillStrokeStyles.h LibWeb: Factor out some class template methods into implementation files 2025-10-27 14:50:54 +00:00
CanvasFillStrokeStyles.idl
CanvasFilters.h
CanvasFilters.idl
CanvasImageData.h LibWeb: Align CanvasRenderingContext2D::putImageData() with the spec 2025-10-21 09:52:16 +02:00
CanvasImageData.idl LibWeb: Align CanvasRenderingContext2D::putImageData() with the spec 2025-10-21 09:52:16 +02:00
CanvasImageSmoothing.h
CanvasImageSmoothing.idl
CanvasPath.cpp LibWeb: Draw canvas arcs and ellipses correctly when radius is zero 2025-10-22 16:08:57 +02:00
CanvasPath.h
CanvasPath.idl
CanvasPathDrawingStyles.h LibWeb: Use static cast to cast from base class 2026-01-01 12:23:15 +01:00
CanvasPathDrawingStyles.idl
CanvasRect.h
CanvasRect.idl
CanvasSettings.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
CanvasSettings.h LibWeb: Factor out canvas rendering options algorihtms 2025-06-30 09:46:21 -06:00
CanvasSettings.idl LibWeb: Factor out CanvasSettings mixin into separate file 2025-06-17 16:54:04 -06:00
CanvasShadowStyles.h LibWeb: Use static cast to cast from base class 2026-01-01 12:23:15 +01:00
CanvasShadowStyles.idl
CanvasState.cpp
CanvasState.h LibGfx+LibWeb: Implement CanvasTextDrawingStyles.letterSpacing 2026-03-12 17:13:16 +01:00
CanvasState.idl
CanvasText.h LibWeb: Use Utf16String in CanvasText APIs 2025-09-21 13:22:38 +02:00
CanvasText.idl LibWeb: Use Utf16String in CanvasText APIs 2025-09-21 13:22:38 +02:00
CanvasTextDrawingStyles.cpp LibWeb: Use document resolution context in canvas set_font 2026-03-30 12:24:29 +02:00
CanvasTextDrawingStyles.h LibGfx+LibWeb: Implement CanvasTextDrawingStyles.letterSpacing 2026-03-12 17:13:16 +01:00
CanvasTextDrawingStyles.idl LibGfx+LibWeb: Implement CanvasTextDrawingStyles.letterSpacing 2026-03-12 17:13:16 +01:00
CanvasTransform.h LibWeb: Use static cast to cast from base class 2026-01-01 12:23:15 +01:00
CanvasTransform.idl
CanvasUserInterface.idl
OffscreenCanvasBase.idl LibWeb: Implement basics for OffscreenCanvas 2025-06-30 09:46:21 -06:00
SerializeBitmap.cpp Everywhere: Avoid large rebuilds when editing (Immutable)Bitmap headers 2025-11-28 18:32:48 +01:00
SerializeBitmap.h LibWeb: Remove unused Document.h includes from SerializeBitmap.h 2026-02-08 18:51:13 +01:00