Created attachment 100222 [details] Mask on object that gets skewed SVGMask fails on transformations, independent what gets transformed. This is caused by our transformation algorithm in WebCore/rendering/SVGImageBufferTools.cpp/.h. We draw the content of a mask into a new ImageBuffer. This ImageBuffer is used as a mask. To prevent any pixelation, we draw the mask in the screen space instead of the userspace of the target. Means we transform the CTM of the ImageBuffer context to the transformation base that is visible on the screen before drawing the mask content. That forces us to transform the CTM of our canvas to the screens CTM as well during the masking operation and unapply the CTM transformation afterwards. For some reason this doesn't work on Skia quite well. I attached an example. In this example the mask gets skewed by 22.5 degree. On Skia the skewing is 45 degree. Looks like the transformation that is used to change from user space to screen space gets applied twice.
Adding author of Skias clipToImageBuffer code.
I'll try to catch the problem once I got chromium skis working on Mac.