ladybird/Libraries/LibGfx
Andreas Kling 9164c9784d LibGfx: Treat PNG files with invalid frame data as transparent
If we have a valid PNG header with geometry info etc, we should still
display it as *something*, even if the image data itself is missing or
corrupted.

This matches the behavior of other browsers, and is something that
Cloudflare Turnstile checks for.

To achieve this, we split the PNG decoder's initialization into two
steps: "everything except reading frame data" and "reading frame data".
If the latter step fails, we yield a transparent bitmap with the
geometry from the PNG's IHDR chunk.
2024-12-19 16:49:28 +01:00
..
Font LibWeb: Layout/Shape font-variant-* css properties 2024-12-17 19:07:13 +01:00
ImageFormats LibGfx: Treat PNG files with invalid frame data as transparent 2024-12-19 16:49:28 +01:00
AffineTransform.cpp
AffineTransform.h
Bitmap.cpp LibGfx: Remove unused Bitmap loaders 2024-11-19 21:48:45 +01:00
Bitmap.h LibGfx: Unify bitmap set_pixel() using templates 2024-12-12 15:13:44 -07:00
BitmapSequence.cpp LibGfx: Allow IPC encode/decode of empty BitmapSequence 2024-12-19 16:49:28 +01:00
BitmapSequence.h
BoundingBox.h
CMakeLists.txt LibWeb+LibGfx: Refactor CSS filters into LibGfx 2024-12-18 18:54:20 +01:00
CMYKBitmap.cpp
CMYKBitmap.h
Color.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Color.h LibGfx: Reimplement from_hsla 2024-11-22 12:10:30 +01:00
Color.swift
ColorSpace.cpp LibGfx+LibWeb: Do some color management on images with an ICC profile 2024-12-05 17:16:41 +01:00
ColorSpace.h LibGfx+LibWeb: Do some color management on images with an ICC profile 2024-12-05 17:16:41 +01:00
Filter.h LibWeb+LibGfx: Refactor CSS filters into LibGfx 2024-12-18 18:54:20 +01:00
FontCascadeList.cpp
FontCascadeList.h
Forward.h LibWeb: Allow construction of PaintingSurface directly from IOSurface 2024-12-03 23:35:45 +01:00
FourCC.h
GradientPainting.cpp LibGfx: Delete DeprecatedPainter 2024-11-25 21:13:53 +01:00
Gradients.h
ImmutableBitmap.cpp LibGfx+LibWeb: Do some color management on images with an ICC profile 2024-12-05 17:16:41 +01:00
ImmutableBitmap.h LibGfx+LibWeb: Do some color management on images with an ICC profile 2024-12-05 17:16:41 +01:00
Line.h
LineStyle.h
Matrix.h LibMedia: Clean up #include directives 2024-11-21 14:08:33 +01:00
Matrix3x3.h
Matrix4x4.h
MetalContext.h LibWeb: Allow construction of PaintingSurface directly from IOSurface 2024-12-03 23:35:45 +01:00
MetalContext.mm LibWeb: Allow construction of PaintingSurface directly from IOSurface 2024-12-03 23:35:45 +01:00
Orientation.h
Painter.cpp
Painter.h LibWeb+LibGfx: Implement Canvas2D filters 2024-12-18 18:54:20 +01:00
PainterSkia.cpp LibGfx: Fix color opacity regression in Canvas2D 2024-12-19 13:31:12 +01:00
PainterSkia.h LibWeb+LibGfx: Implement Canvas2D filters 2024-12-18 18:54:20 +01:00
PaintingSurface.cpp LibGfx: Explicitly set color space of SkImages 2024-12-05 17:16:41 +01:00
PaintingSurface.h LibGfx: Make PaintingSurface::write_from_bitmap take a Bitmap const& 2024-12-05 17:16:41 +01:00
PaintStyle.h LibGfx: Fix dynamic_cast undefined behavior on macOS 2024-12-18 18:54:20 +01:00
Palette.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Palette.h
Path.cpp
Path.h LibWeb: Plumb svg stroking state to DisplayListPlayerSkia 2024-11-22 12:21:29 +01:00
PathSkia.cpp LibWeb+LibGfx: Refactor CSS filters into LibGfx 2024-12-18 18:54:20 +01:00
PathSkia.h
Point.cpp
Point.h
Quad.h LibGfx: Implement even-odd method for Quad::contains() and add tests 2024-12-15 23:27:42 +01:00
Rect.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Rect.h LibGfx: Remove aligned_within from Rect 2024-12-08 13:32:10 +00:00
ScalingMode.h
ShareableBitmap.cpp
ShareableBitmap.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Size.cpp
Size.h
SkiaBackendContext.cpp LibWeb: Allow construction of PaintingSurface directly from IOSurface 2024-12-03 23:35:45 +01:00
SkiaBackendContext.h LibWeb: Allow construction of PaintingSurface directly from IOSurface 2024-12-03 23:35:45 +01:00
SkiaUtils.cpp LibWeb+LibGfx: Refactor CSS filters into LibGfx 2024-12-18 18:54:20 +01:00
SkiaUtils.h LibWeb+LibGfx: Refactor CSS filters into LibGfx 2024-12-18 18:54:20 +01:00
StandardCursor.h
SystemTheme.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
SystemTheme.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
TextAlignment.h
TextAttributes.h
TextLayout.cpp LibWeb: Layout/Shape font-variant-* css properties 2024-12-17 19:07:13 +01:00
TextLayout.h LibWeb: Layout/Shape font-variant-* css properties 2024-12-17 19:07:13 +01:00
TIFFGenerator.py
Triangle.cpp
Triangle.h
Vector2.h
Vector3.h
Vector4.h
VectorGraphic.cpp LibGfx: Let Painter care about TinyVG transforms 2024-12-14 23:29:43 +01:00
VectorGraphic.h LibGfx: Let Painter care about TinyVG transforms 2024-12-14 23:29:43 +01:00
VectorN.h
VulkanContext.cpp
VulkanContext.h
WindingRule.h