1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-16 23:02:25 +00:00
serenity/Userland/Libraries/LibWeb/Painting
Andreas Kling 90b66533d0 LibWeb: Don't hit test all child stacking contexts twice
We're supposed to hit test positive z-index stacking contexts first,
and negative z-index stacking contexts later. Instead, we were hit
testing all stacking contexts both times.

This made hit testing unbearably slow on some websites.

While we're here, also add an extra comment about why stacking contexts
are traversed in reverse order. It tripped me up while looking at this,
so I'm sure it could trip someone else up too.

Regressed in 44057c9482.
2022-10-07 12:10:59 +02:00
..
BackgroundPainting.cpp LibWeb: Remove done TODO and fix typo 2022-08-23 13:27:02 +01:00
BackgroundPainting.h LibWeb: Follow image-rendering when painting image style values 2022-08-10 19:39:07 +02:00
BorderPainting.cpp LibWeb: Tiebreak corner color on existence of corresponding borders 2022-07-10 12:46:57 +02:00
BorderPainting.h LibWeb: Add .shrink() to BorderRadiusData and BorderRadiiData 2022-07-04 11:12:44 +02:00
BorderRadiusCornerClipper.cpp LibWeb: Add option to allocate new bitmap for BorderRadiusCornerClipper 2022-07-04 23:09:06 +02:00
BorderRadiusCornerClipper.h LibWeb: Add ScopedCornerRadiusClip 2022-07-04 23:09:06 +02:00
ButtonPaintable.cpp LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
ButtonPaintable.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
CanvasPaintable.cpp LibWeb: Shrink the inner border radii to accommodate the border widths 2022-07-26 23:56:29 +01:00
CanvasPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
CheckBoxPaintable.cpp LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
CheckBoxPaintable.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
FilterPainting.cpp LibWeb: Support painting the hue-rotate() filter effect 2022-10-02 21:17:41 +02:00
FilterPainting.h LibWeb: Paint backdrop-filter effects! 2022-09-16 10:50:48 +01:00
GradientPainting.cpp LibWeb+LibGfx: Move premultiplied alpha mixing to color.mixed_with() 2022-09-16 10:50:48 +01:00
GradientPainting.h LibWeb: Resolve double-position linear-gradient() color stops 2022-08-23 01:02:49 +02:00
ImagePaintable.cpp LibWeb: Get default fonts via Platform::FontPlugin 2022-09-17 21:27:32 +02:00
ImagePaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
InlinePaintable.cpp LibWeb: Follow image-rendering when painting image style values 2022-08-10 19:39:07 +02:00
InlinePaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
LabelablePaintable.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LabelablePaintable.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
MarkerPaintable.cpp LibWeb: Follow image-rendering when painting image style values 2022-08-10 19:39:07 +02:00
MarkerPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
NestedBrowsingContextPaintable.cpp LibWeb: Don't paint non-visible frames 2022-08-05 12:46:42 +02:00
NestedBrowsingContextPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
Paintable.cpp LibWeb: Add some basic paint tree traversal helpers 2022-04-08 20:58:42 +02:00
Paintable.h LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
PaintableBox.cpp LibWeb: Add PaintableBox::absolute_paint_rect() 2022-09-25 18:37:31 +02:00
PaintableBox.h LibWeb: Add PaintableBox::absolute_paint_rect() 2022-09-25 18:37:31 +02:00
PaintContext.cpp LibWeb: Don't crash on content with SVG elements outside of <svg> 2022-02-28 14:17:44 +01:00
PaintContext.h LibWeb: Use the correct painter for painting stacking contexts 2022-04-08 20:44:23 +02:00
ProgressPaintable.cpp LibWeb: Paint a frame around (system) <progress> elements 2022-07-24 13:31:01 +01:00
ProgressPaintable.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
RadioButtonPaintable.cpp LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
RadioButtonPaintable.h LibWeb: Refactor all LabelableNode subclasses + input event handling :^) 2022-03-16 00:38:31 +01:00
ShadowPainting.cpp LibWeb: Fix shadow painting when the target painter is translated 2022-09-25 18:37:31 +02:00
ShadowPainting.h LibWeb: Pass border radii data to shadow painting 2022-06-23 19:13:24 +01:00
StackingContext.cpp LibWeb: Don't hit test all child stacking contexts twice 2022-10-07 12:10:59 +02:00
StackingContext.h LibWeb: Compute StackingContext transform origin only once 2022-09-24 23:06:09 +02:00
SVGGeometryPaintable.cpp LibWeb: Keep SVG elliptical arc shape when applying viewbox 2022-03-12 15:38:55 +01:00
SVGGeometryPaintable.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
SVGGraphicsPaintable.cpp LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
SVGGraphicsPaintable.h LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
SVGPaintable.cpp LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
SVGPaintable.h LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
SVGSVGPaintable.cpp LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
SVGSVGPaintable.h LibWeb: Don't clip to containing block when painting abspos descendants 2022-09-14 00:09:49 +02:00
TextPaintable.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextPaintable.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00