Today I tested what happens when you use getBoundingClientRect()
on an SVG element that has been rotated.
Test: http://phrogz.net/svg/getBoundingClientRect-on-rotated-elements.html
The result is that:
Chrome, Safari, Opera, and IE appear to calculate the local (untransformed) bounding box of the element, and then return the client rect for that bounding box. This can result in a client rect larger than seems appropriate.
Firefox, on the other hand, clips the client rect to fit the element itself.
Which behavior is correct according to the specifications?
For what it's worth, I prefer the Firefox behavior, but (absent understanding the specs) think that Firefox's deviation should be considered a bug.