| Index: content/browser/compositor/delegated_frame_host.cc
|
| diff --git a/content/browser/compositor/delegated_frame_host.cc b/content/browser/compositor/delegated_frame_host.cc
|
| index ccf962abd6644b36eb1d6baa1428a75910b148c8..2aa73ea498b8aabdd599964d982b38ad3ec26cb8 100644
|
| --- a/content/browser/compositor/delegated_frame_host.cc
|
| +++ b/content/browser/compositor/delegated_frame_host.cc
|
| @@ -143,7 +143,7 @@ void DelegatedFrameHost::RequestCopyOfOutput(
|
| void DelegatedFrameHost::CopyFromCompositingSurface(
|
| const gfx::Rect& src_subrect,
|
| const gfx::Size& output_size,
|
| - CopyFromCompositingSurfaceCallback& callback,
|
| + ReadbackRequestCallback& callback,
|
| const SkColorType color_type) {
|
| // Only ARGB888 and RGB565 supported as of now.
|
| bool format_support = ((color_type == kAlpha_8_SkColorType) ||
|
| @@ -151,7 +151,7 @@ void DelegatedFrameHost::CopyFromCompositingSurface(
|
| (color_type == kN32_SkColorType));
|
| DCHECK(format_support);
|
| if (!CanCopyToBitmap()) {
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(SkBitmap(), content::READBACK_SURFACE_UNAVAILABLE);
|
| return;
|
| }
|
|
|
| @@ -540,10 +540,10 @@ void DelegatedFrameHost::EvictDelegatedFrame() {
|
| void DelegatedFrameHost::CopyFromCompositingSurfaceHasResult(
|
| const gfx::Size& dst_size_in_pixel,
|
| const SkColorType color_type,
|
| - const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| + ReadbackRequestCallback& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| if (result->IsEmpty() || result->size().IsEmpty()) {
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(SkBitmap(), content::READBACK_FAILED);
|
| return;
|
| }
|
|
|
| @@ -562,7 +562,7 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceHasResult(
|
| }
|
|
|
| static void CopyFromCompositingSurfaceFinished(
|
| - const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| + ReadbackRequestCallback& callback,
|
| scoped_ptr<cc::SingleReleaseCallback> release_callback,
|
| scoped_ptr<SkBitmap> bitmap,
|
| scoped_ptr<SkAutoLockPixels> bitmap_pixels_lock,
|
| @@ -577,18 +577,18 @@ static void CopyFromCompositingSurfaceFinished(
|
| bool lost_resource = sync_point == 0;
|
| release_callback->Run(sync_point, lost_resource);
|
|
|
| - callback.Run(result, *bitmap);
|
| + callback.Run(*bitmap, content::READBACK_SUCCESS);
|
| }
|
|
|
| // static
|
| void DelegatedFrameHost::PrepareTextureCopyOutputResult(
|
| const gfx::Size& dst_size_in_pixel,
|
| const SkColorType color_type,
|
| - const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| + ReadbackRequestCallback& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| DCHECK(result->HasTexture());
|
| base::ScopedClosureRunner scoped_callback_runner(
|
| - base::Bind(callback, false, SkBitmap()));
|
| + base::Bind(callback, SkBitmap(), content::READBACK_FAILED));
|
|
|
| // TODO(sikugu): We should be able to validate the format here using
|
| // GLHelper::IsReadbackConfigSupported before we processs the result.
|
| @@ -636,11 +636,11 @@ void DelegatedFrameHost::PrepareTextureCopyOutputResult(
|
| void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| const gfx::Size& dst_size_in_pixel,
|
| const SkColorType color_type,
|
| - const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| + ReadbackRequestCallback& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| if (color_type != kN32_SkColorType && color_type != kAlpha_8_SkColorType) {
|
| NOTIMPLEMENTED();
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(SkBitmap(), READBACK_FORMAT_NOT_SUPPORTED);
|
| return;
|
| }
|
| DCHECK(result->HasBitmap());
|
| @@ -659,7 +659,7 @@ void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| }
|
| if (color_type == kN32_SkColorType) {
|
| DCHECK_EQ(scaled_bitmap.colorType(), kN32_SkColorType);
|
| - callback.Run(true, scaled_bitmap);
|
| + callback.Run(scaled_bitmap, READBACK_SUCCESS);
|
| return;
|
| }
|
| DCHECK_EQ(color_type, kAlpha_8_SkColorType);
|
| @@ -671,7 +671,7 @@ void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| bool success = grayscale_bitmap.tryAllocPixels(
|
| SkImageInfo::MakeA8(scaled_bitmap.width(), scaled_bitmap.height()));
|
| if (!success) {
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(SkBitmap(), content::READBACK_MEMORY_ALLOCATION_FAILURE);
|
| return;
|
| }
|
| SkCanvas canvas(grayscale_bitmap);
|
| @@ -680,7 +680,7 @@ void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| skia::AdoptRef(SkLumaColorFilter::Create());
|
| paint.setColorFilter(filter.get());
|
| canvas.drawBitmap(scaled_bitmap, SkIntToScalar(0), SkIntToScalar(0), &paint);
|
| - callback.Run(true, grayscale_bitmap);
|
| + callback.Run(grayscale_bitmap, READBACK_SUCCESS);
|
| }
|
|
|
| // static
|
|
|