Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(801)

Unified Diff: content/browser/renderer_host/render_widget_host_view_browsertest.cc

Issue 593503003: Support error handling for Surface readbacks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use content namespace to resolve readback params. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_browsertest.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_browsertest.cc b/content/browser/renderer_host/render_widget_host_view_browsertest.cc
index a04a117f2923d3aecfb43fcc097fb7d52ece56f0..88f7a1ec71b3b885538ad039ce3d91d532239134 100644
--- a/content/browser/renderer_host/render_widget_host_view_browsertest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_browsertest.cc
@@ -106,9 +106,10 @@ class RenderWidgetHostViewBrowserTest : public ContentBrowserTest {
// Callback when using CopyFromBackingStore() API.
void FinishCopyFromBackingStore(const base::Closure& quit_closure,
- bool frame_captured,
- const SkBitmap& bitmap) {
+ const SkBitmap& bitmap,
+ const ReadbackResponse& response) {
++callback_invoke_count_;
+ bool frame_captured = (response == READBACK_SUCCESS);
if (frame_captured) {
piman 2014/11/07 01:55:42 nit: no need for the intermediate 'frame_captured'
sivag 2014/11/07 12:27:41 Done.
++frames_captured_;
EXPECT_FALSE(bitmap.empty());
@@ -413,9 +414,10 @@ class CompositingRenderWidgetHostViewBrowserTestTabCapture
CompositingRenderWidgetHostViewBrowserTest::SetUp();
}
- void CopyFromCompositingSurfaceCallback(base::Closure quit_callback,
- bool result,
- const SkBitmap& bitmap) {
+ void ReadbackRequestCallbackTest(base::Closure quit_callback,
+ const SkBitmap& bitmap,
+ const ReadbackResponse& response) {
+ bool result = (response == READBACK_SUCCESS);
EXPECT_EQ(expected_copy_from_compositing_surface_result_, result);
if (!result) {
quit_callback.Run();
@@ -472,7 +474,7 @@ class CompositingRenderWidgetHostViewBrowserTestTabCapture
quit_callback.Run();
}
- void CopyFromCompositingSurfaceCallbackForVideo(
+ void ReadbackRequestCallbackForVideo(
scoped_refptr<media::VideoFrame> video_frame,
base::Closure quit_callback,
bool result) {
@@ -490,10 +492,9 @@ class CompositingRenderWidgetHostViewBrowserTestTabCapture
// Don't clear the canvas because drawing a video frame by Src mode.
SkCanvas canvas(bitmap);
video_renderer.Copy(video_frame, &canvas);
+ ReadbackResponse response = result ? READBACK_SUCCESS : READBACK_FAILED;
- CopyFromCompositingSurfaceCallback(quit_callback,
- result,
- bitmap);
+ ReadbackRequestCallbackTest(quit_callback, bitmap, response);
}
void SetExpectedCopyFromCompositingSurfaceResult(bool result,
@@ -596,12 +597,10 @@ class CompositingRenderWidgetHostViewBrowserTestTabCapture
output_size,
base::TimeDelta());
- base::Callback<void(bool success)> callback =
- base::Bind(&CompositingRenderWidgetHostViewBrowserTestTabCapture::
- CopyFromCompositingSurfaceCallbackForVideo,
- base::Unretained(this),
- video_frame,
- run_loop.QuitClosure());
+ base::Callback<void(bool success)> callback = base::Bind(
+ &CompositingRenderWidgetHostViewBrowserTestTabCapture::
+ ReadbackRequestCallbackForVideo,
+ base::Unretained(this), video_frame, run_loop.QuitClosure());
rwhvp->CopyFromCompositingSurfaceToVideoFrame(copy_rect,
video_frame,
callback);
@@ -617,11 +616,10 @@ class CompositingRenderWidgetHostViewBrowserTestTabCapture
}
}
- base::Callback<void(bool, const SkBitmap&)> callback =
+ ReadbackRequestCallback callback =
base::Bind(&CompositingRenderWidgetHostViewBrowserTestTabCapture::
- CopyFromCompositingSurfaceCallback,
- base::Unretained(this),
- run_loop.QuitClosure());
+ ReadbackRequestCallbackTest,
+ base::Unretained(this), run_loop.QuitClosure());
rwhvp->CopyFromCompositingSurface(copy_rect,
output_size,
callback,

Powered by Google App Engine
This is Rietveld 408576698