This requires passing a GraphicsContext to SVGFilter::create() and CSSFilter::create(). This already can be done for SVGFilter since it is created in RenderSVGResourceFilter::applyResource(). But creating the CSSFilter is a little problematic.
<rdar://problem/89209695>
Created attachment 456668 [details] Patch
Comment on attachment 456668 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=456668&action=review > Source/WebCore/rendering/CSSFilter.cpp:259 > +static RefPtr<SVGFilter> createReferenceFilter(CSSFilter& filter, const ReferenceFilterOperation& filterOperation, RenderElement& renderer, const FloatRect& targetBoundingBox, const GraphicsContext& context) Can we all it "destinationContext" to avoid any ambiguity with contexts related to the filter's internal buffers. > Source/WebCore/rendering/CSSFilter.cpp:271 > +bool CSSFilter::buildFilterFunctions(RenderElement& renderer, const FilterOperations& operations, const FloatRect& targetBoundingBox, const GraphicsContext& context) Ditto
Created attachment 456850 [details] Patch
Committed r292512 (249354@main): <https://commits.webkit.org/249354@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 456850 [details].