diff --git a/Userland/Libraries/LibWeb/Forward.h b/Userland/Libraries/LibWeb/Forward.h index d125df9938..898f5036f5 100644 --- a/Userland/Libraries/LibWeb/Forward.h +++ b/Userland/Libraries/LibWeb/Forward.h @@ -302,6 +302,7 @@ class PaintableWithLines; class StackingContext; class TextPaintable; struct BorderRadiusData; +struct BorderRadiiData; } namespace Web::RequestIdleCallback { diff --git a/Userland/Libraries/LibWeb/Painting/InlinePaintable.cpp b/Userland/Libraries/LibWeb/Painting/InlinePaintable.cpp index d7c2848c09..008b0016cf 100644 --- a/Userland/Libraries/LibWeb/Painting/InlinePaintable.cpp +++ b/Userland/Libraries/LibWeb/Painting/InlinePaintable.cpp @@ -69,7 +69,7 @@ void InlinePaintable::paint(PaintContext& context, Painting::PaintPhase phase) c static_cast(layer.spread_distance.to_px(layout_node())), layer.placement == CSS::ShadowPlacement::Outer ? Painting::ShadowPlacement::Outer : Painting::ShadowPlacement::Inner); } - Painting::paint_box_shadow(context, enclosing_int_rect(absolute_fragment_rect), resolved_box_shadow_data); + Painting::paint_box_shadow(context, enclosing_int_rect(absolute_fragment_rect), border_radii_data, resolved_box_shadow_data); } return IterationDecision::Continue; diff --git a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp index e651ca62ad..36391275fe 100644 --- a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp +++ b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp @@ -230,7 +230,7 @@ void PaintableBox::paint_box_shadow(PaintContext& context) const static_cast(layer.spread_distance.to_px(layout_box())), layer.placement == CSS::ShadowPlacement::Outer ? ShadowPlacement::Outer : ShadowPlacement::Inner); } - Painting::paint_box_shadow(context, enclosing_int_rect(absolute_border_box_rect()), resolved_box_shadow_data); + Painting::paint_box_shadow(context, enclosing_int_rect(absolute_border_box_rect()), normalized_border_radii_data(), resolved_box_shadow_data); } BorderRadiiData PaintableBox::normalized_border_radii_data() const diff --git a/Userland/Libraries/LibWeb/Painting/ShadowPainting.cpp b/Userland/Libraries/LibWeb/Painting/ShadowPainting.cpp index 8439f9adbd..6d494d9339 100644 --- a/Userland/Libraries/LibWeb/Painting/ShadowPainting.cpp +++ b/Userland/Libraries/LibWeb/Painting/ShadowPainting.cpp @@ -9,13 +9,16 @@ #include #include #include +#include #include #include namespace Web::Painting { -void paint_box_shadow(PaintContext& context, Gfx::IntRect const& content_rect, Vector const& box_shadow_layers) +void paint_box_shadow(PaintContext& context, Gfx::IntRect const& content_rect, BorderRadiiData const& border_radii, Vector const& box_shadow_layers) { + (void) border_radii; + if (box_shadow_layers.is_empty()) return; diff --git a/Userland/Libraries/LibWeb/Painting/ShadowPainting.h b/Userland/Libraries/LibWeb/Painting/ShadowPainting.h index 129a969682..41c8a09132 100644 --- a/Userland/Libraries/LibWeb/Painting/ShadowPainting.h +++ b/Userland/Libraries/LibWeb/Painting/ShadowPainting.h @@ -26,7 +26,7 @@ struct ShadowData { ShadowPlacement placement; }; -void paint_box_shadow(PaintContext&, Gfx::IntRect const&, Vector const&); +void paint_box_shadow(PaintContext&, Gfx::IntRect const&, BorderRadiiData const&, Vector const&); void paint_text_shadow(PaintContext&, Layout::LineBoxFragment const&, Vector const&); }