| 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 28d586b3d694ed0ce9d0c38470776721b4172560..54305f89e856a01f26e77b1b7e3c2c7c95a4eeff 100644
|
| --- a/content/browser/compositor/delegated_frame_host.cc
|
| +++ b/content/browser/compositor/delegated_frame_host.cc
|
| @@ -151,7 +151,7 @@ void DelegatedFrameHost::CopyFromCompositingSurface(
|
| (color_type == kN32_SkColorType));
|
| DCHECK(format_support);
|
| if (!CanCopyToBitmap()) {
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(false, SkBitmap(), content::READBACK_SURFACE_UNAVAILABLE);
|
| return;
|
| }
|
|
|
| @@ -524,10 +524,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,
|
| + CopyFromCompositingSurfaceCallback& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| if (result->IsEmpty() || result->size().IsEmpty()) {
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(false, SkBitmap(), content::READBACK_RESULT_EMPTY);
|
| return;
|
| }
|
|
|
| @@ -546,7 +546,7 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceHasResult(
|
| }
|
|
|
| static void CopyFromCompositingSurfaceFinished(
|
| - const base::Callback<void(bool, const SkBitmap&)>& callback,
|
| + CopyFromCompositingSurfaceCallback& callback,
|
| scoped_ptr<cc::SingleReleaseCallback> release_callback,
|
| scoped_ptr<SkBitmap> bitmap,
|
| scoped_ptr<SkAutoLockPixels> bitmap_pixels_lock,
|
| @@ -561,18 +561,18 @@ static void CopyFromCompositingSurfaceFinished(
|
| bool lost_resource = sync_point == 0;
|
| release_callback->Run(sync_point, lost_resource);
|
|
|
| - callback.Run(result, *bitmap);
|
| + callback.Run(result, *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,
|
| + CopyFromCompositingSurfaceCallback& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| DCHECK(result->HasTexture());
|
| base::ScopedClosureRunner scoped_callback_runner(
|
| - base::Bind(callback, false, SkBitmap()));
|
| + base::Bind(callback, false, SkBitmap(), content::READBACK_RESULT_EMPTY));
|
|
|
| // TODO(sikugu): We should be able to validate the format here using
|
| // GLHelper::IsReadbackConfigSupported before we processs the result.
|
| @@ -620,11 +620,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,
|
| + CopyFromCompositingSurfaceCallback& callback,
|
| scoped_ptr<cc::CopyOutputResult> result) {
|
| if (color_type != kN32_SkColorType && color_type != kAlpha_8_SkColorType) {
|
| NOTIMPLEMENTED();
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(false, SkBitmap(), READBACK_FORMAT_NOT_SUPPORTED);
|
| return;
|
| }
|
| DCHECK(result->HasBitmap());
|
| @@ -643,7 +643,7 @@ void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| }
|
| if (color_type == kN32_SkColorType) {
|
| DCHECK_EQ(scaled_bitmap.colorType(), kN32_SkColorType);
|
| - callback.Run(true, scaled_bitmap);
|
| + callback.Run(true, scaled_bitmap, READBACK_SUCCESS);
|
| return;
|
| }
|
| DCHECK_EQ(color_type, kAlpha_8_SkColorType);
|
| @@ -655,7 +655,8 @@ void DelegatedFrameHost::PrepareBitmapCopyOutputResult(
|
| bool success = grayscale_bitmap.tryAllocPixels(
|
| SkImageInfo::MakeA8(scaled_bitmap.width(), scaled_bitmap.height()));
|
| if (!success) {
|
| - callback.Run(false, SkBitmap());
|
| + callback.Run(
|
| + false, SkBitmap(), content::READBACK_MEMORY_ALLOCATION_FAILURE);
|
| return;
|
| }
|
| SkCanvas canvas(grayscale_bitmap);
|
| @@ -664,7 +665,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(true, grayscale_bitmap, READBACK_SUCCESS);
|
| }
|
|
|
| // static
|
|
|