Index: content/browser/renderer_host/render_widget_host_view_win.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_win.cc b/content/browser/renderer_host/render_widget_host_view_win.cc |
index 9f598b713d8a7d0f67a5ca4ff62b0467a244a20a..8fb17f6d329b58d19e89bae9f9bd3b5d0b1acd6a 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_win.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_win.cc |
@@ -908,6 +908,29 @@ void RenderWidgetHostViewWin::SetBackground(const SkBitmap& background) { |
render_widget_host_->SetBackground(background); |
} |
+bool RenderWidgetHostViewWin::CopyFromCompositingSurface( |
+ const gfx::Size& size, |
+ skia::PlatformCanvas* output) { |
+ if (!accelerated_surface_.get()) |
+ return false; |
+ |
+ if (size.IsEmpty()) |
+ return false; |
+ |
+ std::vector<unsigned char> pixels(4 * size.GetArea()); |
+ if(!accelerated_surface_->CopyTo(size, &pixels)) |
+ return false; |
+ |
+ SkBitmap bitmap; |
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height()); |
+ bitmap.setPixels(&pixels[0]); |
+ |
+ if (!output->initialize(size.width(), size.height(), true)) |
+ return false; |
+ output->writePixels(bitmap, 0, 0); |
vangelis
2012/03/08 17:34:35
Is it possible to call accelerated_surface_->CopyT
mazda
2012/03/10 07:51:37
I changed AccceleratedSurface::CopyTo to take void
|
+ return true; |
+} |
+ |
void RenderWidgetHostViewWin::UnhandledWheelEvent( |
const WebKit::WebMouseWheelEvent& event) { |
} |