RESOLVED FIXED246590
REGRESSION (r278062): Multiple backgrounds with "background-blend-mode: difference" breaks
https://bugs.webkit.org/show_bug.cgi?id=246590
Summary REGRESSION (r278062): Multiple backgrounds with "background-blend-mode: diffe...
brfrog7
Reported 2022-10-16 07:11:16 PDT
Created attachment 463015 [details] Screenshot showing lines instead of checkerboard Steps to reproduce: *(ios16+) Go to: https://codepen.io/jokeyrhyme/pen/OVVzem Expected result: *Result should display a checkerboard pattern Actual result: *In the codepen result, only one background is displayed, rendering lines only. See screenshot from ios 16 Additional info: This displays as a checkerboard in Firefox, Chrome and on iOS 15.7 but appears broken in iOS 16 so I would consider it a regression bug. Don't know if/how it may affect other areas of using multiple backgrounds using "linear-gradient" and "background-blend-mode: difference"
Attachments
Screenshot showing lines instead of checkerboard (122.20 KB, image/jpeg)
2022-10-16 07:11 PDT, brfrog7
no flags
Radar WebKit Bug Importer
Comment 1 2022-10-17 12:06:07 PDT
Said Abou-Hallawa
Comment 2 2022-11-08 14:35:52 PST
This happens on macOS also.
Said Abou-Hallawa
Comment 3 2022-11-08 16:41:48 PST
I think this is a regression of r278062. This revision replaced the call to GraphicsContextCG::setPlatformCompositeOperation() by GraphicsContext::setCompositeOperation() in GraphicsContextCG::drawPattern(). setCompositeOperation() is platform independent and should not be called from GraphicsContextCG methods. Instead we should be calling GraphicsContextCG::setCGBlendMode(). Note: r280095 fixed a similar problem in drawNativeImage().
Said Abou-Hallawa
Comment 4 2022-11-08 17:32:50 PST
EWS
Comment 5 2022-11-11 10:48:40 PST
Committed 256578@main (9ffcb90d8fa7): <https://commits.webkit.org/256578@main> Reviewed commits have been landed. Closing PR #6280 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.