NEW219978
SVG foreignObject content (seemingly) doesn't get the transform from ancestry tree
https://bugs.webkit.org/show_bug.cgi?id=219978
Summary SVG foreignObject content (seemingly) doesn't get the transform from ancestry...
Bogdan Brinza
Reported 2020-12-16 23:08:08 PST
Created attachment 416393 [details] Minimal reduction Original site issue found on UniFi controller topology map (https://demo.ui.com/manage/site/default/maps/topology - this demo page takes forever to load in Safari btw, instant in Firefox). Device icons are basically fixed size as you zoom and move around. There is a zoom level where they look good, every other zoom level breaks them. I'm attaching a minimal reduction that demonstrates the issue - unifi.html and two image Safari-broken.png and Firefox-working.png (it also works in Chromium FWIW). Looking at the minimal repro almost everything seems like a red herring, the actually important things are: <g transform="translate(50,50) scale(0.5)"> - a node with a transform in the ancestry chain <foreignObject width="48" height="48" x="-24" y="-24"> - foreignObject with a specified size 48x48 Observing the result in Safari and Firefox one can notice that both foreignObjects are twice as large in Safari. (Twice as large and 0.5 scale, hmmmmm :-)) To confirm this I've added another CSS rule that applies scale(0.5) directly to the foreignObject first child nodes (see xforeignObject) - if one removes "x" to make a valid rule and reloads in Safari - the rendering will be identical to Firefox.
Attachments
Minimal reduction (1.23 KB, text/html)
2020-12-16 23:08 PST, Bogdan Brinza
no flags
Safari issue (9.56 KB, image/png)
2020-12-16 23:08 PST, Bogdan Brinza
no flags
Firefox reference (8.14 KB, image/png)
2020-12-16 23:08 PST, Bogdan Brinza
no flags
Safari with a scale applied to foreignObject content (8.37 KB, image/png)
2020-12-16 23:09 PST, Bogdan Brinza
no flags
Minimal reduction (1.23 KB, text/html)
2020-12-16 23:44 PST, Bogdan Brinza
no flags
Minimal reduction (587 bytes, text/html)
2020-12-17 08:59 PST, Bogdan Brinza
no flags
Bogdan Brinza
Comment 1 2020-12-16 23:08:28 PST
Created attachment 416394 [details] Safari issue
Bogdan Brinza
Comment 2 2020-12-16 23:08:41 PST
Created attachment 416395 [details] Firefox reference
Bogdan Brinza
Comment 3 2020-12-16 23:09:10 PST
Created attachment 416396 [details] Safari with a scale applied to foreignObject content
Bogdan Brinza
Comment 4 2020-12-16 23:44:46 PST
Created attachment 416399 [details] Minimal reduction
Bogdan Brinza
Comment 5 2020-12-17 08:59:50 PST
Created attachment 416422 [details] Minimal reduction Based on my earlier notes, I've removed everything irrelevant to demonstrate the problem even more clearly
Smoley
Comment 6 2020-12-22 12:17:54 PST
Thanks for filing, I can reproduce this on Safari 13.1.3 as well as STP 117.
Radar WebKit Bug Importer
Comment 7 2020-12-22 12:18:06 PST
Note You need to log in before you can comment on or make changes to this bug.