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, |