Created attachment 121491 [details] repro Patterns use the wrong transformation to user space, leading to the origin being in the bottom left instead of top left. Note that the patterns in the attached test case are a) upside-down and b) move when you resize the window. See expected behavior in Firefox or Opera. I have a patch. <rdar://problem/9383222>
Created attachment 121494 [details] patch
Comment on attachment 121494 [details] patch Are applyStrokePattern() and applyFillPattern() used by canvas and CSS rendering? How does this affect those?
(In reply to comment #2) > (From update of attachment 121494 [details]) > Are applyStrokePattern() and applyFillPattern() used by canvas and CSS rendering? How does this affect those? Just Canvas and SVG, as far as I can tell. What in CSS would use them? In terms of Canvas, all the tests pass, and I manually tried out some of hixie's pattern examples and they all seem to pass too.
Created attachment 121500 [details] patch with image result
Comment on attachment 121500 [details] patch with image result Attachment 121500 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/11173147 New failing tests: svg/custom/pattern-userSpaceOnUse-userToBaseTransform.xhtml
Landed in http://trac.webkit.org/changeset/104356