Bug 225012

Summary: CanvasPattern with repetition != 'repeat' fills incorrectly for some transforms
Product: WebKit Reporter: knuts763
Component: CanvasAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dino, knuts763, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 14   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
A sample html file that illustrates the issue.
none
The broken result that I see when running the testcase none

Description knuts763 2021-04-23 18:18:49 PDT
Created attachment 426971 [details]
A sample html file that illustrates the issue.

For some transforms, the PatternCanvas fills incorrectly but only when repetition != 'repeat'. I'm not sure what specifically about the transform triggers it. For a lot of transforms, it's not broken.

The attached file illustrates the issue. If you open the file in Chrome or Firefox, both canvases correctly appear the same. If you open it in Safari, only the left canvas, which is 'repeat', shows correctly (the same as the other browsers). The right canvas shows incorrectly because it is 'no-repeat'. It's also broken for 'repeat-x' and 'repeat-y', but I didn't add either of those to the test case.

This may be a regression, I don't remember encountering it previously.
Comment 1 knuts763 2021-04-23 18:23:01 PDT
Created attachment 426972 [details]
The broken result that I see when running the testcase
Comment 2 Radar WebKit Bug Importer 2021-04-30 18:19:24 PDT
<rdar://problem/77407269>