Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_android.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc |
| index 3282ca90a83396f4a3ba30abcba21f6c6c902c56..490f856875a9c4171030d3b7b0b0c8c4ff69064b 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
| @@ -271,6 +271,35 @@ bool RenderWidgetHostViewAndroid::PopulateBitmapWithContents(jobject jbitmap) { |
| return true; |
| } |
| +bool RenderWidgetHostViewAndroid::PopulateBitmapWithContents( |
|
no sievers
2013/08/05 21:46:44
Oh no... we are trying to deprecate any readbacks
|
| + const gfx::Size& size, SkBitmap* bitmap) { |
| + if (!CompositorImpl::IsInitialized() || |
| + texture_id_in_layer_ == 0 || |
| + texture_size_in_layer_.IsEmpty()) |
| + return false; |
| + |
| + GLHelper* helper = ImageTransportFactoryAndroid::GetInstance()->GetGLHelper(); |
| + |
| + WebKit::WebGLId texture = helper->CopyAndScaleTexture( |
| + texture_id_in_layer_, |
| + texture_size_in_layer_, |
| + size, |
| + true, |
| + GLHelper::SCALER_QUALITY_FAST); |
| + if (texture == 0) |
| + return false; |
| + |
| + helper->ReadbackTextureSync(texture, |
| + gfx::Rect(size), |
| + static_cast<unsigned char*> (bitmap->getPixels())); |
| + |
| + WebKit::WebGraphicsContext3D* context = |
| + ImageTransportFactoryAndroid::GetInstance()->GetContext3D(); |
| + context->deleteTexture(texture); |
| + |
| + return true; |
| +} |
| + |
| bool RenderWidgetHostViewAndroid::HasValidFrame() const { |
| return texture_id_in_layer_ != 0 && |
| content_view_core_ && |