Index: ash/display/display_manager_unittest.cc |
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc |
index 12ed8d20b9c1f6c05e3b61ee22af3453d048ef02..e7378b63e59a8c064efdeef5df9eb0294a5e4930 100644 |
--- a/ash/display/display_manager_unittest.cc |
+++ b/ash/display/display_manager_unittest.cc |
@@ -234,6 +234,15 @@ TEST_F(DisplayManagerTest, MAYBE_OverscanInsetsTest) { |
EXPECT_EQ("12,514 378x376", |
display_manager()->GetDisplayAt(1)->bounds_in_pixel().ToString()); |
+ // Make sure that SetOverscanInsets() is idempotent. |
+ display_manager()->SetOverscanInsets(display1.id(), gfx::Insets()); |
+ display_manager()->SetOverscanInsets( |
+ display2.id(), gfx::Insets(13, 12, 11, 10)); |
+ EXPECT_EQ("0,0 500x500", |
+ display_manager()->GetDisplayAt(0)->bounds_in_pixel().ToString()); |
+ EXPECT_EQ("12,514 378x376", |
+ display_manager()->GetDisplayAt(1)->bounds_in_pixel().ToString()); |
+ |
display_manager()->SetOverscanInsets( |
display2.id(), gfx::Insets(10, 11, 12, 13)); |
EXPECT_EQ("0,0 500x500", |
@@ -272,6 +281,14 @@ TEST_F(DisplayManagerTest, MAYBE_OverscanInsetsTest) { |
EXPECT_EQ("10,509 376x380", |
display_manager()->GetDisplayAt(1)->bounds_in_pixel().ToString()); |
EXPECT_EQ("188x190", display_manager()->GetDisplayAt(1)->size().ToString()); |
+ |
+ // Make sure switching primary display applies the overscan offset only once. |
+ ash::Shell::GetInstance()->display_controller()->SetPrimaryDisplay( |
+ ScreenAsh::GetSecondaryDisplay()); |
+ EXPECT_EQ("0,0 500x500", |
+ ScreenAsh::GetSecondaryDisplay().bounds_in_pixel().ToString()); |
+ EXPECT_EQ("10,509 376x380", gfx::Screen::GetNativeScreen()-> |
+ GetPrimaryDisplay().bounds_in_pixel().ToString()); |
} |
TEST_F(DisplayManagerTest, MAYBE_ZeroOverscanInsets) { |