diff options
author | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-03 21:30:15 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-03 21:30:15 +0000 |
commit | 9a52116427ee92ef7470d1dd387d31c2d55e6b62 (patch) | |
tree | 4cf7c9f77b04fef53d505fefbc52b646f83c03ea /media/filters | |
parent | 79a702895e17d13056da5454830de5a9244b4f04 (diff) | |
download | chromium_src-9a52116427ee92ef7470d1dd387d31c2d55e6b62.zip chromium_src-9a52116427ee92ef7470d1dd387d31c2d55e6b62.tar.gz chromium_src-9a52116427ee92ef7470d1dd387d31c2d55e6b62.tar.bz2 |
don't create SkDevice directly, use SkBitmap or (better) SkCanvas::NewRaster factory
BUG=skia:2239
TBR=scherkus@chromium.org
Review URL: https://codereview.chromium.org/184743002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254567 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/filters')
-rw-r--r-- | media/filters/skcanvas_video_renderer_unittest.cc | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/media/filters/skcanvas_video_renderer_unittest.cc b/media/filters/skcanvas_video_renderer_unittest.cc index 1550dac..b3daf08 100644 --- a/media/filters/skcanvas_video_renderer_unittest.cc +++ b/media/filters/skcanvas_video_renderer_unittest.cc @@ -5,7 +5,6 @@ #include "media/base/video_frame.h" #include "media/base/video_util.h" #include "testing/gtest/include/gtest/gtest.h" -#include "third_party/skia/include/core/SkBitmapDevice.h" #include "third_party/skia/include/core/SkCanvas.h" #include "media/filters/skcanvas_video_renderer.h" @@ -19,19 +18,17 @@ static const gfx::Rect kNaturalRect(0, 0, kWidth, kHeight); // Helper for filling a |canvas| with a solid |color|. void FillCanvas(SkCanvas* canvas, SkColor color) { - const SkBitmap& bitmap = canvas->getDevice()->accessBitmap(true); - bitmap.lockPixels(); - bitmap.eraseColor(color); - bitmap.unlockPixels(); + canvas->clear(color); } // Helper for returning the color of a solid |canvas|. SkColor GetColorAt(SkCanvas* canvas, int x, int y) { - const SkBitmap& bitmap = canvas->getDevice()->accessBitmap(false); - bitmap.lockPixels(); - SkColor c = bitmap.getColor(x, y); - bitmap.unlockPixels(); - return c; + SkBitmap bitmap; + if (!bitmap.allocN32Pixels(1, 1)) + return 0; + if (!canvas->readPixels(&bitmap, x, y)) + return 0; + return bitmap.getColor(0, 0); } SkColor GetColor(SkCanvas* canvas) { @@ -75,14 +72,20 @@ class SkCanvasVideoRendererTest : public testing::Test { scoped_refptr<VideoFrame> smaller_frame_; scoped_refptr<VideoFrame> cropped_frame_; - SkBitmapDevice fast_path_device_; SkCanvas fast_path_canvas_; - SkBitmapDevice slow_path_device_; SkCanvas slow_path_canvas_; DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRendererTest); }; +static SkBitmap alloc_bitmap(int width, int height, bool isOpaque) { + SkAlphaType alphaType = isOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType; + SkBitmap bitmap; + + bitmap.allocPixels(SkImageInfo::MakeN32(width, height, alphaType)); + return bitmap; +} + SkCanvasVideoRendererTest::SkCanvasVideoRendererTest() : natural_frame_(VideoFrame::CreateBlackFrame(gfx::Size(kWidth, kHeight))), larger_frame_(VideoFrame::CreateBlackFrame( @@ -95,10 +98,8 @@ SkCanvasVideoRendererTest::SkCanvasVideoRendererTest() gfx::Rect(6, 6, 8, 6), gfx::Size(8, 6), base::TimeDelta::FromMilliseconds(4))), - fast_path_device_(SkBitmap::kARGB_8888_Config, kWidth, kHeight, true), - fast_path_canvas_(&fast_path_device_), - slow_path_device_(SkBitmap::kARGB_8888_Config, kWidth, kHeight, false), - slow_path_canvas_(&slow_path_device_) { + fast_path_canvas_(alloc_bitmap(kWidth, kHeight, true)), + slow_path_canvas_(alloc_bitmap(kWidth, kHeight, false)) { // Give each frame a unique timestamp. natural_frame_->SetTimestamp(base::TimeDelta::FromMilliseconds(1)); larger_frame_->SetTimestamp(base::TimeDelta::FromMilliseconds(2)); |