| 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 8db7f7caa48804b9cc6d76f67f82f3f58d2da5a0..9e9eb509264a7df3c18c95e4d60706218d1bdc21 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
| @@ -623,11 +623,7 @@ void RenderWidgetHostViewAndroid::CopyFromCompositingSurface(
|
| const gfx::Size& dst_size,
|
| const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| const SkBitmap::Config bitmap_config) {
|
| - // Only ARGB888 and RGB565 supported as of now.
|
| - bool format_support = ((bitmap_config == SkBitmap::kRGB_565_Config) ||
|
| - (bitmap_config == SkBitmap::kARGB_8888_Config));
|
| - if (!format_support) {
|
| - DCHECK(format_support);
|
| + if (!IsReadbackConfigSupported(bitmap_config)) {
|
| callback.Run(false, SkBitmap());
|
| return;
|
| }
|
| @@ -636,18 +632,6 @@ void RenderWidgetHostViewAndroid::CopyFromCompositingSurface(
|
| callback.Run(false, SkBitmap());
|
| return;
|
| }
|
| - ImageTransportFactoryAndroid* factory =
|
| - ImageTransportFactoryAndroid::GetInstance();
|
| - GLHelper* gl_helper = factory->GetGLHelper();
|
| - if (!gl_helper)
|
| - return;
|
| - bool check_rgb565_support = gl_helper->CanUseRgb565Readback();
|
| - if ((bitmap_config == SkBitmap::kRGB_565_Config) &&
|
| - !check_rgb565_support) {
|
| - LOG(ERROR) << "Readbackformat rgb565 not supported";
|
| - callback.Run(false, SkBitmap());
|
| - return;
|
| - }
|
| const gfx::Display& display =
|
| gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
|
| float device_scale_factor = display.device_scale_factor();
|
| @@ -1355,6 +1339,7 @@ void RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResult(
|
| ImageTransportFactoryAndroid* factory =
|
| ImageTransportFactoryAndroid::GetInstance();
|
| GLHelper* gl_helper = factory->GetGLHelper();
|
| +
|
| if (!gl_helper)
|
| return;
|
|
|
| @@ -1421,6 +1406,16 @@ void RenderWidgetHostViewAndroid::PrepareBitmapCopyOutputResult(
|
| callback.Run(true, *source);
|
| }
|
|
|
| +bool RenderWidgetHostViewAndroid::IsReadbackConfigSupported(
|
| + SkBitmap::Config bitmap_config) {
|
| + ImageTransportFactoryAndroid* factory =
|
| + ImageTransportFactoryAndroid::GetInstance();
|
| + GLHelper* gl_helper = factory->GetGLHelper();
|
| + if (!gl_helper)
|
| + return false;
|
| + return gl_helper->IsReadbackConfigSupported(bitmap_config);
|
| +}
|
| +
|
| // static
|
| void RenderWidgetHostViewPort::GetDefaultScreenInfo(
|
| blink::WebScreenInfo* results) {
|
|
|