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

Side by Side Diff: content/browser/media/capture/web_contents_video_capture_device_unittest.cc

Issue 593503003: Support error handling for Surface readbacks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Formatted code and fixed build issue in test. 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/media/capture/web_contents_video_capture_device.h" 5 #include "content/browser/media/capture/web_contents_video_capture_device.h"
6 6
7 #include "base/bind_helpers.h" 7 #include "base/bind_helpers.h"
8 #include "base/debug/debugger.h" 8 #include "base/debug/debugger.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/test/test_timeouts.h" 10 #include "base/test/test_timeouts.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 main_frame_routing_id, swapped_out), 239 main_frame_routing_id, swapped_out),
240 controller_(controller) { 240 controller_(controller) {
241 // Override the default view installed by TestRenderViewHost; we need 241 // Override the default view installed by TestRenderViewHost; we need
242 // our special subclass which has mocked-out tab capture support. 242 // our special subclass which has mocked-out tab capture support.
243 RenderWidgetHostView* old_view = GetView(); 243 RenderWidgetHostView* old_view = GetView();
244 SetView(new CaptureTestView(this, controller)); 244 SetView(new CaptureTestView(this, controller));
245 delete old_view; 245 delete old_view;
246 } 246 }
247 247
248 // TestRenderViewHost overrides. 248 // TestRenderViewHost overrides.
249 void CopyFromBackingStore( 249 void CopyFromBackingStore(const gfx::Rect& src_rect,
250 const gfx::Rect& src_rect, 250 const gfx::Size& accelerated_dst_size,
251 const gfx::Size& accelerated_dst_size, 251 ReadbackRequestCallback& callback,
252 const base::Callback<void(bool, const SkBitmap&)>& callback, 252 const SkColorType color_type) override {
253 const SkColorType color_type) override {
254 gfx::Size size = controller_->GetCopyResultSize(); 253 gfx::Size size = controller_->GetCopyResultSize();
255 SkColor color = controller_->GetSolidColor(); 254 SkColor color = controller_->GetSolidColor();
256 255
257 // Although it's not necessary, use a PlatformBitmap here (instead of a 256 // Although it's not necessary, use a PlatformBitmap here (instead of a
258 // regular SkBitmap) to exercise possible threading issues. 257 // regular SkBitmap) to exercise possible threading issues.
259 skia::PlatformBitmap output; 258 skia::PlatformBitmap output;
260 EXPECT_TRUE(output.Allocate(size.width(), size.height(), false)); 259 EXPECT_TRUE(output.Allocate(size.width(), size.height(), false));
261 { 260 {
262 SkAutoLockPixels locker(output.GetBitmap()); 261 SkAutoLockPixels locker(output.GetBitmap());
263 output.GetBitmap().eraseColor(color); 262 output.GetBitmap().eraseColor(color);
264 } 263 }
265 callback.Run(true, output.GetBitmap()); 264 callback.Run(output.GetBitmap(), content::READBACK_SUCCESS);
266 controller_->SignalCopy(); 265 controller_->SignalCopy();
267 } 266 }
268 267
269 private: 268 private:
270 CaptureTestSourceController* controller_; 269 CaptureTestSourceController* controller_;
271 270
272 DISALLOW_IMPLICIT_CONSTRUCTORS(CaptureTestRenderViewHost); 271 DISALLOW_IMPLICIT_CONSTRUCTORS(CaptureTestRenderViewHost);
273 }; 272 };
274 273
275 #if defined(COMPILER_MSVC) 274 #if defined(COMPILER_MSVC)
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 source()->SetSolidColor(SK_ColorGREEN); 842 source()->SetSolidColor(SK_ColorGREEN);
844 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorGREEN)); 843 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorGREEN));
845 source()->SetSolidColor(SK_ColorRED); 844 source()->SetSolidColor(SK_ColorRED);
846 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorRED)); 845 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorRED));
847 846
848 device()->StopAndDeAllocate(); 847 device()->StopAndDeAllocate();
849 } 848 }
850 849
851 } // namespace 850 } // namespace
852 } // namespace content 851 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698