aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_2020/display_list/mod.rs
diff options
context:
space:
mode:
authorOriol Brufau <obrufau@igalia.com>2024-09-13 12:47:50 +0200
committerGitHub <noreply@github.com>2024-09-13 10:47:50 +0000
commit52f89c95b9decf86b445f311b8c04412d8c1754f (patch)
treedfaff1f99d4412131e766f3ef8b2a440d7e65222 /components/layout_2020/display_list/mod.rs
parent6e80a34d09e8bb22bdac5feeff4cf30b571987ff (diff)
downloadservo-52f89c95b9decf86b445f311b8c04412d8c1754f.tar.gz
servo-52f89c95b9decf86b445f311b8c04412d8c1754f.zip
Fix inset box-shadow to use the padding box (#33433)
As specified in https://drafts.csswg.org/css-backgrounds-3/#shadow-shape Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Diffstat (limited to 'components/layout_2020/display_list/mod.rs')
-rw-r--r--components/layout_2020/display_list/mod.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/components/layout_2020/display_list/mod.rs b/components/layout_2020/display_list/mod.rs
index c89a6f272ac..dcc912ef903 100644
--- a/components/layout_2020/display_list/mod.rs
+++ b/components/layout_2020/display_list/mod.rs
@@ -1028,18 +1028,17 @@ impl<'a> BuilderForBoxFragment<'a> {
}
// NB: According to CSS-BACKGROUNDS, box shadows render in *reverse* order (front to back).
- let border_rect = self.border_rect;
let common = builder.common_properties(MaxRect::max_rect(), &self.fragment.style);
for box_shadow in box_shadows.iter().rev() {
- let clip_mode = if box_shadow.inset {
- BoxShadowClipMode::Inset
+ let (rect, clip_mode) = if box_shadow.inset {
+ (*self.padding_rect(), BoxShadowClipMode::Inset)
} else {
- BoxShadowClipMode::Outset
+ (self.border_rect, BoxShadowClipMode::Outset)
};
builder.wr().push_box_shadow(
&common,
- border_rect,
+ rect,
LayoutVector2D::new(
box_shadow.base.horizontal.px(),
box_shadow.base.vertical.px(),