Bug 23242

Summary: CanvasRenderingContext2D::transform() applies the matrix in the wrong order
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: DOMAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: oliver
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
Patch, LayoutTests, changelog oliver: review+

Description Simon Fraser (smfr) 2009-01-11 12:38:57 PST
CanvasRenderingContext2D::transform() does a post-multiply, rather than a pre-multiply when applying the transform. This results in incremental painting bugs, and breaks isPointInPath.
Comment 1 Simon Fraser (smfr) 2009-01-11 12:39:38 PST
<rdar://problem/6487750>
Comment 2 Simon Fraser (smfr) 2009-01-11 13:04:53 PST
Filed bug 23243 on TransformationMatrix::multiple ambiguity.
Comment 3 Simon Fraser (smfr) 2009-01-11 13:10:32 PST
Created attachment 26614 [details]
Patch, LayoutTests, changelog
Comment 4 Simon Fraser (smfr) 2009-01-11 13:11:41 PST
Good testing site: http://nerget.com/working/algorithm-ink/
Comment 5 Simon Fraser (smfr) 2009-01-11 13:23:15 PST
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/canvas/canvas-incremental-repaint-2.html
	M	LayoutTests/fast/canvas/pointInPath-expected.txt
	M	LayoutTests/fast/canvas/pointInPath.js
	A	LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-2-expected.checksum
	A	LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-2-expected.png
	A	LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-2-expected.txt
	M	WebCore/ChangeLog
	M	WebCore/html/CanvasRenderingContext2D.cpp
Committed r39807