[Webkit-unassigned] [Bug 132949] New: [CANVAS] Gradients don't apply correctly in combination with some compositing modes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 15 05:16:15 PDT 2014


           Summary: [CANVAS] Gradients don't apply correctly in
                    combination with some compositing modes
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
               URL: http://jsfiddle.net/386sM/1/
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Canvas
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: blambov at google.com

The linked fiddle tries to draw a stroke with a paint that requires transformation by drawing a black stroke followed by a 'source-in' fill, where the paint is a linear gradient.

Safari incorrectly paints the stroke in the final color of the gradient instead of rendering the gradient. This happens when source-in, source-out or destination-atop compositing mode is used.

The fiddle should result in two rectangles that look the same (the second one is stroked using the gradient directly, which is not always possible (e.g. for radial gradients with non-uniform scales)). The test works fine on Chrome on any platform, as well as Firefox and Opera on Linux. It fails on Safari MacOS and iOS (tested on MacOS 10.9.2, version 7.0.3, as well as iOS 7.1.1).

See also
http://jsfiddle.net/386sM/2/  (using source-atop to work around the problem for opaque paints, also swapping + destination in which is even more broken)
http://jsfiddle.net/386sM/5/  (testing all compositing modes for fill() and stroke())

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list