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"); |