Bug 68195

Summary: ASSERTion failure with very large SVG Filter
Product: WebKit Reporter: Tim Horton <thorton>
Component: SVGAssignee: Tim Horton <thorton>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: krit, sabouhallawa, webkit-bug-importer, zherczeg, zimmermann
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 68469    
Attachments:
Description Flags
test case none

Description Tim Horton 2011-09-15 15:14:02 PDT
Created attachment 107555 [details]
test case

For some reason we ASSERT() if a filter is larger than an arbitrary maximum size; this is somewhat annoying, I feel like a web inspector warning or something might be better.


ASSERTION FAILED: isFilterSizeValid(rect)
/Volumes/Data/Shared/src/WebKit/OpenSource/Source/WebCore/platform/graphics/filters/FilterEffect.cpp(123) : PassRefPtr<WTF::ByteArray> WebCore::FilterEffect::asPremultipliedImage(const WebCore::IntRect &)
1   WebCore::FilterEffect::asPremultipliedImage(WebCore::IntRect const&)
2   WebCore::FEDisplacementMap::apply()
3   WebCore::RenderSVGResourceFilter::postApplyResource(WebCore::RenderObject*, WebCore::GraphicsContext*&, unsigned short, WebCore::Path const*)
4   WebCore::SVGRenderSupport::finishRenderSVGContent(WebCore::RenderObject*, WebCore::PaintInfo&, WebCore::GraphicsContext*)
...
Comment 1 Radar WebKit Bug Importer 2011-09-15 15:14:33 PDT
<rdar://problem/10133283>
Comment 2 Dirk Schulze 2011-09-15 22:16:20 PDT
That assertion looks wrong! single filter effects can be bigger than 5000x5000! Just the size of the source   is limited. The growing of effect size can be caused by the needs of single filter effects (e.g. blur needs a bigger image because of the blur radius).
Comment 3 Said Abou-Hallawa 2015-04-22 15:23:44 PDT
A condition was added to FilterEffect::apply() to make early return if the input region is exceptionally large. The fix is in https://bugs.webkit.org/show_bug.cgi?id=83317.

*** This bug has been marked as a duplicate of bug 83317 ***