| 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 2a8b174837102a43f7ae22434b4b922db02e05c9..358ce0ab1e03184013e171da84fbd76bf80c0850 100644
|
| --- a/media/filters/skcanvas_video_renderer_unittest.cc
|
| +++ b/media/filters/skcanvas_video_renderer_unittest.cc
|
| @@ -56,8 +56,11 @@ class SkCanvasVideoRendererTest : public testing::Test {
|
| void PaintRotated(VideoFrame* video_frame,
|
| SkCanvas* canvas,
|
| Color color,
|
| + SkXfermode::Mode mode,
|
| VideoRotation video_rotation);
|
|
|
| + void Copy(VideoFrame* video_frame, SkCanvas* canvas);
|
| +
|
| // Getters for various frame sizes.
|
| VideoFrame* natural_frame() { return natural_frame_.get(); }
|
| VideoFrame* larger_frame() { return larger_frame_.get(); }
|
| @@ -189,18 +192,25 @@ SkCanvasVideoRendererTest::SkCanvasVideoRendererTest()
|
| SkCanvasVideoRendererTest::~SkCanvasVideoRendererTest() {}
|
|
|
| void SkCanvasVideoRendererTest::PaintWithoutFrame(SkCanvas* canvas) {
|
| - renderer_.Paint(NULL, canvas, kNaturalRect, 0xFF, VIDEO_ROTATION_0);
|
| + renderer_.Paint(NULL,
|
| + canvas,
|
| + kNaturalRect,
|
| + 0xFF,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_0);
|
| }
|
|
|
| void SkCanvasVideoRendererTest::Paint(VideoFrame* video_frame,
|
| SkCanvas* canvas,
|
| Color color) {
|
| - PaintRotated(video_frame, canvas, color, VIDEO_ROTATION_0);
|
| + PaintRotated(
|
| + video_frame, canvas, color, SkXfermode::kSrcOver_Mode, VIDEO_ROTATION_0);
|
| }
|
|
|
| void SkCanvasVideoRendererTest::PaintRotated(VideoFrame* video_frame,
|
| SkCanvas* canvas,
|
| Color color,
|
| + SkXfermode::Mode mode,
|
| VideoRotation video_rotation) {
|
| switch (color) {
|
| case kNone:
|
| @@ -215,7 +225,13 @@ void SkCanvasVideoRendererTest::PaintRotated(VideoFrame* video_frame,
|
| media::FillYUV(video_frame, 29, 255, 107);
|
| break;
|
| }
|
| - renderer_.Paint(video_frame, canvas, kNaturalRect, 0xFF, video_rotation);
|
| + renderer_.Paint(
|
| + video_frame, canvas, kNaturalRect, 0xFF, mode, video_rotation);
|
| +}
|
| +
|
| +void SkCanvasVideoRendererTest::Copy(VideoFrame* video_frame,
|
| + SkCanvas* canvas) {
|
| + renderer_.Copy(video_frame, canvas);
|
| }
|
|
|
| TEST_F(SkCanvasVideoRendererTest, NoFrame) {
|
| @@ -226,11 +242,31 @@ 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);
|
| + PaintRotated(VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)),
|
| + target_canvas(),
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_0);
|
| + 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.
|
| + PaintRotated(VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)),
|
| + target_canvas(),
|
| + kNone,
|
| + SkXfermode::kSrc_Mode,
|
| + VIDEO_ROTATION_0);
|
| + EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT),
|
| + GetColor(target_canvas()));
|
| +}
|
| +
|
| +TEST_F(SkCanvasVideoRendererTest, CopyTransparentFrame) {
|
| + FillCanvas(target_canvas(), SK_ColorRED);
|
| + Copy(VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)),
|
| + target_canvas());
|
| EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT),
|
| GetColor(target_canvas()));
|
| }
|
| @@ -325,7 +361,11 @@ TEST_F(SkCanvasVideoRendererTest, CroppedFrame_NoScaling) {
|
| TEST_F(SkCanvasVideoRendererTest, Video_Rotation_90) {
|
| SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| - PaintRotated(cropped_frame(), &canvas, kNone, VIDEO_ROTATION_90);
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_90);
|
| // Check the corners.
|
| EXPECT_EQ(SK_ColorGREEN, GetColorAt(&canvas, 0, 0));
|
| EXPECT_EQ(SK_ColorBLACK, GetColorAt(&canvas, kWidth - 1, 0));
|
| @@ -336,7 +376,11 @@ TEST_F(SkCanvasVideoRendererTest, Video_Rotation_90) {
|
| TEST_F(SkCanvasVideoRendererTest, Video_Rotation_180) {
|
| SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| - PaintRotated(cropped_frame(), &canvas, kNone, VIDEO_ROTATION_180);
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_180);
|
| // Check the corners.
|
| EXPECT_EQ(SK_ColorBLUE, GetColorAt(&canvas, 0, 0));
|
| EXPECT_EQ(SK_ColorGREEN, GetColorAt(&canvas, kWidth - 1, 0));
|
| @@ -347,7 +391,11 @@ TEST_F(SkCanvasVideoRendererTest, Video_Rotation_180) {
|
| TEST_F(SkCanvasVideoRendererTest, Video_Rotation_270) {
|
| SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| - PaintRotated(cropped_frame(), &canvas, kNone, VIDEO_ROTATION_270);
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_270);
|
| // Check the corners.
|
| EXPECT_EQ(SK_ColorRED, GetColorAt(&canvas, 0, 0));
|
| EXPECT_EQ(SK_ColorBLUE, GetColorAt(&canvas, kWidth - 1, 0));
|
|
|