-
dino@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=83317 Reviewed by Simon Fraser. Source/WebCore: An extremely large element causes problems with filters, either by taking too long to compute the output or using too much memory. The filter engine already has some constants for maximum expected size. Make sure the render tree checks them before deciding to apply effects. Tests: css3/filters/huge-region-composited.html css3/filters/huge-region.html * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::apply): * rendering/FilterEffectRenderer.cpp: (WebCore): (WebCore::isFilterSizeValid): (WebCore::FilterEffectRenderer::build): (WebCore::FilterEffectRenderer::updateBackingStore): (WebCore::FilterEffectRendererHelper::beginFilterEffect): * rendering/FilterEffectRenderer.h: (FilterEffectRenderer): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateOrRemoveFilterEffect): LayoutTests: * css3/filters/huge-region-composited-expected.txt: Added. * css3/filters/huge-region-composited.html: Added. * css3/filters/huge-region-expected.txt: Added. * css3/filters/huge-region.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
d458b69d