Chromium Code Reviews| Index: media/video/capture/screen/screen_capturer_helper_unittest.cc | 
| diff --git a/media/video/capture/screen/screen_capturer_helper_unittest.cc b/media/video/capture/screen/screen_capturer_helper_unittest.cc | 
| index dc222316c8dc04382c26f8a01b3318fc2ea91fbd..a6631b7c6d6d567b5016a337799ff5147063cff7 100644 | 
| --- a/media/video/capture/screen/screen_capturer_helper_unittest.cc | 
| +++ b/media/video/capture/screen/screen_capturer_helper_unittest.cc | 
| @@ -7,6 +7,10 @@ | 
| #include "base/memory/scoped_ptr.h" | 
| #include "testing/gtest/include/gtest/gtest.h" | 
| +using webrtc::DesktopRect; | 
| +using webrtc::DesktopRegion; | 
| +using webrtc::DesktopSize; | 
| + | 
| namespace media { | 
| class ScreenCapturerHelperTest : public testing::Test { | 
| @@ -14,7 +18,7 @@ class ScreenCapturerHelperTest : public testing::Test { | 
| ScreenCapturerHelper capturer_helper_; | 
| }; | 
| -bool Equals(const SkRegion& region1, const SkRegion& region2) { | 
| +bool SkRegionEquals(const SkRegion& region1, const SkRegion& region2) { | 
| SkRegion::Iterator iter1(region1); | 
| SkRegion::Iterator iter2(region2); | 
| while (!iter1.done()) { | 
| @@ -35,103 +39,119 @@ bool Equals(const SkRegion& region1, const SkRegion& region2) { | 
| return true; | 
| } | 
| +bool Equals(const DesktopRegion& region1, const DesktopRegion& region2) { | 
| 
 
alexeypa (please no reviews)
2013/05/08 22:24:59
nit: DesktopRegionEquals? 
I guess it is better t
 
Sergey Ulanov
2013/05/09 18:49:02
Done.
 
 | 
| + DesktopRegion::Iterator iter1(region1); | 
| + DesktopRegion::Iterator iter2(region2); | 
| + while (!iter1.IsAtEnd()) { | 
| 
 
alexeypa (please no reviews)
2013/05/08 22:24:59
nit: It is easier to follow the logic if the loop
 
Sergey Ulanov
2013/05/09 18:49:02
Done.
 
 | 
| + DesktopRect rect1 = iter1.rect(); | 
| + iter1.Advance(); | 
| + if (iter2.IsAtEnd()) { | 
| + return false; | 
| + } | 
| + DesktopRect rect2 = iter2.rect(); | 
| + iter2.Advance(); | 
| + if (!rect1.equals(rect2)) { | 
| + return false; | 
| + } | 
| + } | 
| + if (!iter2.IsAtEnd()) { | 
| + return false; | 
| + } | 
| + return true; | 
| +} | 
| + | 
| +DesktopRegion RectToRegion(const DesktopRect& rect) { | 
| + webrtc::DesktopRegion result; | 
| + result.SetRect(rect); | 
| + return result; | 
| +} | 
| + | 
| TEST_F(ScreenCapturerHelperTest, ClearInvalidRegion) { | 
| - SkRegion region; | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(1, 2, 3, 4))); | 
| + DesktopRegion region; | 
| + region.SetRect(DesktopRect::MakeXYWH(1, 2, 3, 4)); | 
| + capturer_helper_.InvalidateRegion(region); | 
| capturer_helper_.ClearInvalidRegion(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(region.isEmpty()); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(region.is_empty()); | 
| } | 
| TEST_F(ScreenCapturerHelperTest, InvalidateRegion) { | 
| - SkRegion region; | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeEmpty()), region)); | 
| - | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(1, 2, 3, 4))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(1, 2, 3, 4)), region)); | 
| - | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(1, 2, 3, 4))); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(4, 2, 3, 4))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(1, 2, 6, 4)), region)); | 
| + DesktopRegion region; | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(region.is_empty()); | 
| + | 
| + region.SetRect(DesktopRect::MakeXYWH(1, 2, 3, 4)); | 
| + capturer_helper_.InvalidateRegion(region); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(1, 2, 3, 4)), region)); | 
| + | 
| + capturer_helper_.InvalidateRegion( | 
| + RectToRegion(DesktopRect::MakeXYWH(1, 2, 3, 4))); | 
| + capturer_helper_.InvalidateRegion( | 
| + RectToRegion(DesktopRect::MakeXYWH(4, 2, 3, 4))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(1, 2, 6, 4)), region)); | 
| } | 
| TEST_F(ScreenCapturerHelperTest, InvalidateScreen) { | 
| - SkRegion region; | 
| - capturer_helper_.InvalidateScreen(SkISize::Make(12, 34)); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeWH(12, 34)), region)); | 
| -} | 
| - | 
| -TEST_F(ScreenCapturerHelperTest, InvalidateFullScreen) { | 
| - SkRegion region; | 
| - capturer_helper_.set_size_most_recent(SkISize::Make(12, 34)); | 
| - capturer_helper_.InvalidateFullScreen(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeWH(12, 34)), region)); | 
| + DesktopRegion region; | 
| + capturer_helper_.InvalidateScreen(DesktopSize(12, 34)); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeWH(12, 34)), region)); | 
| } | 
| TEST_F(ScreenCapturerHelperTest, SizeMostRecent) { | 
| - ASSERT_EQ(SkISize::Make(0, 0), capturer_helper_.size_most_recent()); | 
| - capturer_helper_.set_size_most_recent(SkISize::Make(12, 34)); | 
| - ASSERT_EQ(SkISize::Make(12, 34), capturer_helper_.size_most_recent()); | 
| + ASSERT_TRUE(capturer_helper_.size_most_recent().is_empty()); | 
| + capturer_helper_.set_size_most_recent(DesktopSize(12, 34)); | 
| + ASSERT_TRUE( | 
| + DesktopSize(12, 34).equals(capturer_helper_.size_most_recent())); | 
| } | 
| TEST_F(ScreenCapturerHelperTest, SetLogGridSize) { | 
| - capturer_helper_.set_size_most_recent(SkISize::Make(10, 10)); | 
| + capturer_helper_.set_size_most_recent(DesktopSize(10, 10)); | 
| - SkRegion region; | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeEmpty()), region)); | 
| + DesktopRegion region; | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect()), region)); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| + capturer_helper_.InvalidateRegion(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| capturer_helper_.SetLogGridSize(-1); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| + capturer_helper_.InvalidateRegion(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| capturer_helper_.SetLogGridSize(0); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| + capturer_helper_.InvalidateRegion(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| capturer_helper_.SetLogGridSize(1); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(6, 6, 2, 2)), region)); | 
| + capturer_helper_.InvalidateRegion(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(6, 6, 2, 2)), region)); | 
| capturer_helper_.SetLogGridSize(2); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(4, 4, 4, 4)), region)); | 
| + capturer_helper_.InvalidateRegion(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(4, 4, 4, 4)), region)); | 
| capturer_helper_.SetLogGridSize(0); | 
| - capturer_helper_.InvalidateRegion(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1))); | 
| - region.setEmpty(); | 
| - capturer_helper_.SwapInvalidRegion(®ion); | 
| - ASSERT_TRUE(Equals(SkRegion(SkIRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| + capturer_helper_.InvalidateRegion(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1))); | 
| + capturer_helper_.TakeInvalidRegion(®ion); | 
| + ASSERT_TRUE(Equals(RectToRegion(DesktopRect::MakeXYWH(7, 7, 1, 1)), region)); | 
| } | 
| void TestExpandRegionToGrid(const SkRegion& region, int log_grid_size, | 
| const SkRegion& expandedRegionExpected) { | 
| scoped_ptr<SkRegion> expandedRegion1( | 
| ScreenCapturerHelper::ExpandToGrid(region, log_grid_size)); | 
| - ASSERT_TRUE(Equals(expandedRegionExpected, *expandedRegion1)); | 
| + ASSERT_TRUE(SkRegionEquals(expandedRegionExpected, *expandedRegion1)); | 
| scoped_ptr<SkRegion> expandedRegion2( | 
| ScreenCapturerHelper::ExpandToGrid(*expandedRegion1, log_grid_size)); | 
| - ASSERT_TRUE(Equals(*expandedRegion1, *expandedRegion2)); | 
| + ASSERT_TRUE(SkRegionEquals(*expandedRegion1, *expandedRegion2)); | 
| } | 
| void TestExpandRectToGrid(int l, int t, int r, int b, int log_grid_size, |