-
fmalita@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=106221 Reviewed by Dean Jackson. Source/WebCore: Since the cached filter results are not invalidated for different repaint rects, we need to render the content of the whole filter region upfront (otherwise elements not visible during the initial paint due to scrolling/window size/etc. are never redrawn). Tests: svg/filters/filter-hidden-content-expected.svg svg/filters/filter-hidden-content.svg * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): (WebCore::RenderSVGResourceFilter::drawingRegion): (WebCore): * rendering/svg/RenderSVGResourceFilter.h: (FilterData): (RenderSVGResourceFilter): Track the filter drawing region in FilterData. * rendering/svg/SVGRenderingContext.cpp: (WebCore::SVGRenderingContext::~SVGRenderingContext): (WebCore::SVGRenderingContext::prepareToRenderSVGContent): * rendering/svg/SVGRenderingContext.h: Update paintInfo.rect to cover the whole drawing region while rendering filter content, and restore it when done. LayoutTests: * svg/filters/filter-hidden-content-expected.svg: Added. * svg/filters/filter-hidden-content.svg: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2c5fc8df