Our SVG code currently does not treat `transform` as a presentational attribute. `transform-origin` is partially done (see the FIXME in createAttributeNameToCSSPropertyIDMap()). This all needs cleaning up.
One tricky thing will be to make SVGTransformableElement.transform.{baseVal,animVal} do the right thing. https://drafts.csswg.org/css-transforms-1/#transform-attribute-dom
<rdar://problem/84790424>
Good catch Karl. Indeed this is the „lazy SVG attribute synchronization“ that apparently exposes this bug. We probably fail to unmap properly..
Oops ignore the last comment, wrong bug report. Notes that I tried this two years ago, but it was really hard to beat the speed of SVGTransformList parsing - even when adding multiple of fast paths for certain transformations as CSSParserFastPaths. But we should repeat the experiment. The only thing missing is rotation center support for rotate(). If there is interest, I can look up my code from a while ago