Before r285597, there were two transformations for SVGFilter: (1) the transform from the renderer of the SVGFilter to the outer root and (2) the clamping scale. But since we use only the scaling part of the outer root transformation in scaling the SVGFilter, in r285597 the clamping scale and the outer root scale were merged in one FloatSize called filterScale. But I misunderstood the purpose and the arguments of ImageBuffer::sizeNeedsClamping(). And I think also there is a bug in SVGRenderingContext::createImageBuffer(). In this bug the following layout tests should be un-skipped. webkit.org/b/232705 imported/blink/svg/filters/filter-huge-clamping.svg [ Skip ] webkit.org/b/232705 svg/filters/big-sized-off-viewport-filter.svg [ Skip ]
Created attachment 445933 [details] Patch
Comment on attachment 445933 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=445933&action=review > Source/WebCore/rendering/CSSFilter.h:53 > + RefPtr<FilterEffect> lastEffect() const override; or final? > Source/WebCore/svg/graphics/filters/SVGFilter.h:45 > + RefPtr<FilterEffect> lastEffect() const override { return !m_expression.isEmpty() ? m_expression.last() : nullptr; } final
Created attachment 445951 [details] Patch
Committed r286526 (244858@main): <https://commits.webkit.org/244858@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 445951 [details].
<rdar://problem/86046194>