Bug 131085

Summary: SVG-filtered anonymous renderers not updated when filter is loaded
Product: WebKit Reporter: Jon Honeycutt <jhoneycutt>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ahmad.saleem792, bfulgham, ddkilzer, dino, koivisto, simon.fraser, thorton, webkit-bug-importer, zimmermann
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Description Flags
Layout test
Layout test reference none

Description Jon Honeycutt 2014-04-01 16:59:22 PDT
Created attachment 228341 [details]
Layout test

If an anonymous render object is filtered with an SVG filter, and that filter appears in the document after the element (or if it loads sometime later), the renderer will not be updated/repaint when the filter loads.
Comment 1 Jon Honeycutt 2014-04-01 17:00:12 PDT
Created attachment 228342 [details]
Layout test reference
Comment 2 Jon Honeycutt 2014-04-01 17:48:45 PDT
FilterEffectRenderer::buildReferenceFilter() does not handle the case that renderer->element() is false when the filter does not already exist in the document.

I tried fixing this in two ways:

1) Using a non-null ancestor Element for anonymous objects. This doesn't work because the object may not yet exist in the RenderTree when this code is reached, so it has no ancestors.

2) Because we only use the renderer from the stored Element in RenderSVGResourceContainer::registerResource(), I tried changing SVGDocumentExtensions to store a set of RenderElements rather than Elements. This led to issues when building the list of pending resources for Elements that do not yet have associated renderers.
Comment 3 Jon Honeycutt 2014-04-02 01:38:26 PDT
(In reply to comment #2)
> FilterEffectRenderer::buildReferenceFilter() does not handle the case that renderer->element() is false 

That is, when renderer->element() is null.
Comment 4 Radar WebKit Bug Importer 2014-04-18 13:00:03 PDT
Comment 5 David Kilzer (:ddkilzer) 2014-04-18 13:07:52 PDT
*** Bug 129757 has been marked as a duplicate of this bug. ***
Comment 6 Ahmad Saleem 2022-10-21 14:34:36 PDT
I am able to reproduce this bug in Safari Technology Preview 156 using "Layout test" and first letter "F" is blurred while it is not the case with Chrome Canary 109 and Firefox Nightly 108. Thanks!