-
senorblanco@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=105635 Reviewed by Dirk Schulze. Source/WebCore: Since HTML elements with filters are only added to m_clientLayers, not m_clients, and do not use the FilterInfo used by SVG filters on SVG elements, they must be invalidated separately. Some filter attribute invalidations call markAllClientsForInvalidation(), but some call markClientForInvalidation() directly. These invaldations must also invalidate m_clientLayers. Test: css3/filters/reference-filter-update-on-attribute-change.html * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation): * rendering/svg/RenderSVGResourceContainer.h: Refactor client layer invalidation out into its own function. * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Mark all client layers for invalidation when a filter primitve attribute is changed. LayoutTests: New reftest to verify filter attribute change invalidations. * css3/filters/reference-filter-update-on-attribute-change-expected.html: Added. * css3/filters/reference-filter-update-on-attribute-change.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
3c3d7bcf