Visit the URL: http://shinh.skr.jp/t/rotate-pattern.html The face should rotate without displacement. With Safari4, the face moves randomly. Chrome (i.e., skia glue) and Firefox handles this properly. I think the reason is the error of floating point in PatternCG.cpp. I'll send a patch for this.
Created attachment 31322 [details] Patch v1 LayoutTests/ChangeLog | 15 ++++++++++ .../fast/canvas/image-object-in-canvas.html | 11 ++++++- .../image-object-in-canvas-expected.checksum | 2 +- .../canvas/image-object-in-canvas-expected.png | Bin 56436 -> 78642 bytes .../canvas/image-object-in-canvas-expected.txt | 30 +++++++++++-------- WebCore/ChangeLog | 15 ++++++++++ WebCore/platform/graphics/cg/PatternCG.cpp | 9 +++-- 7 files changed, 63 insertions(+), 19 deletions(-)
Created attachment 31323 [details] image-object-in-canvas-expected.png
Comment on attachment 31322 [details] Patch v1 For completeness can you replaced float xStep/yStep with CGFloat xStep/yStep, and i think we want the largest number possible so i think (1 << 23 - 1) rather than 1 << 21.
Created attachment 31490 [details] Patch v2 LayoutTests/ChangeLog | 15 ++++++++++ .../fast/canvas/image-object-in-canvas.html | 11 ++++++- .../image-object-in-canvas-expected.checksum | 2 +- .../canvas/image-object-in-canvas-expected.png | Bin 56436 -> 78642 bytes .../canvas/image-object-in-canvas-expected.txt | 30 +++++++++++-------- WebCore/ChangeLog | 15 ++++++++++ WebCore/platform/graphics/cg/PatternCG.cpp | 9 +++-- 7 files changed, 63 insertions(+), 19 deletions(-)
Comment on attachment 31490 [details] Patch v2 Thanks for the review! I've modified the patch as you mentioned.
I think olliej should review this.
Comment on attachment 31490 [details] Patch v2 r=me
Assigned to levin for landing.
Committing to http://svn.webkit.org/repository/webkit/trunk ... M LayoutTests/ChangeLog M LayoutTests/fast/canvas/image-object-in-canvas.html M LayoutTests/platform/mac/fast/canvas/image-object-in-canvas-expected.checksum M LayoutTests/platform/mac/fast/canvas/image-object-in-canvas-expected.txt M WebCore/ChangeLog M WebCore/platform/graphics/cg/PatternCG.cpp Committed r44850