Index: trunk/src/media/filters/skcanvas_video_renderer_unittest.cc |
=================================================================== |
--- trunk/src/media/filters/skcanvas_video_renderer_unittest.cc (revision 254711) |
+++ trunk/src/media/filters/skcanvas_video_renderer_unittest.cc (working copy) |
@@ -5,6 +5,7 @@ |
#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" |
@@ -18,17 +19,19 @@ |
// Helper for filling a |canvas| with a solid |color|. |
void FillCanvas(SkCanvas* canvas, SkColor color) { |
- canvas->clear(color); |
+ const SkBitmap& bitmap = canvas->getDevice()->accessBitmap(true); |
+ bitmap.lockPixels(); |
+ bitmap.eraseColor(color); |
+ bitmap.unlockPixels(); |
} |
// Helper for returning the color of a solid |canvas|. |
SkColor GetColorAt(SkCanvas* canvas, int x, int y) { |
- SkBitmap bitmap; |
- if (!bitmap.allocN32Pixels(1, 1)) |
- return 0; |
- if (!canvas->readPixels(&bitmap, x, y)) |
- return 0; |
- return bitmap.getColor(0, 0); |
+ const SkBitmap& bitmap = canvas->getDevice()->accessBitmap(false); |
+ bitmap.lockPixels(); |
+ SkColor c = bitmap.getColor(x, y); |
+ bitmap.unlockPixels(); |
+ return c; |
} |
SkColor GetColor(SkCanvas* canvas) { |
@@ -72,20 +75,14 @@ |
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( |
@@ -98,8 +95,10 @@ |
gfx::Rect(6, 6, 8, 6), |
gfx::Size(8, 6), |
base::TimeDelta::FromMilliseconds(4))), |
- fast_path_canvas_(alloc_bitmap(kWidth, kHeight, true)), |
- slow_path_canvas_(alloc_bitmap(kWidth, kHeight, false)) { |
+ 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_) { |
// Give each frame a unique timestamp. |
natural_frame_->SetTimestamp(base::TimeDelta::FromMilliseconds(1)); |
larger_frame_->SetTimestamp(base::TimeDelta::FromMilliseconds(2)); |