RESOLVED WONTFIX 64237
[Skia] SVGMask fails on transformations
https://bugs.webkit.org/show_bug.cgi?id=64237
Summary [Skia] SVGMask fails on transformations
Dirk Schulze
Reported 2011-07-10 05:10:03 PDT
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.
Attachments
Mask on object that gets skewed (322 bytes, image/svg+xml)
2011-07-10 05:10 PDT, Dirk Schulze
no flags
Dirk Schulze
Comment 1 2011-07-10 05:11:51 PDT
Adding author of Skias clipToImageBuffer code.
Dirk Schulze
Comment 2 2011-08-30 12:51:01 PDT
I'll try to catch the problem once I got chromium skis working on Mac.
Note You need to log in before you can comment on or make changes to this bug.