Created attachment 156918 [details] testcase A MathJax user reported that the HTML+CSS code generated by MathJax to display mathematical formulas is not rendered correctly in Webkit when scaled inside SVG: https://github.com/mathjax/MathJax/issues/279 The code generated by MathJax contains many <span>'s and it's hard to say what the problem is. However, I think I have isolated one issue with <span style="display: inline-block; position: relative;">, which are used everywhere in the generated code. In the attached testcase, such a span is used to draw a 50x50 red rectangle. I use SVG to scale it by a factor of 2. In Firefox, it thus fits in the 100x100 black frame. However in Webkit this rectangle is still rendered with a size of 50x50. Note that if you use "position: static;", it is correctly scaled.
Of course, this affects both coordinates and size. You can try to use "left: 25px; top: 25px; width: 25px; height: 25px;" in the testcase.
Created attachment 174887 [details] Another test case. This bug prevents the use of Closure UI widgets in SVG. Attached is an independently created testcase. Works fine in Gecko.
SVG trees don't have RenderLayers. It's a loooong standing bug. :(
Not just span everything, see https://stackoverflow.com/questions/63690664/safari-macos-foreign-object-not-positioned-properly-inside-svg
Created attachment 460320 [details] Safari 15.5 differs from other browsers I am able to reproduce this bug in Safari 15.5 on macOS based on attached "Another Test", it is also reproducible using other test case but I am attaching just one screenshot for reference. All other browsers match each other as shown in the screenshot as well. Thanks!
<rdar://problem/95422479>
position:relative triggers RenderLayer, so dup of bug 23113. *** This bug has been marked as a duplicate of bug 23113 ***