Changeset 162348 in webkit


Ignore:
Timestamp:
Jan 20, 2014 8:36:19 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

Source/WebCore: [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
when having -webkit-background-blending applied. Turns out the problem was
the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw

https://bugs.webkit.org/show_bug.cgi?id=126887

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-crossfade-image.html

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.

LayoutTests: Reapply:
[CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
when having -webkit-background-blending applied. Tests now use SVG rects, instead
of circles.

https://bugs.webkit.org/show_bug.cgi?id=126887
Patch by Mihai Tica <mitica@adobe.com> on 2014-01-20
Reviewed by Dirk Schulze.

  • css3/compositing/background-blend-mode-crossfade-image-expected.html:
  • css3/compositing/background-blend-mode-crossfade-image.html:
  • platform/efl/TestExpectations: Pass efl as blendMode is not implemented.
  • platform/mac/TestExpectations: Mark added test as ImageOnlyFailure due to slight differences between the result and the blending formula.
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r162346 r162348  
     12014-01-20  Mihai Tica  <mitica@adobe.com>
     2
     3        Reapply:
     4        [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
     5        when having -webkit-background-blending applied. Tests now use SVG rects, instead
     6        of circles.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=126887
     9        Reviewed by Dirk Schulze.
     10
     11        * css3/compositing/background-blend-mode-crossfade-image-expected.html:
     12        * css3/compositing/background-blend-mode-crossfade-image.html:
     13        * platform/efl/TestExpectations: Pass efl as blendMode is not implemented.
     14        * platform/mac/TestExpectations: Mark added test as ImageOnlyFailure due to slight differences between the result and the blending formula.
     15
    1162014-01-16  Sergio Villar Senin  <svillar@igalia.com>
    217
  • trunk/LayoutTests/platform/efl/TestExpectations

    r162341 r162348  
    493493webkit.org/b/105542 fast/canvas/canvas-blend-image.html [ Skip ]
    494494webkit.org/b/105542 fast/canvas/canvas-blend-solid.html [ Skip ]
     495webkit.org/b/126887 css3/compositing/background-blend-mode-crossfade-image.html [ Skip ]
    495496webkit.org/b/99200 css3/compositing/blend-mode-layers.html [ Skip ]
    496497webkit.org/b/99200 css3/compositing/blend-mode-overflow.html [ Skip ]
  • trunk/LayoutTests/platform/mac/TestExpectations

    r162341 r162348  
    662662webkit.org/b/95622 css3/filters/composited-during-animation-layertree.html [ Pass Failure ]
    663663
     664# Blending result is slightly different than the formula.
     665webkit.org/b/126887 css3/compositing/background-blend-mode-crossfade-image.html [ ImageOnlyFailure Pass ]
     666
    664667# --- Custom Filters ---
    665668# The following 5 tests are currently skipped on Mac for slight color differences,
  • trunk/Source/WebCore/ChangeLog

    r162344 r162348  
     12014-01-20  Mihai Tica  <mitica@adobe.com>
     2
     3        [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
     4        when having -webkit-background-blending applied. Turns out the problem was
     5        the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=126887
     8
     9        Reviewed by Dirk Schulze.
     10
     11        Test: css3/compositing/background-blend-mode-crossfade-image.html
     12
     13        * platform/graphics/CrossfadeGeneratedImage.cpp:
     14        (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
     15
    1162013-11-22  Sergio Villar Senin  <svillar@igalia.com>
    217
  • trunk/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp

    r161981 r162348  
    8484}
    8585
    86 void CrossfadeGeneratedImage::draw(GraphicsContext* context, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace, CompositeOperator compositeOp, BlendMode, ImageOrientationDescription)
     86void CrossfadeGeneratedImage::draw(GraphicsContext* context, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace, CompositeOperator compositeOp, BlendMode blendMode, ImageOrientationDescription)
    8787{
    8888    GraphicsContextStateSaver stateSaver(*context);
    89     context->setCompositeOperation(compositeOp);
     89    context->setCompositeOperation(compositeOp, blendMode);
    9090    context->clip(dstRect);
    9191    context->translate(dstRect.x(), dstRect.y());
Note: See TracChangeset for help on using the changeset viewer.