Bug 49225

Summary: Philip Canvas test 2d.path.rect.winding fails
Product: WebKit Reporter: Helder Correia <helder>
Component: CanvasAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ademar, commit-queue, kling, mdelaney7, prasad.adimulam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
URL: http://philip.html5.org/tests/canvas/suite/tests/2d.path.rect.winding.html
Bug Depends on:    
Bug Blocks: 46506    
Attachments:
Description Flags
Patch
none
Patch none

Helder Correia
Reported 2010-11-08 16:58:45 PST
The direction of the subpath is not taken into account. This breaks the nonzero winding rule when using either a negative width or a negative height (but not both), in which case the rect should be counterclockwise.
Attachments
Patch (5.08 KB, patch)
2010-11-08 17:06 PST, Helder Correia
no flags
Patch (4.21 KB, patch)
2010-11-09 15:04 PST, Helder Correia
no flags
Helder Correia
Comment 1 2010-11-08 17:06:36 PST
Andreas Kling
Comment 2 2010-11-09 00:18:41 PST
Comment on attachment 73312 [details] Patch This patch can be simplified to remove the "if (width < 0) {" and "if (height < 0) {" blocks and just leaving the Path::addRect() call as-is. The Path objects generated by the two code paths in your patch are equivalent AFAICT.
Helder Correia
Comment 3 2010-11-09 00:48:04 PST
@Andreas: my initial patch consisted in removing the two 'if' blocks only, but then I saw that you introduced them in http://trac.webkit.org/changeset/63270. If you're sure that removing them won't break anything, I can just do that.
Andreas Kling
Comment 4 2010-11-09 00:51:15 PST
(In reply to comment #3) > @Andreas: my initial patch consisted in removing the two 'if' blocks only, but then I saw that you introduced them in http://trac.webkit.org/changeset/63270. If you're sure that removing them won't break anything, I can just do that. That should be fine. r63270 simply factored those checks out of validateRectForCanvas() and into rect(). :-)
Helder Correia
Comment 5 2010-11-09 15:04:20 PST
WebKit Commit Bot
Comment 6 2010-11-09 21:07:07 PST
Comment on attachment 73428 [details] Patch Clearing flags on attachment: 73428 Committed r71716: <http://trac.webkit.org/changeset/71716>
WebKit Commit Bot
Comment 7 2010-11-09 21:07:12 PST
All reviewed patches have been landed. Closing bug.
Ademar Reis
Comment 8 2010-12-28 13:38:05 PST
As discussed (in pvt) with Suresh, this should not block qtwebkit-2.1. Marking as a nice-to-have fix for qtwebkit-2.2 (later it can be triaged and promoted to blocker if necessary)
Ademar Reis
Comment 9 2011-01-03 06:21:02 PST
Revision r71716 cherry-picked into qtwebkit-2.2 with commit dd6e586 <http://gitorious.org/webkit/qtwebkit/commit/dd6e586>
Prasad
Comment 10 2011-01-06 13:05:53 PST
Note You need to log in before you can comment on or make changes to this bug.