WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
312584
REGRESSION (
303819@main
): Child with filter:blur() ignores border radius overflow clipping
https://bugs.webkit.org/show_bug.cgi?id=312584
Summary
REGRESSION (303819@main): Child with filter:blur() ignores border radius over...
bugzilla.control543
Reported
2026-04-17 09:16:29 PDT
Created
attachment 479145
[details]
Reproduction with toggle to turn blur on/off Overview: CSS filter: blur() on a child element ignores `overflow: hidden` and `border-radius` on the parent container. Steps to Reproduce: 1) Create a parent element with border-radius and overflow: hidden 2) Apply filter:blur() to a child element that fills the parent Actual Results: The blur effect causes the child to paint outside the parent's rounded clipping region. The border radius appears to have no effect while the blur is active. Expected Results: The blurred child should be clipped to the parent's rounded corners, respecting overflow: hidden and border-radius. Hardware: MacOS 26.4.1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15
Attachments
Reproduction with toggle to turn blur on/off
(1.20 KB, text/html)
2026-04-17 09:16 PDT
,
bugzilla.control543
no flags
Details
rendering in safari, firefox, chrome
(122.89 KB, image/png)
2026-04-27 03:02 PDT
,
Karl Dubost
no flags
Details
Safari 26.4 versus Technology Preview 242
(117.23 KB, image/png)
2026-04-27 05:31 PDT
,
bugzilla.control543
no flags
Details
Static testcase
(648 bytes, text/html)
2026-04-27 15:54 PDT
,
Simon Fraser (smfr)
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2026-04-24 09:17:12 PDT
<
rdar://problem/175519148
>
Karl Dubost
Comment 2
2026-04-27 03:02:57 PDT
Created
attachment 479326
[details]
rendering in safari, firefox, chrome It doesn't seem I can reproduce. Or maybe I do something wrong. Tested with Safari Technology Preview 242 Firefox Nightly 151 Chrome Canary 148
bugzilla.control543
Comment 3
2026-04-27 05:31:47 PDT
Created
attachment 479328
[details]
Safari 26.4 versus Technology Preview 242 Hey Karl, to reproduce you need to click the "Toggle blur" button to enable the `filter: blur(5px)` styling. The failure to clip the border radius only occurs when blurring is on. That being said, I'm no longer seeing the bug in Safari Technology Preview 242! It is clipping the border radius as I would expect.
Simon Fraser (smfr)
Comment 4
2026-04-27 15:54:45 PDT
Created
attachment 479345
[details]
Static testcase
Simon Fraser (smfr)
Comment 5
2026-04-27 16:07:30 PDT
This regressed somewhere in this range:
302000@main:305000@main
Simon Fraser (smfr)
Comment 6
2026-04-27 19:48:34 PDT
Regressed at
303819@main
, but that may have just revealed issues introduced in
296844@main
.
Simon Fraser (smfr)
Comment 7
2026-04-27 19:49:51 PDT
Replacing the filter with opacity (good rendering), the painting looks like: Save Clip (rect (58,50) width=300 height=300) BeginTransparencyLayer (opacity 0.80) Save (background) Clip (rect (58,50) width=300 height=300) ClipRoundedRect (rect (58,50) width=300 height=300 (top-left width=50 height=50) (top-right width=50 height=50) (bottom-left width=50 height=50) (bottom-right width=50 height=50)) FillCompositedRect (rect (58,50) width=300 height=300) (color #0000FF) (op source-over) (blendMode normal) Restore Save (foreground) Clip (rect (58,50) width=300 height=300) ClipRoundedRect (rect (58,50) width=300 height=300 (top-left width=50 height=50) (top-right width=50 height=50) (bottom-left width=50 height=50) (bottom-right width=50 height=50)) Restore Save (outline) Clip (rect (58,50) width=300 height=300) ClipRoundedRect (rect (58,50) width=300 height=300 (top-left width=50 height=50) (top-right width=50 height=50) (bottom-left width=50 height=50) (bottom-right width=50 height=50)) Restore EndTransparencyLayer Restore With filters, it's Save Clip (rect (58,50) width=300 height=300) SetStyle (style (radius width=9 height=9)) BeginTransparencyLayer (opacity 1.00) FillCompositedRect (rect (58,50) width=300 height=300) (color #0000FF) (op source-over) (blendMode normal) EndTransparencyLayer Restore The inner layer doesn't get clipRect.affectedByRadius() set.
Simon Fraser (smfr)
Comment 8
2026-04-29 14:20:21 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/63924
EWS
Comment 9
2026-05-04 10:34:18 PDT
Committed
312531@main
(34213f695a38): <
https://commits.webkit.org/312531@main
> Reviewed commits have been landed. Closing PR #63924 and removing active labels.
WebKit Commit Bot
Comment 10
2026-05-05 18:02:36 PDT
Re-opened since this is blocked by
bug 314146
Simon Fraser (smfr)
Comment 11
2026-05-13 21:56:17 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/64899
EWS
Comment 12
2026-05-14 15:34:24 PDT
Committed
313267@main
(b8414eccb3b1): <
https://commits.webkit.org/313267@main
> Reviewed commits have been landed. Closing PR #64899 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug