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

Unified Diff: ash/display/display_manager_unittest.cc

Issue 2426103004: Specify a default display UI scale to reset the zoom to (Closed)
Patch Set: Initial test [still failing] Created 4 years, 2 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/root_window_transformers_unittest.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 e915661ea02c4703bd1ff693fa5b8f5c99467cbe..758f2db39300af7d47f2add8a01d3afb88975896 100644
--- a/ash/display/display_manager_unittest.cc
+++ b/ash/display/display_manager_unittest.cc
@@ -1136,78 +1136,108 @@ TEST_P(DisplayManagerTest, UIScale) {
UpdateDisplay("1280x800");
int64_t display_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
- display_manager()->SetDisplayUIScale(display_id, 1.125f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.125f);
EXPECT_EQ(1.0, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.8f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.8f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.75f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.75f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.625f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.625f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
test::ScopedSetInternalDisplayId set_internal(display_manager(), display_id);
- display_manager()->SetDisplayUIScale(display_id, 1.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.5f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.25f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.25f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.125f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.125f);
EXPECT_EQ(1.125f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.8f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.8f);
EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.75f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.75f);
EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.625f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.625f);
EXPECT_EQ(0.625f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.6f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.6f);
EXPECT_EQ(0.625f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.5f);
EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale());
UpdateDisplay("1366x768");
- display_manager()->SetDisplayUIScale(display_id, 1.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.5f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.25f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.25f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.125f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.125f);
EXPECT_EQ(1.125f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.8f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.8f);
EXPECT_EQ(1.125f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.75f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.75f);
EXPECT_EQ(0.75f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.6f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.6f);
EXPECT_EQ(0.6f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.625f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.625f);
EXPECT_EQ(0.6f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.5f);
EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale());
UpdateDisplay("1280x850*2");
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.5f);
EXPECT_EQ(1.5f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.25f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.25f);
EXPECT_EQ(1.25f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.125f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.125f);
EXPECT_EQ(1.125f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 1.0f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.0f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
display::Display display = display::Screen::GetScreen()->GetPrimaryDisplay();
EXPECT_EQ(2.0f, display.device_scale_factor());
EXPECT_EQ("640x425", display.bounds().size().ToString());
- display_manager()->SetDisplayUIScale(display_id, 0.8f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.8f);
EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.75f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.75f);
EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.625f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.625f);
EXPECT_EQ(0.625f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.6f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.6f);
EXPECT_EQ(0.625f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 0.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.5f);
EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale());
- display_manager()->SetDisplayUIScale(display_id, 2.0f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 2.0f);
EXPECT_EQ(2.0f, GetDisplayInfoAt(0).configured_ui_scale());
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale());
display = display::Screen::GetScreen()->GetPrimaryDisplay();
@@ -1217,7 +1247,8 @@ TEST_P(DisplayManagerTest, UIScale) {
// 1.25 ui scaling on 1.25 DSF device should use 1.0 DSF
// on screen.
UpdateDisplay("1280x850*1.25");
- display_manager()->SetDisplayUIScale(display_id, 1.25f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.25f);
EXPECT_EQ(1.25f, GetDisplayInfoAt(0).configured_ui_scale());
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale());
display = display::Screen::GetScreen()->GetPrimaryDisplay();
@@ -1249,15 +1280,18 @@ TEST_P(DisplayManagerTest, UIScaleWithDisplayMode) {
test::ScopedSetInternalDisplayId set_internal(display_manager(), display_id);
- display_manager()->SetDisplayUIScale(display_id, 1.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.5f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 1.25f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.25f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 1.125f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.125f);
EXPECT_EQ(1.125f, GetDisplayInfoAt(0).configured_ui_scale());
expected_mode = new display::ManagedDisplayMode(
@@ -1267,7 +1301,8 @@ TEST_P(DisplayManagerTest, UIScaleWithDisplayMode) {
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 0.8f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.8f);
EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
expected_mode = new display::ManagedDisplayMode(
@@ -1277,11 +1312,13 @@ TEST_P(DisplayManagerTest, UIScaleWithDisplayMode) {
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 0.75f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.75f);
EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 0.625f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.625f);
EXPECT_EQ(0.625f, GetDisplayInfoAt(0).configured_ui_scale());
expected_mode = new display::ManagedDisplayMode(
@@ -1291,11 +1328,13 @@ TEST_P(DisplayManagerTest, UIScaleWithDisplayMode) {
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 0.6f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.6f);
EXPECT_EQ(0.625f, GetDisplayInfoAt(0).configured_ui_scale());
EXPECT_TRUE(expected_mode->IsEquivalent(
display_manager()->GetActiveModeForDisplayId(display_id)));
- display_manager()->SetDisplayUIScale(display_id, 0.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.5f);
EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale());
expected_mode = new display::ManagedDisplayMode(
@@ -1307,6 +1346,40 @@ TEST_P(DisplayManagerTest, UIScaleWithDisplayMode) {
display_manager()->GetActiveModeForDisplayId(display_id)));
}
+TEST_P(DisplayManagerTest, ResetDisplayToDefaultMode) {
+ // Setup the display modes with UI-scale.
+ const scoped_refptr<display::ManagedDisplayMode>& base_mode(
+ new display::ManagedDisplayMode(gfx::Size(2400, 1350), 60.0f,
oshima 2016/10/25 21:13:48 you can create this on stack.
afakhry 2016/10/25 23:46:54 display::ManagedDisplayMode is base::RefCounted wi
+ false /* is_interlaced */,
+ true /* native */, 1.0f /* ui_scale */,
+ 1.25f /* device_scale_factor */));
+ display::ManagedDisplayInfo::ManagedDisplayModeList mode_list =
+ CreateInternalManagedDisplayModeList(base_mode);
+
+ const int display_id = 1000;
+ display::ManagedDisplayInfo native_display_info =
+ CreateDisplayInfo(display_id, gfx::Rect(0, 0, 2400, 1350));
+ native_display_info.SetManagedDisplayModes(mode_list);
+
+ std::vector<display::ManagedDisplayInfo> display_info_list;
+ display_info_list.push_back(native_display_info);
+ display_manager()->OnNativeDisplaysChanged(display_info_list);
+
+ scoped_refptr<display::ManagedDisplayMode> expected_mode = base_mode;
+ EXPECT_TRUE(expected_mode->IsEquivalent(
+ display_manager()->GetActiveModeForDisplayId(display_id)));
+
+ test::ScopedSetInternalDisplayId set_internal(display_manager(), display_id);
+
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.5f);
+ EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale());
+
+ display_manager()->ResetInternalDisplayZoom();
+ EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
+ EXPECT_EQ(0.8f, GetDisplayInfoAt(0).configured_ui_scale());
+}
+
// TODO(msw): Broken on Windows. http://crbug.com/584038
#if defined(OS_CHROMEOS)
TEST_P(DisplayManagerTest, Use125DSFForUIScaling) {
@@ -1317,17 +1390,20 @@ TEST_P(DisplayManagerTest, Use125DSFForUIScaling) {
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale());
- display_manager()->SetDisplayUIScale(display_id, 0.8f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.8f);
EXPECT_EQ(1.25f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale());
EXPECT_EQ("1536x864", GetDisplayForId(display_id).size().ToString());
- display_manager()->SetDisplayUIScale(display_id, 0.5f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 0.5f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
EXPECT_EQ(0.5f, GetDisplayInfoAt(0).GetEffectiveUIScale());
EXPECT_EQ("960x540", GetDisplayForId(display_id).size().ToString());
- display_manager()->SetDisplayUIScale(display_id, 1.25f);
+ test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(display_id, 1.25f);
EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
EXPECT_EQ(1.25f, GetDisplayInfoAt(0).GetEffectiveUIScale());
EXPECT_EQ("2400x1350", GetDisplayForId(display_id).size().ToString());
@@ -2154,7 +2230,8 @@ TEST_P(DisplayManagerTest, DockMode) {
EXPECT_FALSE(display_manager()->ZoomInternalDisplay(true));
EXPECT_FALSE(display_manager()->ZoomInternalDisplay(false));
- EXPECT_FALSE(display_manager()->SetDisplayUIScale(internal_id, 1.0f));
+ EXPECT_FALSE(test::DisplayManagerTestApi(display_manager())
+ .SetDisplayUIScale(internal_id, 1.0f));
}
// Make sure that bad layout information is ignored and does not crash.
@@ -2271,8 +2348,9 @@ TEST_F(DisplayManagerFontTest, TextSubpixelPositioningWithDsf200Internal) {
EXPECT_TRUE(IsTextSubpixelPositioningEnabled());
EXPECT_EQ(gfx::FontRenderParams::HINTING_NONE, GetFontHintingParams());
- helper.display_manager()->SetDisplayUIScale(
- display::Screen::GetScreen()->GetPrimaryDisplay().id(), 2.0f);
+ test::DisplayManagerTestApi(helper.display_manager())
+ .SetDisplayUIScale(display::Screen::GetScreen()->GetPrimaryDisplay().id(),
+ 2.0f);
ASSERT_DOUBLE_EQ(
1.0f,
@@ -2317,8 +2395,9 @@ TEST_F(DisplayManagerFontTest,
EXPECT_FALSE(IsTextSubpixelPositioningEnabled());
EXPECT_NE(gfx::FontRenderParams::HINTING_NONE, GetFontHintingParams());
- helper.display_manager()->SetDisplayUIScale(
- display::Screen::GetScreen()->GetPrimaryDisplay().id(), 0.8f);
+ test::DisplayManagerTestApi(helper.display_manager())
+ .SetDisplayUIScale(display::Screen::GetScreen()->GetPrimaryDisplay().id(),
+ 0.8f);
ASSERT_DOUBLE_EQ(
1.25f,
« no previous file with comments | « ash/display/display_manager.cc ('k') | ash/display/root_window_transformers_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698