Chromium Code Reviews| 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 3a2dc883f4031ea824c2b2088f2d1ecfceae9ecb..c888b6ca8e40e17b9971d038ee04886bcefe221e 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
| @@ -99,7 +99,7 @@ void SendImeEventAck(RenderWidgetHostImpl* host) { |
| } |
| void CopyFromCompositingSurfaceFinished( |
| - const base::Callback<void(bool, const SkBitmap&)>& callback, |
| + ReadbackRequestCallback& callback, |
| scoped_ptr<cc::SingleReleaseCallback> release_callback, |
| scoped_ptr<SkBitmap> bitmap, |
| const base::TimeTicks& start_time, |
| @@ -118,7 +118,7 @@ void CopyFromCompositingSurfaceFinished( |
| release_callback->Run(sync_point, lost_resource); |
| UMA_HISTOGRAM_TIMES(kAsyncReadBackString, |
| base::TimeTicks::Now() - start_time); |
| - callback.Run(result, *bitmap); |
| + callback.Run(*bitmap, READBACK_SUCCESS); |
|
piman
2014/11/07 01:55:42
if result is false, we shouldn't return READBACK_S
sivag
2014/11/07 12:27:41
Done.
|
| } |
| ui::LatencyInfo CreateLatencyInfo(const blink::WebInputEvent& event) { |
| @@ -239,11 +239,10 @@ bool HasMobileViewport(const cc::CompositorFrameMetadata& frame_metadata) { |
| } // anonymous namespace |
| -ReadbackRequest::ReadbackRequest( |
| - float scale, |
| - SkColorType color_type, |
| - gfx::Rect src_subrect, |
| - const base::Callback<void(bool, const SkBitmap&)>& result_callback) |
| +ReadbackRequest::ReadbackRequest(float scale, |
| + SkColorType color_type, |
| + gfx::Rect src_subrect, |
| + ReadbackRequestCallback& result_callback) |
| : scale_(scale), |
| color_type_(color_type), |
| src_subrect_(src_subrect), |
| @@ -380,7 +379,7 @@ void RenderWidgetHostViewAndroid::SetBounds(const gfx::Rect& rect) { |
| void RenderWidgetHostViewAndroid::AbortPendingReadbackRequests() { |
| while (!readbacks_waiting_for_frame_.empty()) { |
| ReadbackRequest& readback_request = readbacks_waiting_for_frame_.front(); |
| - readback_request.GetResultCallback().Run(false, SkBitmap()); |
| + readback_request.GetResultCallback().Run(SkBitmap(), READBACK_FAILED); |
| readbacks_waiting_for_frame_.pop(); |
| } |
| } |
| @@ -389,9 +388,9 @@ void RenderWidgetHostViewAndroid::GetScaledContentBitmap( |
| float scale, |
| SkColorType color_type, |
| gfx::Rect src_subrect, |
| - CopyFromCompositingSurfaceCallback& result_callback) { |
| + ReadbackRequestCallback& result_callback) { |
| if (!host_ || host_->is_hidden()) { |
| - result_callback.Run(false, SkBitmap()); |
| + result_callback.Run(SkBitmap(), READBACK_NOT_SUPPORTED); |
| return; |
| } |
| if (!IsSurfaceAvailableForCopy()) { |
| @@ -836,17 +835,17 @@ void RenderWidgetHostViewAndroid::SetBackgroundColor(SkColor color) { |
| void RenderWidgetHostViewAndroid::CopyFromCompositingSurface( |
| const gfx::Rect& src_subrect, |
| const gfx::Size& dst_size, |
| - CopyFromCompositingSurfaceCallback& callback, |
| + ReadbackRequestCallback& callback, |
| const SkColorType color_type) { |
| TRACE_EVENT0("cc", "RenderWidgetHostViewAndroid::CopyFromCompositingSurface"); |
| if ((!host_ || host_->is_hidden()) || |
| !IsReadbackConfigSupported(color_type)) { |
| - callback.Run(false, SkBitmap()); |
| + callback.Run(SkBitmap(), READBACK_FORMAT_NOT_SUPPORTED); |
| return; |
| } |
| base::TimeTicks start_time = base::TimeTicks::Now(); |
| if (!using_synchronous_compositor_ && !IsSurfaceAvailableForCopy()) { |
| - callback.Run(false, SkBitmap()); |
| + callback.Run(SkBitmap(), READBACK_NOT_SUPPORTED); |
| return; |
| } |
| const gfx::Display& display = |
| @@ -1196,13 +1195,13 @@ scoped_ptr<TouchHandleDrawable> RenderWidgetHostViewAndroid::CreateDrawable() { |
| void RenderWidgetHostViewAndroid::SynchronousCopyContents( |
| const gfx::Rect& src_subrect_in_pixel, |
| const gfx::Size& dst_size_in_pixel, |
| - const base::Callback<void(bool, const SkBitmap&)>& callback, |
| + ReadbackRequestCallback& callback, |
| const SkColorType color_type) { |
| SynchronousCompositor* compositor = |
| SynchronousCompositorImpl::FromID(host_->GetProcess()->GetID(), |
| host_->GetRoutingID()); |
| if (!compositor) { |
| - callback.Run(false, SkBitmap()); |
| + callback.Run(SkBitmap(), READBACK_FAILED); |
| return; |
| } |
| @@ -1216,7 +1215,7 @@ void RenderWidgetHostViewAndroid::SynchronousCopyContents( |
| (float)dst_size_in_pixel.width() / (float)src_subrect_in_pixel.width(), |
| (float)dst_size_in_pixel.height() / (float)src_subrect_in_pixel.height()); |
| compositor->DemandDrawSw(&canvas); |
| - callback.Run(true, bitmap); |
| + callback.Run(bitmap, READBACK_SUCCESS); |
| } |
| void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated( |
| @@ -1685,14 +1684,14 @@ void RenderWidgetHostViewAndroid::OnLostResources() { |
| } |
| // static |
| -void |
| -RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResultForDelegatedReadback( |
| - const gfx::Size& dst_size_in_pixel, |
| - const SkColorType color_type, |
| - const base::TimeTicks& start_time, |
| - scoped_refptr<cc::Layer> readback_layer, |
| - const base::Callback<void(bool, const SkBitmap&)>& callback, |
| - scoped_ptr<cc::CopyOutputResult> result) { |
| +void RenderWidgetHostViewAndroid:: |
| + PrepareTextureCopyOutputResultForDelegatedReadback( |
| + const gfx::Size& dst_size_in_pixel, |
| + const SkColorType color_type, |
| + const base::TimeTicks& start_time, |
| + scoped_refptr<cc::Layer> readback_layer, |
| + ReadbackRequestCallback& callback, |
| + scoped_ptr<cc::CopyOutputResult> result) { |
| readback_layer->RemoveFromParent(); |
| PrepareTextureCopyOutputResult( |
| dst_size_in_pixel, color_type, start_time, callback, result.Pass()); |
| @@ -1703,10 +1702,10 @@ void RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResult( |
| const gfx::Size& dst_size_in_pixel, |
| const SkColorType color_type, |
| const base::TimeTicks& start_time, |
| - const base::Callback<void(bool, const SkBitmap&)>& callback, |
| + ReadbackRequestCallback& callback, |
| scoped_ptr<cc::CopyOutputResult> result) { |
| base::ScopedClosureRunner scoped_callback_runner( |
| - base::Bind(callback, false, SkBitmap())); |
| + base::Bind(callback, SkBitmap(), READBACK_FAILED)); |
| TRACE_EVENT0("cc", |
| "RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResult"); |