| Index: media/filters/skcanvas_video_renderer_unittest.cc
|
| diff --git a/media/filters/skcanvas_video_renderer_unittest.cc b/media/filters/skcanvas_video_renderer_unittest.cc
|
| index 5db3a34d6cfa260029c62ddd8b4c1ba5b56a8875..523aab05b491a2d40ebe6298550e6e0d5f9518cb 100644
|
| --- a/media/filters/skcanvas_video_renderer_unittest.cc
|
| +++ b/media/filters/skcanvas_video_renderer_unittest.cc
|
| @@ -52,7 +52,10 @@ class SkCanvasVideoRendererTest : public testing::Test {
|
|
|
| // Paints the |video_frame| to the |canvas| using |renderer_|, setting the
|
| // color of |video_frame| to |color| first.
|
| - void Paint(VideoFrame* video_frame, SkCanvas* canvas, Color color);
|
| + void Paint(VideoFrame* video_frame,
|
| + SkCanvas* canvas,
|
| + Color color,
|
| + SkXfermode::Mode mode = SkXfermode::kSrcOver_Mode);
|
|
|
| // Getters for various frame sizes.
|
| VideoFrame* natural_frame() { return natural_frame_.get(); }
|
| @@ -185,12 +188,13 @@ SkCanvasVideoRendererTest::SkCanvasVideoRendererTest()
|
| SkCanvasVideoRendererTest::~SkCanvasVideoRendererTest() {}
|
|
|
| void SkCanvasVideoRendererTest::PaintWithoutFrame(SkCanvas* canvas) {
|
| - renderer_.Paint(NULL, canvas, kNaturalRect, 0xFF);
|
| + renderer_.Paint(NULL, canvas, kNaturalRect, 0xFF, SkXfermode::kSrcOver_Mode);
|
| }
|
|
|
| void SkCanvasVideoRendererTest::Paint(VideoFrame* video_frame,
|
| SkCanvas* canvas,
|
| - Color color) {
|
| + Color color,
|
| + SkXfermode::Mode mode) {
|
| switch (color) {
|
| case kNone:
|
| break;
|
| @@ -204,7 +208,7 @@ void SkCanvasVideoRendererTest::Paint(VideoFrame* video_frame,
|
| media::FillYUV(video_frame, 29, 255, 107);
|
| break;
|
| }
|
| - renderer_.Paint(video_frame, canvas, kNaturalRect, 0xFF);
|
| + renderer_.Paint(video_frame, canvas, kNaturalRect, 0xFF, mode);
|
| }
|
|
|
| TEST_F(SkCanvasVideoRendererTest, NoFrame) {
|
| @@ -215,11 +219,20 @@ TEST_F(SkCanvasVideoRendererTest, NoFrame) {
|
| }
|
|
|
| TEST_F(SkCanvasVideoRendererTest, TransparentFrame) {
|
| - // Test that we don't blend with existing canvas contents.
|
| FillCanvas(target_canvas(), SK_ColorRED);
|
| Paint(VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)),
|
| target_canvas(),
|
| kNone);
|
| + EXPECT_EQ(static_cast<SkColor>(SK_ColorRED), GetColor(target_canvas()));
|
| +}
|
| +
|
| +TEST_F(SkCanvasVideoRendererTest, TransparentFrameSrcMode) {
|
| + FillCanvas(target_canvas(), SK_ColorRED);
|
| + // SRC mode completely overwrites the buffer.
|
| + Paint(VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)),
|
| + target_canvas(),
|
| + kNone,
|
| + SkXfermode::kSrc_Mode);
|
| EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT),
|
| GetColor(target_canvas()));
|
| }
|
|
|