Bug 23242 - CanvasRenderingContext2D::transform() applies the matrix in the wrong order
Summary: CanvasRenderingContext2D::transform() applies the matrix in the wrong order
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
Keywords: InRadar
Depends on:
Reported: 2009-01-11 12:38 PST by Simon Fraser (smfr)
Modified: 2009-01-11 13:23 PST (History)
1 user (show)

See Also:

Patch, LayoutTests, changelog (7.58 KB, patch)
2009-01-11 13:10 PST, Simon Fraser (smfr)
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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
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