Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Unified Diff: content/browser/renderer_host/render_widget_host_view_win.cc

Issue 9582003: Support browser side thumbnailing for GPU composited pages on Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test compilation Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {
}

Powered by Google App Engine
This is Rietveld 408576698