| Index: ui/gfx/compositor/compositor_cc.cc
|
| diff --git a/ui/gfx/compositor/compositor_cc.cc b/ui/gfx/compositor/compositor_cc.cc
|
| index 6649f38c2fe15f7dab7a1a10178ede0c3f224a4e..ba8cd3875cae7f27a00490a9fc0b82a41e7036b1 100644
|
| --- a/ui/gfx/compositor/compositor_cc.cc
|
| +++ b/ui/gfx/compositor/compositor_cc.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "ui/gfx/compositor/compositor_cc.h"
|
|
|
| +#include "third_party/skia/include/images/SkImageEncoder.h"
|
| +#include "third_party/skia/include/core/SkBitmap.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositor.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebFloatPoint.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebSize.h"
|
| @@ -174,8 +176,17 @@ void CompositorCC::DrawTree() {
|
| host_.composite();
|
| }
|
|
|
| -void CompositorCC::ReadPixels(SkBitmap* bitmap) {
|
| - NOTIMPLEMENTED();
|
| +bool CompositorCC::ReadPixels(SkBitmap* bitmap) {
|
| + bitmap->setConfig(SkBitmap::kARGB_8888_Config,
|
| + size().width(), size().height());
|
| + bitmap->allocPixels();
|
| + SkAutoLockPixels lock_image(*bitmap);
|
| + unsigned char* pixels = static_cast<unsigned char*>(bitmap->getPixels());
|
| + if (host_.compositeAndReadback(pixels)) {
|
| + SwizzleRGBAToBGRAAndFlip(pixels, size());
|
| + return true;
|
| + }
|
| + return false;
|
| }
|
|
|
| void CompositorCC::animateAndLayout(double frameBeginTime) {
|
|
|