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 Tuesday, June 16, 2009 1:39:49 AM UTC
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 Tuesday, June 16, 2009 1:45:21 AM UTC
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 Tuesday, June 16, 2009 1:46:36 AM UTC
Created attachment 31323 [details] image-object-in-canvas-expected.png
Oliver Hunt
Comment 3 Thursday, June 18, 2009 9:36:32 AM UTC
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 Thursday, June 18, 2009 11:00:15 AM UTC
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 Thursday, June 18, 2009 11:01:28 AM UTC
Comment on attachment 31490 [details] Patch v2 Thanks for the review! I've modified the patch as you mentioned.
Simon Fraser (smfr)
Comment 6 Thursday, June 18, 2009 10:33:21 PM UTC
I think olliej should review this.
Oliver Hunt
Comment 7 Friday, June 19, 2009 12:29:51 AM UTC
Comment on attachment 31490 [details] Patch v2 r=me
David Levin
Comment 8 Friday, June 19, 2009 12:38:09 AM UTC
Assigned to levin for landing.
Oliver Hunt
Comment 9 Friday, June 19, 2009 10:23:41 AM UTC
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.