Bug 275304

Summary: Element fails to render if external feDropShadow applied
Product: WebKit Reporter: azin+webkit
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: ahmad.saleem792, karlcow, nicole, sabouhallawa, simon.fraser, webkit-bug-importer, zimmermann
Priority: P2 Keywords: BrowserCompat, InRadar
Version: Safari 17   
Hardware: Mac (Intel)   
OS: macOS 12   
See Also: https://bugs.webkit.org/show_bug.cgi?id=258225
Attachments:
Description Flags
Test case files (an HTML and an SVG file) and screenshots demonstrating the bug. none

azin+webkit
Reported 2024-06-09 20:54:07 PDT
Created attachment 471634 [details] Test case files (an HTML and an SVG file) and screenshots demonstrating the bug. I'm maintaining a single-file SVG icon library that consists of symbols, which are meant to be loaded from inline <use> elements in HTML. A recently added icon partially fails to render in the HTML document. It turns out the culprit is a reDropShadow applied to one of the symbol's child elements. With the drop shadow filter applied, the whole element fails to render. The issue only occurs when the symbol is pulled form an external SVG file (using a fragment identifier in the <use> element's href attribute). Everything renders as expected if the symbol is defined inline in the HTML document. Moving the filter and feDropShadow elements into the HTML document also works. I've tried moving the filter and feDropShadow inside the symbol, but that still doesn't render. I've uploaded a test case demonstrating (A) a failing external symbol and drop shadow filter; (B) a succeeding inline symbol and drop shadow filter; and (C) a succeeding external symbol and inline drop shadow filter. Case A fails in Safari whereas all three cases succeed in FireFox, for reference.
Attachments
Test case files (an HTML and an SVG file) and screenshots demonstrating the bug. (198.67 KB, application/zip)
2024-06-09 20:54 PDT, azin+webkit
no flags
Radar WebKit Bug Importer
Comment 1 2024-06-10 14:22:15 PDT
Note You need to log in before you can comment on or make changes to this bug.