Created attachment 228341 [details]
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.
*** Bug 129757 has been marked as a duplicate of this bug. ***