diff --git a/webrender/src/batch.rs b/webrender/src/batch.rs index e3ed1c4453..f4c1102aa4 100644 --- a/webrender/src/batch.rs +++ b/webrender/src/batch.rs @@ -1155,12 +1155,10 @@ impl AlphaBatchBuilder { get_shader_opacity(1.0), ]); - let shadow_rect = picture.local_rect.translate(&offset); - let shadow_clip_rect = picture.local_clip_rect.translate(&offset); + let shadow_rect = prim_header.local_rect.translate(&offset); let shadow_prim_header = PrimitiveHeader { local_rect: shadow_rect, - local_clip_rect: shadow_clip_rect, specific_prim_address: shadow_prim_address, ..prim_header }; diff --git a/wrench/reftests/filters/filter-drop-shadow-clip.png b/wrench/reftests/filters/filter-drop-shadow-clip.png new file mode 100644 index 0000000000..538a536361 Binary files /dev/null and b/wrench/reftests/filters/filter-drop-shadow-clip.png differ diff --git a/wrench/reftests/filters/filter-drop-shadow-clip.yaml b/wrench/reftests/filters/filter-drop-shadow-clip.yaml new file mode 100644 index 0000000000..98361c90c7 --- /dev/null +++ b/wrench/reftests/filters/filter-drop-shadow-clip.yaml @@ -0,0 +1,22 @@ +--- +root: + items: + - type: clip + id: 2 + bounds: [100, 100, 2000, 2000] + clip-rect: [100, 100, 2000, 2000] + items: + - type: stacking-context + bounds: [10, 10, 0, 0] + filters: drop-shadow([10, 10], 20, red) + clip-node: 2 + items: + - type: clip + bounds: [0, 0, 256, 256] + complex: + - rect: [0, 0, 256, 256] + radius: 16 + items: + - type: rect + bounds: 0 0 256 256 + color: green diff --git a/wrench/reftests/filters/reftest.list b/wrench/reftests/filters/reftest.list index 61e5515351..fdbb3fbf6c 100644 --- a/wrench/reftests/filters/reftest.list +++ b/wrench/reftests/filters/reftest.list @@ -33,6 +33,7 @@ fuzzy(1,14) == filter-long-chain.yaml filter-long-chain.png platform(linux,mac) == filter-drop-shadow.yaml filter-drop-shadow.png platform(linux,mac) == filter-drop-shadow-on-viewport-edge.yaml filter-drop-shadow-on-viewport-edge.png platform(linux,mac) == blend-clipped.yaml blend-clipped.png +platform(linux,mac) == filter-drop-shadow-clip.yaml filter-drop-shadow-clip.png == filter-segments.yaml filter-segments-ref.yaml == iframe-dropshadow.yaml iframe-dropshadow-ref.yaml == filter-mix-blend-mode.yaml filter-mix-blend-mode-ref.yaml