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

Unified Diff: ash/display/display_manager_unittest.cc

Issue 1361763003: Ignore UI scaling when internal display isn't active (in docked mode, for example) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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/display_util.cc » ('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 9c4876f2048c12aa0519306a57d2988ead238206..ffd017d7ff7836ad9cf9daa6a00f30c01b33caf3 100644
--- a/ash/display/display_manager_unittest.cc
+++ b/ash/display/display_manager_unittest.cc
@@ -1792,6 +1792,47 @@ TEST_F(DisplayManagerTest, UnifiedWithDockWindows) {
EXPECT_EQ("0,0 250x253", docked->bounds().ToString());
}
+TEST_F(DisplayManagerTest, DockMode) {
+ if (!SupportsMultipleDisplays())
+ return;
+ const int64 internal_id = 1;
+ const int64 external_id = 2;
+
+ const DisplayInfo internal_display_info =
+ CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500));
+ const DisplayInfo external_display_info =
+ CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100));
+ std::vector<DisplayInfo> display_info_list;
+
+ // software mirroring.
+ display_info_list.push_back(internal_display_info);
+ display_info_list.push_back(external_display_info);
+ display_manager()->OnNativeDisplaysChanged(display_info_list);
+ const int64 internal_display_id =
+ test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay();
+ EXPECT_EQ(internal_id, internal_display_id);
+
+ display_info_list.clear();
+ display_info_list.push_back(external_display_info);
+ display_manager()->OnNativeDisplaysChanged(display_info_list);
+ EXPECT_EQ(1U, display_manager()->active_display_list().size());
+
+ EXPECT_TRUE(display_manager()->IsActiveDisplayId(external_id));
+ EXPECT_FALSE(display_manager()->IsActiveDisplayId(internal_id));
+
+ const DisplayInfo& info = display_manager()->GetDisplayInfo(internal_id);
+ DisplayMode mode;
+
+ EXPECT_FALSE(GetDisplayModeForNextUIScale(info, true, &mode));
+ EXPECT_FALSE(GetDisplayModeForNextUIScale(info, false, &mode));
+ EXPECT_FALSE(SetDisplayUIScale(internal_id, 1.0f));
+
+ DisplayInfo invalid_info;
+ EXPECT_FALSE(GetDisplayModeForNextUIScale(invalid_info, true, &mode));
+ EXPECT_FALSE(GetDisplayModeForNextUIScale(invalid_info, false, &mode));
+ EXPECT_FALSE(SetDisplayUIScale(gfx::Display::kInvalidDisplayID, 1.0f));
+}
+
class ScreenShutdownTest : public test::AshTestBase {
public:
ScreenShutdownTest() {
« no previous file with comments | « ash/display/display_manager.cc ('k') | ash/display/display_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698