ladybird/Libraries/LibWeb/Painting
InvalidUsernameException d76f841994 LibWeb: Do not deform bitmaps partially outside the img-box
Instead of trying to manually determine which parts of a bitmap fall
within the box of the `<img>` element, just draw the whole bitmap and
let Skia clip the draw-area to the correct rectangle.

This fixes a bug where the entire bitmap was squashed into the rectangle
of the image box instead of being clipped.

With this change, image rendering is now correct enough to import some
of the WPT tests for object-fit and object-position. To get some good
coverage I have imported all tests for the `<img>` tag. I also wanted to
import a subset of the tests for the `<object>` tag, since those are
passing as well now. Unfortunately, they are flaky for unknown reasons.

This is the second attempt at this bugfix. The prior one was e055927ead
and broke image rendering whenever the page was scrolled. It has
subsequently been reverted in 16b14273d1. Hopefully this time it is not
horribly broken.
2025-03-10 17:14:13 +01:00
..
AudioPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
AudioPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
BackgroundPainting.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
BackgroundPainting.h
BackingStore.cpp
BackingStore.h LibWeb+Services: Remove unused #includes 2025-01-31 13:28:09 +01:00
BorderPainting.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
BorderPainting.h LibGfx: Delete DeprecatedPainter 2024-11-25 21:13:53 +01:00
BorderRadiiData.cpp LibGfx: Delete DeprecatedPainter 2024-11-25 21:13:53 +01:00
BorderRadiiData.h LibGfx: Delete DeprecatedPainter 2024-11-25 21:13:53 +01:00
BorderRadiusCornerClipper.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
BorderRadiusCornerClipper.h
BordersData.cpp
BordersData.h
BoxModelMetrics.cpp LibWeb: Store final box model metrics in paint tree, not layout tree 2025-02-17 18:28:29 +01:00
BoxModelMetrics.h LibWeb: Store final box model metrics in paint tree, not layout tree 2025-02-17 18:28:29 +01:00
CanvasPaintable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CanvasPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CheckBoxPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
CheckBoxPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ClipFrame.cpp
ClipFrame.h
ClippableAndScrollable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
ClippableAndScrollable.h
Command.cpp
Command.h LibWeb: Do not deform bitmaps partially outside the img-box 2025-03-10 17:14:13 +01:00
DisplayList.cpp LibWeb/CSS: Implement mix-blend-mode 2025-02-05 11:26:58 +00:00
DisplayList.h LibWeb/CSS: Implement mix-blend-mode 2025-02-05 11:26:58 +00:00
DisplayListPlayerSkia.cpp LibWeb: Do not deform bitmaps partially outside the img-box 2025-03-10 17:14:13 +01:00
DisplayListPlayerSkia.h LibWeb/CSS: Implement mix-blend-mode 2025-02-05 11:26:58 +00:00
DisplayListRecorder.cpp LibWeb: Do not deform bitmaps partially outside the img-box 2025-03-10 17:14:13 +01:00
DisplayListRecorder.h LibWeb: Do not deform bitmaps partially outside the img-box 2025-03-10 17:14:13 +01:00
FieldSetPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
FieldSetPaintable.h LibWeb: Lay out the fieldset's rendered legend 2024-11-29 12:36:52 +00:00
GradientData.h LibWeb: Implement css gradient-interpolation-method 2025-03-06 11:33:12 +00:00
GradientPainting.cpp LibWeb: Implement css gradient-interpolation-method 2025-03-06 11:33:12 +00:00
GradientPainting.h LibWeb: Only require NodeWithStyle for gradient size resolution 2025-02-28 13:50:13 +01:00
ImagePaintable.cpp LibWeb: Do not deform bitmaps partially outside the img-box 2025-03-10 17:14:13 +01:00
ImagePaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
InputColors.h LibWeb/CSS: Implement the color-scheme CSS property 2025-01-08 11:18:13 +00:00
LabelablePaintable.cpp
LabelablePaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
MarkerPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
MarkerPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
MediaPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
MediaPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NavigableContainerViewportPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
NavigableContainerViewportPaintable.h LibWeb: Rename NestedBrowsingContextP => NavigableContainerViewportP 2024-11-26 18:32:48 +01:00
Paintable.cpp LibWeb+WebContent+UI: Support image cursors 2025-02-28 13:50:13 +01:00
Paintable.h LibWeb+WebContent+UI: Support image cursors 2025-02-28 13:50:13 +01:00
PaintableBox.cpp LibWeb/CSS: Implement the caret-color property 2025-03-09 19:36:29 +01:00
PaintableBox.h LibWeb: Reduced number of recompiled files for CSS property headers 2025-02-23 10:14:39 -05:00
PaintableFragment.cpp LibWeb: Allow keyboard input to alter email inputs 2024-12-30 11:04:16 +01:00
PaintableFragment.h LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
PaintBoxShadowParams.h
PaintContext.cpp
PaintContext.h LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
PaintStyle.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
RadioButtonPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
RadioButtonPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ScrollFrame.cpp
ScrollFrame.h
ScrollState.h
ShadowData.h
ShadowPainting.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
ShadowPainting.h
StackingContext.cpp LibWeb: Draw floating replaced elements more correctly 2025-03-03 21:49:44 +01:00
StackingContext.h LibWeb/CSS: Implement mix-blend-mode 2025-02-05 11:26:58 +00:00
SVGClipPaintable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGClipPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGForeignObjectPaintable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGForeignObjectPaintable.h LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
SVGGraphicsPaintable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGGraphicsPaintable.h LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
SVGMaskable.cpp LibWeb/SVG: Skip unwanted transformations on clip-path 2025-02-01 13:38:56 +01:00
SVGMaskable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGMaskPaintable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGMaskPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
SVGPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGPathPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
SVGPathPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGSVGPaintable.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
SVGSVGPaintable.h LibWeb: Make SVGs respect their CSS transforms 2024-11-24 14:30:32 +01:00
TableBordersPainting.cpp LibWeb: Reduce number of recompiled files for display list headers 2025-02-23 10:14:39 -05:00
TableBordersPainting.h
TextPaintable.cpp LibWeb: Remove unnecessary const_casts from TextPaintable 2025-01-31 13:37:15 +01:00
TextPaintable.h LibWeb: Dispatch "click" event on input control associated with <label> 2024-11-21 16:11:03 +01:00
VideoPaintable.cpp LibWeb: Do not deform bitmaps partially outside the img-box 2025-03-10 17:14:13 +01:00
VideoPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ViewportPaintable.cpp LibWeb: Ensure inert elements are not selectable 2025-02-21 12:41:57 +00:00
ViewportPaintable.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00