Bug 320441
| Summary: | url(#foo) in external SVG via <use> incorrectly looks for referenced entity in outer document | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Sérgio Gomes <sergio.gomes> |
| Component: | SVG | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | karlcow, sabouhallawa, taher_ali, webkit-bug-importer, zimmermann |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 26 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=65344 | ||
| Bug Depends on: | 320107 | ||
| Bug Blocks: | |||
Sérgio Gomes
If a document loads an external SVG file via SVG `<use>`, then any `url(#foo)` usage in that external SVG file fails, because it is apparently looking for `foo` in the importing document instead of the external SVG file.
To illustrate this, here is a small test page: https://sgomes.github.io/external-svg-with-filter/
It includes both a "correct usage" test, where both the filter and the element that makes use of it are defined inside the external SVG; as well as an "incorrect usage" test that matches WebKit's apparent expectation, where the filter is instead defined in the importing document.
Blink and Gecko pass the "correct usage" test by rendering the shadow, and pass the "incorrect usage" test by rendering an entirely white image.
Webkit fails the "correct usage" test by rendering an entirely white image, and fails the "incorrect usage example" by rendering the shadow.
This problem had initially been reported as a comment in 65344 (https://bugs.webkit.org/show_bug.cgi?id=65344#c8) and was moved to a new issue as requested by taher_ali@apple.com.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/184004736>