Created attachment 316562 [details] HTML test case Steps to reproduce the problem: 1. Set up the HTML <html> <body> <svg width='500' height='500'> <g transform='matrix(1 0 0 1 100 100)'> <foreignObject x='50' y='50' width='200' height='200'> <div>Some content</div> </foreignObject> </g> </svg> </body> </html> 2. Apply a CSS filter to the <div>, such as with: <div style="filter: blur(10px)"> --- The <div> should stay in place, and exhibit the blur effect as defined in its style. Instead, the <div> gets shifted upwards and leftwards in a way that suggests the transform matrix applied on the <g> element is no longer taken into consideration. Chrome / macOS exhibits a similar problem, but compounded with some weird cropping. Bug report here: https://bugs.chromium.org/p/chromium/issues/detail?id=749756 Firefox / macOS behaves as expected.
<rdar://problem/33575367>
We're just bad at things that trigger RenderLayer creation inside <foreignobject> in general.