| Index: content/browser/renderer_host/render_widget_host_view_aura.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| index f262a3d8cb6f18cfe74ab68cc880c41f13b7e4bc..3e4c1ca5a68af97e127f85841fdc0a5ba4c9aa27 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| @@ -1089,7 +1089,15 @@ void RenderWidgetHostViewAura::CopyFromCompositingSurface(
|
| const gfx::Rect& src_subrect,
|
| const gfx::Size& dst_size,
|
| const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| - bool readback_config_rgb565) {
|
| + const SkBitmap::Config config) {
|
| + // Only ARGB888 and RGB565 supported as of now.
|
| + bool format_support = ((config == SkBitmap::kRGB_565_Config) ||
|
| + (config == SkBitmap::kARGB_8888_Config));
|
| + if (!format_support) {
|
| + DCHECK(format_support);
|
| + callback.Run(false, SkBitmap());
|
| + return;
|
| + }
|
| if (!CanCopyToBitmap()) {
|
| callback.Run(false, SkBitmap());
|
| return;
|
| @@ -1100,7 +1108,7 @@ void RenderWidgetHostViewAura::CopyFromCompositingSurface(
|
| cc::CopyOutputRequest::CreateRequest(base::Bind(
|
| &RenderWidgetHostViewAura::CopyFromCompositingSurfaceHasResult,
|
| dst_size_in_pixel,
|
| - readback_config_rgb565,
|
| + config,
|
| callback));
|
| gfx::Rect src_subrect_in_pixel =
|
| ConvertRectToPixel(current_device_scale_factor_, src_subrect);
|
| @@ -1833,7 +1841,7 @@ void RenderWidgetHostViewAura::SetSurfaceNotInUseByCompositor(
|
| // static
|
| void RenderWidgetHostViewAura::CopyFromCompositingSurfaceHasResult(
|
| const gfx::Size& dst_size_in_pixel,
|
| - bool readback_config_rgb565,
|
| + const SkBitmap::Config config,
|
| const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| if (result->IsEmpty() || result->size().IsEmpty()) {
|
| @@ -1842,7 +1850,7 @@ void RenderWidgetHostViewAura::CopyFromCompositingSurfaceHasResult(
|
| }
|
|
|
| if (result->HasTexture()) {
|
| - PrepareTextureCopyOutputResult(dst_size_in_pixel, readback_config_rgb565,
|
| + PrepareTextureCopyOutputResult(dst_size_in_pixel, config,
|
| callback,
|
| result.Pass());
|
| return;
|
| @@ -1866,7 +1874,7 @@ static void CopyFromCompositingSurfaceFinished(
|
| // static
|
| void RenderWidgetHostViewAura::PrepareTextureCopyOutputResult(
|
| const gfx::Size& dst_size_in_pixel,
|
| - bool readback_config_rgb565,
|
| + const SkBitmap::Config config,
|
| const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| base::ScopedClosureRunner scoped_callback_runner(
|
| @@ -1908,7 +1916,7 @@ void RenderWidgetHostViewAura::PrepareTextureCopyOutputResult(
|
| gfx::Rect(result->size()),
|
| dst_size_in_pixel,
|
| pixels,
|
| - readback_config_rgb565,
|
| + config,
|
| base::Bind(&CopyFromCompositingSurfaceFinished,
|
| callback,
|
| base::Passed(&release_callback),
|
|
|