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.
Created attachment 228342 [details] Layout test reference
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.
(In reply to comment #2) > FilterEffectRenderer::buildReferenceFilter() does not handle the case that renderer->element() is false That is, when renderer->element() is null.
<rdar://problem/16661954>
*** Bug 129757 has been marked as a duplicate of this bug. ***
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!