Summary: | ASSERTion failure with very large SVG Filter | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tim Horton <thorton> | ||||
Component: | SVG | Assignee: | 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: |
|
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). 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 *** |
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*) ...