Chromium Code Reviews| 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 1e3948660f106c467127561a696572b543ff95a6..1a2770ec1eb19b0d0aa898b383f601c1581713a5 100644 |
| --- a/content/browser/compositor/delegated_frame_host.cc |
| +++ b/content/browser/compositor/delegated_frame_host.cc |
| @@ -160,7 +160,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) || |
| @@ -168,7 +168,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; |
| } |
| @@ -551,10 +551,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; |
| } |
| @@ -573,7 +573,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, |
| @@ -588,18 +588,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); |
|
Jeffrey Yasskin
2014/11/15 01:26:43
This line is incorrect if 'result' is false. I bel
|
| } |
| // 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. |
| @@ -647,11 +647,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()); |
| @@ -670,7 +670,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); |
| @@ -682,7 +682,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); |
| @@ -691,7 +691,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 |