| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/display/display_change_observer_chromeos.h" | 5 #include "ash/display/display_change_observer_chromeos.h" |
| 6 | 6 |
| 7 #include "ash/common/display/display_info.h" | |
| 8 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "ui/display/chromeos/display_configurator.h" | 9 #include "ui/display/chromeos/display_configurator.h" |
| 11 #include "ui/display/chromeos/test/test_display_snapshot.h" | 10 #include "ui/display/chromeos/test/test_display_snapshot.h" |
| 11 #include "ui/display/manager/display_info.h" |
| 12 #include "ui/display/types/display_mode.h" | 12 #include "ui/display/types/display_mode.h" |
| 13 | 13 |
| 14 using ui::DisplayConfigurator; | 14 using ui::DisplayConfigurator; |
| 15 | 15 |
| 16 typedef testing::Test DisplayChangeObserverTest; | 16 typedef testing::Test DisplayChangeObserverTest; |
| 17 | 17 |
| 18 namespace ash { | 18 namespace ash { |
| 19 | 19 |
| 20 TEST_F(DisplayChangeObserverTest, GetExternalManagedDisplayModeList) { | 20 TEST_F(DisplayChangeObserverTest, GetExternalManagedDisplayModeList) { |
| 21 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 21 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 50 modes.push_back( | 50 modes.push_back( |
| 51 base::MakeUnique<ui::DisplayMode>(gfx::Size(1024, 600), false, 60)); | 51 base::MakeUnique<ui::DisplayMode>(gfx::Size(1024, 600), false, 60)); |
| 52 | 52 |
| 53 // Just one interlaced mode. | 53 // Just one interlaced mode. |
| 54 modes.push_back( | 54 modes.push_back( |
| 55 base::MakeUnique<ui::DisplayMode>(gfx::Size(640, 480), true, 60)); | 55 base::MakeUnique<ui::DisplayMode>(gfx::Size(640, 480), true, 60)); |
| 56 | 56 |
| 57 ui::TestDisplaySnapshot display_snapshot; | 57 ui::TestDisplaySnapshot display_snapshot; |
| 58 display_snapshot.set_modes(std::move(modes)); | 58 display_snapshot.set_modes(std::move(modes)); |
| 59 | 59 |
| 60 DisplayInfo::ManagedDisplayModeList display_modes = | 60 ui::DisplayInfo::ManagedDisplayModeList display_modes = |
| 61 DisplayChangeObserver::GetExternalManagedDisplayModeList( | 61 DisplayChangeObserver::GetExternalManagedDisplayModeList( |
| 62 display_snapshot); | 62 display_snapshot); |
| 63 ASSERT_EQ(6u, display_modes.size()); | 63 ASSERT_EQ(6u, display_modes.size()); |
| 64 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); | 64 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); |
| 65 EXPECT_TRUE(display_modes[0]->is_interlaced()); | 65 EXPECT_TRUE(display_modes[0]->is_interlaced()); |
| 66 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); | 66 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 67 | 67 |
| 68 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); | 68 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); |
| 69 EXPECT_FALSE(display_modes[1]->is_interlaced()); | 69 EXPECT_FALSE(display_modes[1]->is_interlaced()); |
| 70 EXPECT_EQ(display_modes[1]->refresh_rate(), 70); | 70 EXPECT_EQ(display_modes[1]->refresh_rate(), 70); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 base::MakeUnique<ui::DisplayMode>(gfx::Size(800, 600), false, 60)); | 105 base::MakeUnique<ui::DisplayMode>(gfx::Size(800, 600), false, 60)); |
| 106 modes.push_back( | 106 modes.push_back( |
| 107 base::MakeUnique<ui::DisplayMode>(gfx::Size(600, 600), false, 56.2)); | 107 base::MakeUnique<ui::DisplayMode>(gfx::Size(600, 600), false, 56.2)); |
| 108 modes.push_back( | 108 modes.push_back( |
| 109 base::MakeUnique<ui::DisplayMode>(gfx::Size(640, 480), false, 59.9)); | 109 base::MakeUnique<ui::DisplayMode>(gfx::Size(640, 480), false, 59.9)); |
| 110 | 110 |
| 111 ui::TestDisplaySnapshot display_snapshot; | 111 ui::TestDisplaySnapshot display_snapshot; |
| 112 display_snapshot.set_native_mode(modes[0].get()); | 112 display_snapshot.set_native_mode(modes[0].get()); |
| 113 display_snapshot.set_modes(std::move(modes)); | 113 display_snapshot.set_modes(std::move(modes)); |
| 114 | 114 |
| 115 DisplayInfo info(1, "", false); | 115 ui::DisplayInfo info(1, "", false); |
| 116 info.SetBounds(gfx::Rect(0, 0, 1366, 768)); | 116 info.SetBounds(gfx::Rect(0, 0, 1366, 768)); |
| 117 | 117 |
| 118 DisplayInfo::ManagedDisplayModeList display_modes = | 118 ui::DisplayInfo::ManagedDisplayModeList display_modes = |
| 119 DisplayChangeObserver::GetInternalManagedDisplayModeList( | 119 DisplayChangeObserver::GetInternalManagedDisplayModeList( |
| 120 info, display_snapshot); | 120 info, display_snapshot); |
| 121 ASSERT_EQ(5u, display_modes.size()); | 121 ASSERT_EQ(5u, display_modes.size()); |
| 122 EXPECT_EQ("1366x768", display_modes[0]->size().ToString()); | 122 EXPECT_EQ("1366x768", display_modes[0]->size().ToString()); |
| 123 EXPECT_FALSE(display_modes[0]->native()); | 123 EXPECT_FALSE(display_modes[0]->native()); |
| 124 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); | 124 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); |
| 125 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); | 125 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 126 | 126 |
| 127 EXPECT_EQ("1366x768", display_modes[1]->size().ToString()); | 127 EXPECT_EQ("1366x768", display_modes[1]->size().ToString()); |
| 128 EXPECT_FALSE(display_modes[1]->native()); | 128 EXPECT_FALSE(display_modes[1]->native()); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 152 base::MakeUnique<ui::DisplayMode>(gfx::Size(2560, 1700), false, 60)); | 152 base::MakeUnique<ui::DisplayMode>(gfx::Size(2560, 1700), false, 60)); |
| 153 modes.push_back( | 153 modes.push_back( |
| 154 base::MakeUnique<ui::DisplayMode>(gfx::Size(2048, 1536), false, 60)); | 154 base::MakeUnique<ui::DisplayMode>(gfx::Size(2048, 1536), false, 60)); |
| 155 modes.push_back( | 155 modes.push_back( |
| 156 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1440), false, 60)); | 156 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1440), false, 60)); |
| 157 | 157 |
| 158 ui::TestDisplaySnapshot display_snapshot; | 158 ui::TestDisplaySnapshot display_snapshot; |
| 159 display_snapshot.set_native_mode(modes[0].get()); | 159 display_snapshot.set_native_mode(modes[0].get()); |
| 160 display_snapshot.set_modes(std::move(modes)); | 160 display_snapshot.set_modes(std::move(modes)); |
| 161 | 161 |
| 162 DisplayInfo info(1, "", false); | 162 ui::DisplayInfo info(1, "", false); |
| 163 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); | 163 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); |
| 164 info.set_device_scale_factor(2.0f); | 164 info.set_device_scale_factor(2.0f); |
| 165 | 165 |
| 166 DisplayInfo::ManagedDisplayModeList display_modes = | 166 ui::DisplayInfo::ManagedDisplayModeList display_modes = |
| 167 DisplayChangeObserver::GetInternalManagedDisplayModeList( | 167 DisplayChangeObserver::GetInternalManagedDisplayModeList( |
| 168 info, display_snapshot); | 168 info, display_snapshot); |
| 169 ASSERT_EQ(8u, display_modes.size()); | 169 ASSERT_EQ(8u, display_modes.size()); |
| 170 EXPECT_EQ("2560x1700", display_modes[0]->size().ToString()); | 170 EXPECT_EQ("2560x1700", display_modes[0]->size().ToString()); |
| 171 EXPECT_FALSE(display_modes[0]->native()); | 171 EXPECT_FALSE(display_modes[0]->native()); |
| 172 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); | 172 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); |
| 173 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); | 173 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 174 | 174 |
| 175 EXPECT_EQ("2560x1700", display_modes[1]->size().ToString()); | 175 EXPECT_EQ("2560x1700", display_modes[1]->size().ToString()); |
| 176 EXPECT_FALSE(display_modes[1]->native()); | 176 EXPECT_FALSE(display_modes[1]->native()); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 TEST_F(DisplayChangeObserverTest, GetInternalManagedDisplayModeList1_25) { | 211 TEST_F(DisplayChangeObserverTest, GetInternalManagedDisplayModeList1_25) { |
| 212 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 212 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| 213 // Data picked from peppy. | 213 // Data picked from peppy. |
| 214 modes.push_back( | 214 modes.push_back( |
| 215 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1080), false, 60)); | 215 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1080), false, 60)); |
| 216 | 216 |
| 217 ui::TestDisplaySnapshot display_snapshot; | 217 ui::TestDisplaySnapshot display_snapshot; |
| 218 display_snapshot.set_native_mode(modes[0].get()); | 218 display_snapshot.set_native_mode(modes[0].get()); |
| 219 display_snapshot.set_modes(std::move(modes)); | 219 display_snapshot.set_modes(std::move(modes)); |
| 220 | 220 |
| 221 DisplayInfo info(1, "", false); | 221 ui::DisplayInfo info(1, "", false); |
| 222 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); | 222 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); |
| 223 info.set_device_scale_factor(1.25); | 223 info.set_device_scale_factor(1.25); |
| 224 | 224 |
| 225 DisplayInfo::ManagedDisplayModeList display_modes = | 225 ui::DisplayInfo::ManagedDisplayModeList display_modes = |
| 226 DisplayChangeObserver::GetInternalManagedDisplayModeList( | 226 DisplayChangeObserver::GetInternalManagedDisplayModeList( |
| 227 info, display_snapshot); | 227 info, display_snapshot); |
| 228 ASSERT_EQ(5u, display_modes.size()); | 228 ASSERT_EQ(5u, display_modes.size()); |
| 229 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); | 229 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); |
| 230 EXPECT_FALSE(display_modes[0]->native()); | 230 EXPECT_FALSE(display_modes[0]->native()); |
| 231 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); | 231 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); |
| 232 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); | 232 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 233 | 233 |
| 234 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); | 234 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); |
| 235 EXPECT_FALSE(display_modes[1]->native()); | 235 EXPECT_FALSE(display_modes[1]->native()); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 base::MakeUnique<ui::DisplayMode>(gfx::Size(1024, 600), false, 60)); | 288 base::MakeUnique<ui::DisplayMode>(gfx::Size(1024, 600), false, 60)); |
| 289 | 289 |
| 290 // Just one interlaced mode. | 290 // Just one interlaced mode. |
| 291 modes.push_back( | 291 modes.push_back( |
| 292 base::MakeUnique<ui::DisplayMode>(gfx::Size(640, 480), true, 60)); | 292 base::MakeUnique<ui::DisplayMode>(gfx::Size(640, 480), true, 60)); |
| 293 | 293 |
| 294 ui::TestDisplaySnapshot display_snapshot; | 294 ui::TestDisplaySnapshot display_snapshot; |
| 295 display_snapshot.set_native_mode(modes[0].get()); | 295 display_snapshot.set_native_mode(modes[0].get()); |
| 296 display_snapshot.set_modes(std::move(modes)); | 296 display_snapshot.set_modes(std::move(modes)); |
| 297 | 297 |
| 298 DisplayInfo::ManagedDisplayModeList display_modes = | 298 ui::DisplayInfo::ManagedDisplayModeList display_modes = |
| 299 DisplayChangeObserver::GetExternalManagedDisplayModeList( | 299 DisplayChangeObserver::GetExternalManagedDisplayModeList( |
| 300 display_snapshot); | 300 display_snapshot); |
| 301 DisplayInfo info(1, "", false); | 301 ui::DisplayInfo info(1, "", false); |
| 302 info.SetManagedDisplayModes(display_modes); // Sort as external display. | 302 info.SetManagedDisplayModes(display_modes); // Sort as external display. |
| 303 display_modes = info.display_modes(); | 303 display_modes = info.display_modes(); |
| 304 | 304 |
| 305 ASSERT_EQ(9u, display_modes.size()); | 305 ASSERT_EQ(9u, display_modes.size()); |
| 306 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); | 306 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); |
| 307 EXPECT_TRUE(display_modes[0]->is_interlaced()); | 307 EXPECT_TRUE(display_modes[0]->is_interlaced()); |
| 308 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); | 308 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 309 | 309 |
| 310 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); | 310 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); |
| 311 EXPECT_FALSE(display_modes[1]->is_interlaced()); | 311 EXPECT_FALSE(display_modes[1]->is_interlaced()); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 399 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| 400 modes.push_back( | 400 modes.push_back( |
| 401 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1080), true, 60)); | 401 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1080), true, 60)); |
| 402 modes.push_back( | 402 modes.push_back( |
| 403 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1080), false, 60)); | 403 base::MakeUnique<ui::DisplayMode>(gfx::Size(1920, 1080), false, 60)); |
| 404 | 404 |
| 405 ui::TestDisplaySnapshot display_snapshot; | 405 ui::TestDisplaySnapshot display_snapshot; |
| 406 display_snapshot.set_native_mode(modes[0].get()); | 406 display_snapshot.set_native_mode(modes[0].get()); |
| 407 display_snapshot.set_modes(std::move(modes)); | 407 display_snapshot.set_modes(std::move(modes)); |
| 408 | 408 |
| 409 DisplayInfo::ManagedDisplayModeList display_modes = | 409 ui::DisplayInfo::ManagedDisplayModeList display_modes = |
| 410 DisplayChangeObserver::GetExternalManagedDisplayModeList( | 410 DisplayChangeObserver::GetExternalManagedDisplayModeList( |
| 411 display_snapshot); | 411 display_snapshot); |
| 412 ASSERT_EQ(2u, display_modes.size()); | 412 ASSERT_EQ(2u, display_modes.size()); |
| 413 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); | 413 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); |
| 414 EXPECT_FALSE(display_modes[0]->is_interlaced()); | 414 EXPECT_FALSE(display_modes[0]->is_interlaced()); |
| 415 EXPECT_FALSE(display_modes[0]->native()); | 415 EXPECT_FALSE(display_modes[0]->native()); |
| 416 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); | 416 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 417 | 417 |
| 418 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); | 418 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); |
| 419 EXPECT_TRUE(display_modes[1]->is_interlaced()); | 419 EXPECT_TRUE(display_modes[1]->is_interlaced()); |
| 420 EXPECT_TRUE(display_modes[1]->native()); | 420 EXPECT_TRUE(display_modes[1]->native()); |
| 421 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); | 421 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); |
| 422 } | 422 } |
| 423 | 423 |
| 424 } // namespace ash | 424 } // namespace ash |
| OLD | NEW |