Bug 155029 - Blur filter escapes an enclosing overflow:hidden
Summary: Blur filter escapes an enclosing overflow:hidden
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL: https://stripe.com/atlas
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-03-04 11:38 PST by Simon Fraser (smfr)
Modified: 2016-04-29 21:13 PDT (History)
8 users (show)

See Also:


Attachments
Patch (21.21 KB, patch)
2016-04-29 19:42 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (21.14 KB, patch)
2016-04-29 19:56 PDT, Simon Fraser (smfr)
zalan: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2016-03-04 11:38:57 PST
https://jsfiddle.net/1edf4k9t/4/ shows a bug where a blur filter escapes an enclosing overflow:hidden
Comment 1 Simon Fraser (smfr) 2016-03-05 17:44:21 PST
The clipping that RenderLayer::applyFilters() does is all wrong. The current code happens to never clip, because inside clipToRect(), clipRect.rect() == paintingInfo.paintDirtyRect. However, fixing that breaks filters that draw outside their bounds (blur, drop-shadow) because the backgroundRect used to clip is the pre-filtered background rect, taken from the paintDirtyRect.
Comment 2 Simon Fraser (smfr) 2016-04-01 10:53:44 PDT
rdar://problem/25488747
Comment 3 Simon Fraser (smfr) 2016-04-29 19:42:18 PDT
Created attachment 277783 [details]
Patch
Comment 4 Simon Fraser (smfr) 2016-04-29 19:56:38 PDT
Created attachment 277784 [details]
Patch
Comment 5 Simon Fraser (smfr) 2016-04-29 21:13:28 PDT
https://trac.webkit.org/r200283