RESOLVED FIXED 26426
Canvas: rotation of 'no-repeat' pattern is weird
https://bugs.webkit.org/show_bug.cgi?id=26426
Summary Canvas: rotation of 'no-repeat' pattern is weird
Shinichiro Hamaji
Reported 2009-06-15 17:39:49 PDT
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.
Attachments
Patch v1 (7.47 KB, patch)
2009-06-15 17:45 PDT, Shinichiro Hamaji
oliver: review-
image-object-in-canvas-expected.png (76.80 KB, image/png)
2009-06-15 17:46 PDT, Shinichiro Hamaji
no flags
Patch v2 (7.49 KB, patch)
2009-06-18 03:00 PDT, Shinichiro Hamaji
oliver: review+
Shinichiro Hamaji
Comment 1 2009-06-15 17:45:21 PDT
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(-)
Shinichiro Hamaji
Comment 2 2009-06-15 17:46:36 PDT
Created attachment 31323 [details] image-object-in-canvas-expected.png
Oliver Hunt
Comment 3 2009-06-18 01:36:32 PDT
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.
Shinichiro Hamaji
Comment 4 2009-06-18 03:00:15 PDT
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(-)
Shinichiro Hamaji
Comment 5 2009-06-18 03:01:28 PDT
Comment on attachment 31490 [details] Patch v2 Thanks for the review! I've modified the patch as you mentioned.
Simon Fraser (smfr)
Comment 6 2009-06-18 14:33:21 PDT
I think olliej should review this.
Oliver Hunt
Comment 7 2009-06-18 16:29:51 PDT
Comment on attachment 31490 [details] Patch v2 r=me
David Levin
Comment 8 2009-06-18 16:38:09 PDT
Assigned to levin for landing.
Oliver Hunt
Comment 9 2009-06-19 02:23:41 PDT
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
Note You need to log in before you can comment on or make changes to this bug.