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

Unified Diff: media/video/capture/screen/screen_capturer_unittest.cc

Issue 13983010: Use webrtc::DesktopCapturer for screen capturer implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 months 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: media/video/capture/screen/screen_capturer_unittest.cc
diff --git a/media/video/capture/screen/screen_capturer_unittest.cc b/media/video/capture/screen/screen_capturer_unittest.cc
index 4ed45d9648cc45be2b262f56a0ae42a9fac5393c..87074786f6b3392a8a0ed7edbc77d96b3315ab4b 100644
--- a/media/video/capture/screen/screen_capturer_unittest.cc
+++ b/media/video/capture/screen/screen_capturer_unittest.cc
@@ -8,10 +8,11 @@
#if defined(OS_MACOSX)
#include "base/mac/mac_util.h"
#endif // defined(OS_MACOSX)
-#include "media/video/capture/screen/screen_capture_data.h"
#include "media/video/capture/screen/screen_capturer_mock_objects.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
+#include "third_party/webrtc/modules/desktop_capture/desktop_region.h"
using ::testing::_;
using ::testing::AnyNumber;
@@ -20,65 +21,58 @@ using ::testing::Return;
namespace media {
MATCHER(DirtyRegionIsNonEmptyRect, "") {
- const SkRegion& dirty_region = arg->dirty_region();
- const SkIRect& dirty_region_bounds = dirty_region.getBounds();
- if (dirty_region_bounds.isEmpty()) {
- return false;
- }
- return dirty_region == SkRegion(dirty_region_bounds);
+ const webrtc::DesktopRegion& updated_region = arg->updated_region();
+ webrtc::DesktopRegion::Iterator it(updated_region);
+ return !it.IsAtEnd() && (it.Advance(), it.IsAtEnd());
alexeypa (please no reviews) 2013/05/08 22:24:59 The name of the matcher does not reflect what it d
Sergey Ulanov 2013/05/09 18:49:02 I think it's correct. This matcher verifies that t
}
class ScreenCapturerTest : public testing::Test {
public:
- scoped_refptr<SharedBuffer> CreateSharedBuffer(uint32 size);
protected:
scoped_ptr<ScreenCapturer> capturer_;
- MockScreenCapturerDelegate delegate_;
+ MockMouseShapeObserver mouse_observer_;
+ MockScreenCapturerCallback callback_;
};
-scoped_refptr<SharedBuffer> ScreenCapturerTest::CreateSharedBuffer(
- uint32 size) {
- return scoped_refptr<SharedBuffer>(new SharedBuffer(size));
-}
-
TEST_F(ScreenCapturerTest, StartCapturer) {
capturer_ = ScreenCapturer::Create();
- capturer_->Start(&delegate_);
+ capturer_->SetMouseShapeObserver(&mouse_observer_);
+ capturer_->Start(&callback_);
}
TEST_F(ScreenCapturerTest, Capture) {
// Assume that Start() treats the screen as invalid initially.
- EXPECT_CALL(delegate_,
+ EXPECT_CALL(callback_,
OnCaptureCompleted(DirtyRegionIsNonEmptyRect()));
- EXPECT_CALL(delegate_, OnCursorShapeChangedPtr(_))
+ EXPECT_CALL(mouse_observer_, OnCursorShapeChangedPtr(_))
.Times(AnyNumber());
- EXPECT_CALL(delegate_, CreateSharedBuffer(_))
+ EXPECT_CALL(callback_, CreateSharedMemory(_))
.Times(AnyNumber())
- .WillRepeatedly(Return(scoped_refptr<SharedBuffer>()));
+ .WillRepeatedly(Return(static_cast<webrtc::SharedMemory*>(NULL)));
capturer_ = ScreenCapturer::Create();
- capturer_->Start(&delegate_);
- capturer_->CaptureFrame();
+ capturer_->Start(&callback_);
+ capturer_->Capture(webrtc::DesktopRegion());
}
#if defined(OS_WIN)
TEST_F(ScreenCapturerTest, UseSharedBuffers) {
- EXPECT_CALL(delegate_,
+ EXPECT_CALL(callback_,
OnCaptureCompleted(DirtyRegionIsNonEmptyRect()));
- EXPECT_CALL(delegate_, OnCursorShapeChangedPtr(_))
+ EXPECT_CALL(mouse_observer_, OnCursorShapeChangedPtr(_))
.Times(AnyNumber());
- EXPECT_CALL(delegate_, CreateSharedBuffer(_))
+ EXPECT_CALL(callback_, CreateSharedBuffer(_))
.Times(AnyNumber())
.WillRepeatedly(Invoke(this, &ScreenCapturerTest::CreateSharedBuffer));
- EXPECT_CALL(delegate_, ReleaseSharedBuffer(_))
+ EXPECT_CALL(callback_, ReleaseSharedBuffer(_))
.Times(AnyNumber());
capturer_ = ScreenCapturer::Create();
- capturer_->Start(&delegate_);
+ capturer_->Start(&callback_);
capturer_->CaptureFrame();
capturer_.reset();
}

Powered by Google App Engine
This is Rietveld 408576698