Bug 100071

Summary: Add canvas blending modes for chromium
Product: WebKit Reporter: Rik Cabanier <cabanier>
Component: CanvasAssignee: Rik Cabanier <cabanier>
Status: RESOLVED WONTFIX    
Severity: Normal CC: dglazkov, junov, schenney, senorblanco, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 100069    
Attachments:
Description Flags
not for review. awaiting fixes in skia
none
Patch
none
Archive of layout-test-results from gce-cr-linux-01
none
Patch
none
Patch none

Description Rik Cabanier 2012-10-22 20:28:42 PDT
This bug will add the canvas blend modes using the chromium backend
Comment 1 Rik Cabanier 2013-03-13 10:38:17 PDT
Created attachment 192946 [details]
not for review. awaiting fixes in skia
Comment 2 WebKit Review Bot 2013-03-13 11:25:37 PDT
Comment on attachment 192946 [details]
not for review. awaiting fixes in skia

Attachment 192946 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17179068

New failing tests:
fast/canvas/canvas-blend-solid.html
Comment 3 Justin Novosad 2013-03-13 20:32:34 PDT
Comment on attachment 192946 [details]
not for review. awaiting fixes in skia

View in context: https://bugs.webkit.org/attachment.cgi?id=192946&action=review

What are the skia fixes this is blocked on?

Why the expected test results with FAILs in them?

> Source/WebCore/platform/graphics/skia/SkiaUtils.cpp:89
> +        for (unsigned i = 0; i < SK_ARRAY_COUNT(gMapBlendOpsToXfermodeModes); i++) {

This loop is unfortunate. Is there no way we could turn this into: return gMapBlendOpsToXfermodeModes[blendMode]
Comment 4 Rik Cabanier 2013-03-13 21:14:39 PDT
(In reply to comment #3)
> (From update of attachment 192946 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=192946&action=review
> 
> What are the skia fixes this is blocked on?

https://chromiumcodereview.appspot.com/12662006/

> 
> Why the expected test results with FAILs in them?

The core graphics libraries don't follow the blending modes exactly. I'm trying to get Apple to fix them.
If they won't fix them, I will have to put platform specific test results in.

> 
> > Source/WebCore/platform/graphics/skia/SkiaUtils.cpp:89
> > +        for (unsigned i = 0; i < SK_ARRAY_COUNT(gMapBlendOpsToXfermodeModes); i++) {
> 
> This loop is unfortunate. Is there no way we could turn this into: return gMapBlendOpsToXfermodeModes[blendMode]

I agree. I followed the example right under my new code that sets up the compositing
Comment 5 Rik Cabanier 2013-03-22 10:48:05 PDT
Created attachment 194595 [details]
Patch
Comment 6 WebKit Review Bot 2013-03-22 11:52:58 PDT
Comment on attachment 194595 [details]
Patch

Attachment 194595 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17200676

New failing tests:
fast/canvas/canvas-blend-solid.html
Comment 7 WebKit Review Bot 2013-03-22 11:53:01 PDT
Created attachment 194609 [details]
Archive of layout-test-results from gce-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-01  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-3.3.8-gcg-201212281604-x86_64-with-GCEL-10.04-gcel_10.04
Comment 8 Rik Cabanier 2013-03-27 08:42:08 PDT
Created attachment 195334 [details]
Patch
Comment 9 Ion Rosca 2013-03-28 23:42:19 PDT
Created attachment 195701 [details]
Patch
Comment 10 Darin Adler 2013-04-09 09:26:10 PDT
Comment on attachment 195701 [details]
Patch

Clearing flags from a Skia-specific patch.
Comment 11 Stephen Chenney 2013-04-09 10:50:10 PDT
(In reply to comment #10)
> (From update of attachment 195701 [details])
> Clearing flags from a Skia-specific patch.

Sorry, from now on I'll make sure to clear flags as I migrate bugs.