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

Unified Diff: ash/display/display_manager_unittest.cc

Issue 15730006: Use the source display's pixel size as a mirror window's size. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comments 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
« no previous file with comments | « ash/display/display_manager.cc ('k') | ash/display/mirror_window_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/display/display_manager_unittest.cc
diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc
index 354a73d22c9dd0f5d56bbef013397c9477b3380e..ae04be0945bdd3a1b1f461f3307fb8bd531f1cb2 100644
--- a/ash/display/display_manager_unittest.cc
+++ b/ash/display/display_manager_unittest.cc
@@ -86,6 +86,12 @@ class DisplayManagerTest : public test::AshTestBase,
return GetDisplayInfo(display_manager()->FindDisplayForId(id));
}
+ const gfx::Display GetMirroredDisplay() {
+ test::MirrorWindowTestApi test_api;
+ return Shell::GetInstance()->display_manager()->
+ FindDisplayForRootWindow(test_api.GetRootWindow());
+ }
+
// aura::DisplayObserver overrides:
virtual void OnDisplayBoundsChanged(const gfx::Display& display) OVERRIDE {
changed_.push_back(display);
@@ -391,7 +397,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ(default_bounds,
display_manager()->GetDisplayAt(0)->bounds().ToString());
EXPECT_EQ(1U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
// External connected while primary was disconnected.
display_info_list.push_back(external_display_info);
@@ -402,7 +408,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ("1,1 100x100",
FindDisplayInfoForId(external_id).bounds_in_pixel().ToString());
EXPECT_EQ(1U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
EXPECT_EQ(external_id, Shell::GetScreen()->GetPrimaryDisplay().id());
// Primary connected, with different bounds.
@@ -417,7 +423,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ("1,1 100x100",
FindDisplayInfoForId(10).bounds_in_pixel().ToString());
EXPECT_EQ(2U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
EXPECT_EQ(StringPrintf("x-%d", internal_display_id),
display_manager()->GetDisplayNameForId(internal_display_id));
@@ -430,7 +436,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ("1,1 100x100",
FindDisplayInfoForId(10).bounds_in_pixel().ToString());
EXPECT_EQ(2U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
EXPECT_EQ(StringPrintf("x-%d", internal_display_id),
display_manager()->GetDisplayNameForId(internal_display_id));
@@ -441,21 +447,21 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ("0,0 500x500",
FindDisplayForId(internal_display_id).bounds().ToString());
EXPECT_EQ(1U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
// External display was changed during suspend.
display_info_list.push_back(external_display_info);
display_manager()->OnNativeDisplaysChanged(display_info_list);
EXPECT_EQ(2U, display_manager()->GetNumDisplays());
EXPECT_EQ(2U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
// suspend...
display_info_list.clear();
display_manager()->OnNativeDisplaysChanged(display_info_list);
EXPECT_EQ(2U, display_manager()->GetNumDisplays());
EXPECT_EQ(2U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
// and resume with different external display.
display_info_list.push_back(internal_display_info);
@@ -463,7 +469,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
display_manager()->OnNativeDisplaysChanged(display_info_list);
EXPECT_EQ(2U, display_manager()->GetNumDisplays());
EXPECT_EQ(2U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
EXPECT_FALSE(display_manager()->IsMirrored());
// mirrored...
@@ -475,7 +481,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ("0,0 500x500",
FindDisplayForId(internal_display_id).bounds().ToString());
EXPECT_EQ(2U, display_manager()->num_connected_displays());
- EXPECT_EQ(11U, display_manager()->mirrored_display_id());
+ EXPECT_EQ(11U, display_manager()->mirrored_display().id());
EXPECT_TRUE(display_manager()->IsMirrored());
// Test display name.
@@ -509,7 +515,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
EXPECT_EQ("1,1 100x100",
FindDisplayInfoForId(external_id).bounds_in_pixel().ToString());
EXPECT_EQ(1U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
// Switched to another display
display_info_list.clear();
@@ -520,7 +526,7 @@ TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
"0,0 500x500",
FindDisplayInfoForId(internal_display_id).bounds_in_pixel().ToString());
EXPECT_EQ(1U, display_manager()->num_connected_displays());
- EXPECT_EQ(invalid_id, display_manager()->mirrored_display_id());
+ EXPECT_FALSE(display_manager()->mirrored_display().is_valid());
}
#if defined(OS_WIN)
@@ -877,12 +883,38 @@ TEST_F(DisplayManagerTest, MAYBE_SoftwareMirroring) {
EXPECT_EQ("0,0 300x400",
Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString());
EXPECT_EQ("400x500", test_api.GetRootWindow()->GetHostSize().ToString());
+ EXPECT_EQ("300x400", test_api.GetRootWindow()->bounds().size().ToString());
EXPECT_TRUE(display_manager->IsMirrored());
display_manager->SetMirrorMode(false);
EXPECT_EQ(NULL, test_api.GetRootWindow());
EXPECT_EQ(2U, display_manager->GetNumDisplays());
EXPECT_FALSE(display_manager->IsMirrored());
+
+ // Make sure the mirror window has the pixel size of the
+ // source display.
+ display_manager->SetMirrorMode(true);
+
+ UpdateDisplay("300x400@0.5,400x500");
+ EXPECT_EQ("300x400", test_api.GetRootWindow()->bounds().size().ToString());
+ EXPECT_EQ("400x500", GetMirroredDisplay().size().ToString());
+
+ UpdateDisplay("310x410*2,400x500");
+ EXPECT_EQ("310x410", test_api.GetRootWindow()->bounds().size().ToString());
+ EXPECT_EQ("400x500", GetMirroredDisplay().size().ToString());
+
+ UpdateDisplay("320x420/r,400x500");
+ EXPECT_EQ("320x420", test_api.GetRootWindow()->bounds().size().ToString());
+ EXPECT_EQ("400x500", GetMirroredDisplay().size().ToString());
+
+ UpdateDisplay("330x440/r,400x500");
+ EXPECT_EQ("330x440", test_api.GetRootWindow()->bounds().size().ToString());
+ EXPECT_EQ("400x500", GetMirroredDisplay().size().ToString());
+
+ // Overscan insets are ignored.
+ UpdateDisplay("400x600/o,600x800/o");
+ EXPECT_EQ("400x600", test_api.GetRootWindow()->bounds().size().ToString());
+ EXPECT_EQ("600x800", GetMirroredDisplay().size().ToString());
}
} // namespace internal
« no previous file with comments | « ash/display/display_manager.cc ('k') | ash/display/mirror_window_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698