| 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" | 7 #include "ash/common/display/display_info.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "ui/display/chromeos/display_configurator.h" | 10 #include "ui/display/chromeos/display_configurator.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 modes.push_back( | 50 modes.push_back( |
| 51 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60))); | 51 base::WrapUnique(new 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::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60))); | 55 base::WrapUnique(new 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 std::vector<DisplayMode> display_modes = | 60 DisplayInfo::DisplayModeList display_modes = |
| 61 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); | 61 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); |
| 62 ASSERT_EQ(6u, display_modes.size()); | 62 ASSERT_EQ(6u, display_modes.size()); |
| 63 EXPECT_EQ("640x480", display_modes[0].size.ToString()); | 63 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); |
| 64 EXPECT_TRUE(display_modes[0].interlaced); | 64 EXPECT_TRUE(display_modes[0]->is_interlaced()); |
| 65 EXPECT_EQ(display_modes[0].refresh_rate, 60); | 65 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 66 | 66 |
| 67 EXPECT_EQ("1024x600", display_modes[1].size.ToString()); | 67 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); |
| 68 EXPECT_FALSE(display_modes[1].interlaced); | 68 EXPECT_FALSE(display_modes[1]->is_interlaced()); |
| 69 EXPECT_EQ(display_modes[1].refresh_rate, 70); | 69 EXPECT_EQ(display_modes[1]->refresh_rate(), 70); |
| 70 | 70 |
| 71 EXPECT_EQ("1024x768", display_modes[2].size.ToString()); | 71 EXPECT_EQ("1024x768", display_modes[2]->size().ToString()); |
| 72 EXPECT_TRUE(display_modes[2].interlaced); | 72 EXPECT_TRUE(display_modes[2]->is_interlaced()); |
| 73 EXPECT_EQ(display_modes[2].refresh_rate, 70); | 73 EXPECT_EQ(display_modes[2]->refresh_rate(), 70); |
| 74 | 74 |
| 75 EXPECT_EQ("1280x720", display_modes[3].size.ToString()); | 75 EXPECT_EQ("1280x720", display_modes[3]->size().ToString()); |
| 76 EXPECT_FALSE(display_modes[3].interlaced); | 76 EXPECT_FALSE(display_modes[3]->is_interlaced()); |
| 77 EXPECT_EQ(display_modes[3].refresh_rate, 60); | 77 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); |
| 78 | 78 |
| 79 EXPECT_EQ("1920x1080", display_modes[4].size.ToString()); | 79 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString()); |
| 80 EXPECT_FALSE(display_modes[4].interlaced); | 80 EXPECT_FALSE(display_modes[4]->is_interlaced()); |
| 81 EXPECT_EQ(display_modes[4].refresh_rate, 80); | 81 EXPECT_EQ(display_modes[4]->refresh_rate(), 80); |
| 82 | 82 |
| 83 EXPECT_EQ("1920x1200", display_modes[5].size.ToString()); | 83 EXPECT_EQ("1920x1200", display_modes[5]->size().ToString()); |
| 84 EXPECT_FALSE(display_modes[5].interlaced); | 84 EXPECT_FALSE(display_modes[5]->is_interlaced()); |
| 85 EXPECT_EQ(display_modes[5].refresh_rate, 60); | 85 EXPECT_EQ(display_modes[5]->refresh_rate(), 60); |
| 86 | 86 |
| 87 // Outputs without any modes shouldn't cause a crash. | 87 // Outputs without any modes shouldn't cause a crash. |
| 88 modes.clear(); | 88 modes.clear(); |
| 89 display_snapshot.set_modes(std::move(modes)); | 89 display_snapshot.set_modes(std::move(modes)); |
| 90 | 90 |
| 91 display_modes = | 91 display_modes = |
| 92 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); | 92 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); |
| 93 EXPECT_EQ(0u, display_modes.size()); | 93 EXPECT_EQ(0u, display_modes.size()); |
| 94 } | 94 } |
| 95 | 95 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 107 modes.push_back( | 107 modes.push_back( |
| 108 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), false, 59.9))); | 108 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), false, 59.9))); |
| 109 | 109 |
| 110 ui::TestDisplaySnapshot display_snapshot; | 110 ui::TestDisplaySnapshot display_snapshot; |
| 111 display_snapshot.set_native_mode(modes[0].get()); | 111 display_snapshot.set_native_mode(modes[0].get()); |
| 112 display_snapshot.set_modes(std::move(modes)); | 112 display_snapshot.set_modes(std::move(modes)); |
| 113 | 113 |
| 114 DisplayInfo info(1, "", false); | 114 DisplayInfo info(1, "", false); |
| 115 info.SetBounds(gfx::Rect(0, 0, 1366, 768)); | 115 info.SetBounds(gfx::Rect(0, 0, 1366, 768)); |
| 116 | 116 |
| 117 std::vector<DisplayMode> display_modes = | 117 DisplayInfo::DisplayModeList display_modes = |
| 118 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); | 118 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); |
| 119 ASSERT_EQ(5u, display_modes.size()); | 119 ASSERT_EQ(5u, display_modes.size()); |
| 120 EXPECT_EQ("1366x768", display_modes[0].size.ToString()); | 120 EXPECT_EQ("1366x768", display_modes[0]->size().ToString()); |
| 121 EXPECT_FALSE(display_modes[0].native); | 121 EXPECT_FALSE(display_modes[0]->native()); |
| 122 EXPECT_NEAR(display_modes[0].ui_scale, 0.5, 0.01); | 122 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); |
| 123 EXPECT_EQ(display_modes[0].refresh_rate, 60); | 123 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 124 | 124 |
| 125 EXPECT_EQ("1366x768", display_modes[1].size.ToString()); | 125 EXPECT_EQ("1366x768", display_modes[1]->size().ToString()); |
| 126 EXPECT_FALSE(display_modes[1].native); | 126 EXPECT_FALSE(display_modes[1]->native()); |
| 127 EXPECT_NEAR(display_modes[1].ui_scale, 0.6, 0.01); | 127 EXPECT_NEAR(display_modes[1]->ui_scale(), 0.6, 0.01); |
| 128 EXPECT_EQ(display_modes[1].refresh_rate, 60); | 128 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); |
| 129 | 129 |
| 130 EXPECT_EQ("1366x768", display_modes[2].size.ToString()); | 130 EXPECT_EQ("1366x768", display_modes[2]->size().ToString()); |
| 131 EXPECT_FALSE(display_modes[2].native); | 131 EXPECT_FALSE(display_modes[2]->native()); |
| 132 EXPECT_NEAR(display_modes[2].ui_scale, 0.75, 0.01); | 132 EXPECT_NEAR(display_modes[2]->ui_scale(), 0.75, 0.01); |
| 133 EXPECT_EQ(display_modes[2].refresh_rate, 60); | 133 EXPECT_EQ(display_modes[2]->refresh_rate(), 60); |
| 134 | 134 |
| 135 EXPECT_EQ("1366x768", display_modes[3].size.ToString()); | 135 EXPECT_EQ("1366x768", display_modes[3]->size().ToString()); |
| 136 EXPECT_TRUE(display_modes[3].native); | 136 EXPECT_TRUE(display_modes[3]->native()); |
| 137 EXPECT_NEAR(display_modes[3].ui_scale, 1.0, 0.01); | 137 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01); |
| 138 EXPECT_EQ(display_modes[3].refresh_rate, 60); | 138 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); |
| 139 | 139 |
| 140 EXPECT_EQ("1366x768", display_modes[4].size.ToString()); | 140 EXPECT_EQ("1366x768", display_modes[4]->size().ToString()); |
| 141 EXPECT_FALSE(display_modes[4].native); | 141 EXPECT_FALSE(display_modes[4]->native()); |
| 142 EXPECT_NEAR(display_modes[4].ui_scale, 1.125, 0.01); | 142 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01); |
| 143 EXPECT_EQ(display_modes[4].refresh_rate, 60); | 143 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); |
| 144 } | 144 } |
| 145 | 145 |
| 146 TEST_F(DisplayChangeObserverTest, GetInternalHiDPIDisplayModeList) { | 146 TEST_F(DisplayChangeObserverTest, GetInternalHiDPIDisplayModeList) { |
| 147 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 147 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| 148 // Data picked from peppy. | 148 // Data picked from peppy. |
| 149 modes.push_back( | 149 modes.push_back( |
| 150 base::WrapUnique(new ui::DisplayMode(gfx::Size(2560, 1700), false, 60))); | 150 base::WrapUnique(new ui::DisplayMode(gfx::Size(2560, 1700), false, 60))); |
| 151 modes.push_back( | 151 modes.push_back( |
| 152 base::WrapUnique(new ui::DisplayMode(gfx::Size(2048, 1536), false, 60))); | 152 base::WrapUnique(new ui::DisplayMode(gfx::Size(2048, 1536), false, 60))); |
| 153 modes.push_back( | 153 modes.push_back( |
| 154 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1440), false, 60))); | 154 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1440), false, 60))); |
| 155 | 155 |
| 156 ui::TestDisplaySnapshot display_snapshot; | 156 ui::TestDisplaySnapshot display_snapshot; |
| 157 display_snapshot.set_native_mode(modes[0].get()); | 157 display_snapshot.set_native_mode(modes[0].get()); |
| 158 display_snapshot.set_modes(std::move(modes)); | 158 display_snapshot.set_modes(std::move(modes)); |
| 159 | 159 |
| 160 DisplayInfo info(1, "", false); | 160 DisplayInfo info(1, "", false); |
| 161 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); | 161 info.SetBounds(gfx::Rect(0, 0, 2560, 1700)); |
| 162 info.set_device_scale_factor(2.0f); | 162 info.set_device_scale_factor(2.0f); |
| 163 | 163 |
| 164 std::vector<DisplayMode> display_modes = | 164 DisplayInfo::DisplayModeList display_modes = |
| 165 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); | 165 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); |
| 166 ASSERT_EQ(8u, display_modes.size()); | 166 ASSERT_EQ(8u, display_modes.size()); |
| 167 EXPECT_EQ("2560x1700", display_modes[0].size.ToString()); | 167 EXPECT_EQ("2560x1700", display_modes[0]->size().ToString()); |
| 168 EXPECT_FALSE(display_modes[0].native); | 168 EXPECT_FALSE(display_modes[0]->native()); |
| 169 EXPECT_NEAR(display_modes[0].ui_scale, 0.5, 0.01); | 169 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); |
| 170 EXPECT_EQ(display_modes[0].refresh_rate, 60); | 170 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 171 | 171 |
| 172 EXPECT_EQ("2560x1700", display_modes[1].size.ToString()); | 172 EXPECT_EQ("2560x1700", display_modes[1]->size().ToString()); |
| 173 EXPECT_FALSE(display_modes[1].native); | 173 EXPECT_FALSE(display_modes[1]->native()); |
| 174 EXPECT_NEAR(display_modes[1].ui_scale, 0.625, 0.01); | 174 EXPECT_NEAR(display_modes[1]->ui_scale(), 0.625, 0.01); |
| 175 EXPECT_EQ(display_modes[1].refresh_rate, 60); | 175 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); |
| 176 | 176 |
| 177 EXPECT_EQ("2560x1700", display_modes[2].size.ToString()); | 177 EXPECT_EQ("2560x1700", display_modes[2]->size().ToString()); |
| 178 EXPECT_FALSE(display_modes[2].native); | 178 EXPECT_FALSE(display_modes[2]->native()); |
| 179 EXPECT_NEAR(display_modes[2].ui_scale, 0.8, 0.01); | 179 EXPECT_NEAR(display_modes[2]->ui_scale(), 0.8, 0.01); |
| 180 EXPECT_EQ(display_modes[2].refresh_rate, 60); | 180 EXPECT_EQ(display_modes[2]->refresh_rate(), 60); |
| 181 | 181 |
| 182 EXPECT_EQ("2560x1700", display_modes[3].size.ToString()); | 182 EXPECT_EQ("2560x1700", display_modes[3]->size().ToString()); |
| 183 EXPECT_FALSE(display_modes[3].native); | 183 EXPECT_FALSE(display_modes[3]->native()); |
| 184 EXPECT_NEAR(display_modes[3].ui_scale, 1.0, 0.01); | 184 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01); |
| 185 EXPECT_EQ(display_modes[3].refresh_rate, 60); | 185 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); |
| 186 | 186 |
| 187 EXPECT_EQ("2560x1700", display_modes[4].size.ToString()); | 187 EXPECT_EQ("2560x1700", display_modes[4]->size().ToString()); |
| 188 EXPECT_FALSE(display_modes[4].native); | 188 EXPECT_FALSE(display_modes[4]->native()); |
| 189 EXPECT_NEAR(display_modes[4].ui_scale, 1.125, 0.01); | 189 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.125, 0.01); |
| 190 EXPECT_EQ(display_modes[4].refresh_rate, 60); | 190 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); |
| 191 | 191 |
| 192 EXPECT_EQ("2560x1700", display_modes[5].size.ToString()); | 192 EXPECT_EQ("2560x1700", display_modes[5]->size().ToString()); |
| 193 EXPECT_FALSE(display_modes[5].native); | 193 EXPECT_FALSE(display_modes[5]->native()); |
| 194 EXPECT_NEAR(display_modes[5].ui_scale, 1.25, 0.01); | 194 EXPECT_NEAR(display_modes[5]->ui_scale(), 1.25, 0.01); |
| 195 EXPECT_EQ(display_modes[5].refresh_rate, 60); | 195 EXPECT_EQ(display_modes[5]->refresh_rate(), 60); |
| 196 | 196 |
| 197 EXPECT_EQ("2560x1700", display_modes[6].size.ToString()); | 197 EXPECT_EQ("2560x1700", display_modes[6]->size().ToString()); |
| 198 EXPECT_FALSE(display_modes[6].native); | 198 EXPECT_FALSE(display_modes[6]->native()); |
| 199 EXPECT_NEAR(display_modes[6].ui_scale, 1.5, 0.01); | 199 EXPECT_NEAR(display_modes[6]->ui_scale(), 1.5, 0.01); |
| 200 EXPECT_EQ(display_modes[6].refresh_rate, 60); | 200 EXPECT_EQ(display_modes[6]->refresh_rate(), 60); |
| 201 | 201 |
| 202 EXPECT_EQ("2560x1700", display_modes[7].size.ToString()); | 202 EXPECT_EQ("2560x1700", display_modes[7]->size().ToString()); |
| 203 EXPECT_TRUE(display_modes[7].native); | 203 EXPECT_TRUE(display_modes[7]->native()); |
| 204 EXPECT_NEAR(display_modes[7].ui_scale, 2.0, 0.01); | 204 EXPECT_NEAR(display_modes[7]->ui_scale(), 2.0, 0.01); |
| 205 EXPECT_EQ(display_modes[7].refresh_rate, 60); | 205 EXPECT_EQ(display_modes[7]->refresh_rate(), 60); |
| 206 } | 206 } |
| 207 | 207 |
| 208 TEST_F(DisplayChangeObserverTest, GetInternalDisplayModeList1_25) { | 208 TEST_F(DisplayChangeObserverTest, GetInternalDisplayModeList1_25) { |
| 209 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 209 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| 210 // Data picked from peppy. | 210 // Data picked from peppy. |
| 211 modes.push_back( | 211 modes.push_back( |
| 212 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60))); | 212 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60))); |
| 213 | 213 |
| 214 ui::TestDisplaySnapshot display_snapshot; | 214 ui::TestDisplaySnapshot display_snapshot; |
| 215 display_snapshot.set_native_mode(modes[0].get()); | 215 display_snapshot.set_native_mode(modes[0].get()); |
| 216 display_snapshot.set_modes(std::move(modes)); | 216 display_snapshot.set_modes(std::move(modes)); |
| 217 | 217 |
| 218 DisplayInfo info(1, "", false); | 218 DisplayInfo info(1, "", false); |
| 219 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); | 219 info.SetBounds(gfx::Rect(0, 0, 1920, 1080)); |
| 220 info.set_device_scale_factor(1.25); | 220 info.set_device_scale_factor(1.25); |
| 221 | 221 |
| 222 std::vector<DisplayMode> display_modes = | 222 DisplayInfo::DisplayModeList display_modes = |
| 223 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); | 223 DisplayChangeObserver::GetInternalDisplayModeList(info, display_snapshot); |
| 224 ASSERT_EQ(5u, display_modes.size()); | 224 ASSERT_EQ(5u, display_modes.size()); |
| 225 EXPECT_EQ("1920x1080", display_modes[0].size.ToString()); | 225 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); |
| 226 EXPECT_FALSE(display_modes[0].native); | 226 EXPECT_FALSE(display_modes[0]->native()); |
| 227 EXPECT_NEAR(display_modes[0].ui_scale, 0.5, 0.01); | 227 EXPECT_NEAR(display_modes[0]->ui_scale(), 0.5, 0.01); |
| 228 EXPECT_EQ(display_modes[0].refresh_rate, 60); | 228 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 229 | 229 |
| 230 EXPECT_EQ("1920x1080", display_modes[1].size.ToString()); | 230 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); |
| 231 EXPECT_FALSE(display_modes[1].native); | 231 EXPECT_FALSE(display_modes[1]->native()); |
| 232 EXPECT_NEAR(display_modes[1].ui_scale, 0.625, 0.01); | 232 EXPECT_NEAR(display_modes[1]->ui_scale(), 0.625, 0.01); |
| 233 EXPECT_EQ(display_modes[1].refresh_rate, 60); | 233 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); |
| 234 | 234 |
| 235 EXPECT_EQ("1920x1080", display_modes[2].size.ToString()); | 235 EXPECT_EQ("1920x1080", display_modes[2]->size().ToString()); |
| 236 EXPECT_FALSE(display_modes[2].native); | 236 EXPECT_FALSE(display_modes[2]->native()); |
| 237 EXPECT_NEAR(display_modes[2].ui_scale, 0.8, 0.01); | 237 EXPECT_NEAR(display_modes[2]->ui_scale(), 0.8, 0.01); |
| 238 EXPECT_EQ(display_modes[2].refresh_rate, 60); | 238 EXPECT_EQ(display_modes[2]->refresh_rate(), 60); |
| 239 | 239 |
| 240 EXPECT_EQ("1920x1080", display_modes[3].size.ToString()); | 240 EXPECT_EQ("1920x1080", display_modes[3]->size().ToString()); |
| 241 EXPECT_TRUE(display_modes[3].native); | 241 EXPECT_TRUE(display_modes[3]->native()); |
| 242 EXPECT_NEAR(display_modes[3].ui_scale, 1.0, 0.01); | 242 EXPECT_NEAR(display_modes[3]->ui_scale(), 1.0, 0.01); |
| 243 EXPECT_EQ(display_modes[3].refresh_rate, 60); | 243 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); |
| 244 | 244 |
| 245 EXPECT_EQ("1920x1080", display_modes[4].size.ToString()); | 245 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString()); |
| 246 EXPECT_FALSE(display_modes[4].native); | 246 EXPECT_FALSE(display_modes[4]->native()); |
| 247 EXPECT_NEAR(display_modes[4].ui_scale, 1.25, 0.01); | 247 EXPECT_NEAR(display_modes[4]->ui_scale(), 1.25, 0.01); |
| 248 EXPECT_EQ(display_modes[4].refresh_rate, 60); | 248 EXPECT_EQ(display_modes[4]->refresh_rate(), 60); |
| 249 } | 249 } |
| 250 | 250 |
| 251 TEST_F(DisplayChangeObserverTest, GetExternalDisplayModeList4K) { | 251 TEST_F(DisplayChangeObserverTest, GetExternalDisplayModeList4K) { |
| 252 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 252 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| 253 modes.push_back( | 253 modes.push_back( |
| 254 base::WrapUnique(new ui::DisplayMode(gfx::Size(3840, 2160), false, 30))); | 254 base::WrapUnique(new ui::DisplayMode(gfx::Size(3840, 2160), false, 30))); |
| 255 modes.push_back( | 255 modes.push_back( |
| 256 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1200), false, 60))); | 256 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1200), false, 60))); |
| 257 | 257 |
| 258 // All non-interlaced (as would be seen with different refresh rates). | 258 // All non-interlaced (as would be seen with different refresh rates). |
| (...skipping 25 matching lines...) Expand all Loading... |
| 284 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60))); | 284 base::WrapUnique(new ui::DisplayMode(gfx::Size(1024, 600), false, 60))); |
| 285 | 285 |
| 286 // Just one interlaced mode. | 286 // Just one interlaced mode. |
| 287 modes.push_back( | 287 modes.push_back( |
| 288 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60))); | 288 base::WrapUnique(new ui::DisplayMode(gfx::Size(640, 480), true, 60))); |
| 289 | 289 |
| 290 ui::TestDisplaySnapshot display_snapshot; | 290 ui::TestDisplaySnapshot display_snapshot; |
| 291 display_snapshot.set_native_mode(modes[0].get()); | 291 display_snapshot.set_native_mode(modes[0].get()); |
| 292 display_snapshot.set_modes(std::move(modes)); | 292 display_snapshot.set_modes(std::move(modes)); |
| 293 | 293 |
| 294 std::vector<DisplayMode> display_modes = | 294 DisplayInfo::DisplayModeList display_modes = |
| 295 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); | 295 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); |
| 296 DisplayInfo info(1, "", false); | 296 DisplayInfo info(1, "", false); |
| 297 info.SetDisplayModes(display_modes); // Sort as external display. | 297 info.SetDisplayModes(display_modes); // Sort as external display. |
| 298 display_modes = info.display_modes(); | 298 display_modes = info.display_modes(); |
| 299 | 299 |
| 300 ASSERT_EQ(9u, display_modes.size()); | 300 ASSERT_EQ(9u, display_modes.size()); |
| 301 EXPECT_EQ("640x480", display_modes[0].size.ToString()); | 301 EXPECT_EQ("640x480", display_modes[0]->size().ToString()); |
| 302 EXPECT_TRUE(display_modes[0].interlaced); | 302 EXPECT_TRUE(display_modes[0]->is_interlaced()); |
| 303 EXPECT_EQ(display_modes[0].refresh_rate, 60); | 303 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 304 | 304 |
| 305 EXPECT_EQ("1024x600", display_modes[1].size.ToString()); | 305 EXPECT_EQ("1024x600", display_modes[1]->size().ToString()); |
| 306 EXPECT_FALSE(display_modes[1].interlaced); | 306 EXPECT_FALSE(display_modes[1]->is_interlaced()); |
| 307 EXPECT_EQ(display_modes[1].refresh_rate, 70); | 307 EXPECT_EQ(display_modes[1]->refresh_rate(), 70); |
| 308 | 308 |
| 309 EXPECT_EQ("1024x768", display_modes[2].size.ToString()); | 309 EXPECT_EQ("1024x768", display_modes[2]->size().ToString()); |
| 310 EXPECT_TRUE(display_modes[2].interlaced); | 310 EXPECT_TRUE(display_modes[2]->is_interlaced()); |
| 311 EXPECT_EQ(display_modes[2].refresh_rate, 70); | 311 EXPECT_EQ(display_modes[2]->refresh_rate(), 70); |
| 312 | 312 |
| 313 EXPECT_EQ("1280x720", display_modes[3].size.ToString()); | 313 EXPECT_EQ("1280x720", display_modes[3]->size().ToString()); |
| 314 EXPECT_FALSE(display_modes[3].interlaced); | 314 EXPECT_FALSE(display_modes[3]->is_interlaced()); |
| 315 EXPECT_EQ(display_modes[3].refresh_rate, 60); | 315 EXPECT_EQ(display_modes[3]->refresh_rate(), 60); |
| 316 | 316 |
| 317 EXPECT_EQ("1920x1080", display_modes[4].size.ToString()); | 317 EXPECT_EQ("1920x1080", display_modes[4]->size().ToString()); |
| 318 EXPECT_FALSE(display_modes[4].interlaced); | 318 EXPECT_FALSE(display_modes[4]->is_interlaced()); |
| 319 EXPECT_EQ(display_modes[4].refresh_rate, 80); | 319 EXPECT_EQ(display_modes[4]->refresh_rate(), 80); |
| 320 | 320 |
| 321 EXPECT_EQ("3840x2160", display_modes[5].size.ToString()); | 321 EXPECT_EQ("3840x2160", display_modes[5]->size().ToString()); |
| 322 EXPECT_FALSE(display_modes[5].interlaced); | 322 EXPECT_FALSE(display_modes[5]->is_interlaced()); |
| 323 EXPECT_FALSE(display_modes[5].native); | 323 EXPECT_FALSE(display_modes[5]->native()); |
| 324 EXPECT_EQ(display_modes[5].refresh_rate, 30); | 324 EXPECT_EQ(display_modes[5]->refresh_rate(), 30); |
| 325 EXPECT_EQ(display_modes[5].device_scale_factor, 2.0); | 325 EXPECT_EQ(display_modes[5]->device_scale_factor(), 2.0); |
| 326 | 326 |
| 327 EXPECT_EQ("1920x1200", display_modes[6].size.ToString()); | 327 EXPECT_EQ("1920x1200", display_modes[6]->size().ToString()); |
| 328 EXPECT_FALSE(display_modes[6].interlaced); | 328 EXPECT_FALSE(display_modes[6]->is_interlaced()); |
| 329 EXPECT_EQ(display_modes[6].refresh_rate, 60); | 329 EXPECT_EQ(display_modes[6]->refresh_rate(), 60); |
| 330 | 330 |
| 331 EXPECT_EQ("3840x2160", display_modes[7].size.ToString()); | 331 EXPECT_EQ("3840x2160", display_modes[7]->size().ToString()); |
| 332 EXPECT_FALSE(display_modes[7].interlaced); | 332 EXPECT_FALSE(display_modes[7]->is_interlaced()); |
| 333 EXPECT_FALSE(display_modes[7].native); | 333 EXPECT_FALSE(display_modes[7]->native()); |
| 334 EXPECT_EQ(display_modes[7].refresh_rate, 30); | 334 EXPECT_EQ(display_modes[7]->refresh_rate(), 30); |
| 335 EXPECT_EQ(display_modes[7].device_scale_factor, 1.25); | 335 EXPECT_EQ(display_modes[7]->device_scale_factor(), 1.25); |
| 336 | 336 |
| 337 EXPECT_EQ("3840x2160", display_modes[8].size.ToString()); | 337 EXPECT_EQ("3840x2160", display_modes[8]->size().ToString()); |
| 338 EXPECT_FALSE(display_modes[8].interlaced); | 338 EXPECT_FALSE(display_modes[8]->is_interlaced()); |
| 339 EXPECT_TRUE(display_modes[8].native); | 339 EXPECT_TRUE(display_modes[8]->native()); |
| 340 EXPECT_EQ(display_modes[8].refresh_rate, 30); | 340 EXPECT_EQ(display_modes[8]->refresh_rate(), 30); |
| 341 | 341 |
| 342 // Outputs without any modes shouldn't cause a crash. | 342 // Outputs without any modes shouldn't cause a crash. |
| 343 modes.clear(); | 343 modes.clear(); |
| 344 display_snapshot.set_native_mode(NULL); | 344 display_snapshot.set_native_mode(NULL); |
| 345 display_snapshot.set_modes(std::move(modes)); | 345 display_snapshot.set_modes(std::move(modes)); |
| 346 | 346 |
| 347 display_modes = | 347 display_modes = |
| 348 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); | 348 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); |
| 349 EXPECT_EQ(0u, display_modes.size()); | 349 EXPECT_EQ(0u, display_modes.size()); |
| 350 } | 350 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; | 394 std::vector<std::unique_ptr<const ui::DisplayMode>> modes; |
| 395 modes.push_back( | 395 modes.push_back( |
| 396 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), true, 60))); | 396 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), true, 60))); |
| 397 modes.push_back( | 397 modes.push_back( |
| 398 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60))); | 398 base::WrapUnique(new ui::DisplayMode(gfx::Size(1920, 1080), false, 60))); |
| 399 | 399 |
| 400 ui::TestDisplaySnapshot display_snapshot; | 400 ui::TestDisplaySnapshot display_snapshot; |
| 401 display_snapshot.set_native_mode(modes[0].get()); | 401 display_snapshot.set_native_mode(modes[0].get()); |
| 402 display_snapshot.set_modes(std::move(modes)); | 402 display_snapshot.set_modes(std::move(modes)); |
| 403 | 403 |
| 404 std::vector<DisplayMode> display_modes = | 404 DisplayInfo::DisplayModeList display_modes = |
| 405 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); | 405 DisplayChangeObserver::GetExternalDisplayModeList(display_snapshot); |
| 406 ASSERT_EQ(2u, display_modes.size()); | 406 ASSERT_EQ(2u, display_modes.size()); |
| 407 EXPECT_EQ("1920x1080", display_modes[0].size.ToString()); | 407 EXPECT_EQ("1920x1080", display_modes[0]->size().ToString()); |
| 408 EXPECT_FALSE(display_modes[0].interlaced); | 408 EXPECT_FALSE(display_modes[0]->is_interlaced()); |
| 409 EXPECT_FALSE(display_modes[0].native); | 409 EXPECT_FALSE(display_modes[0]->native()); |
| 410 EXPECT_EQ(display_modes[0].refresh_rate, 60); | 410 EXPECT_EQ(display_modes[0]->refresh_rate(), 60); |
| 411 | 411 |
| 412 EXPECT_EQ("1920x1080", display_modes[1].size.ToString()); | 412 EXPECT_EQ("1920x1080", display_modes[1]->size().ToString()); |
| 413 EXPECT_TRUE(display_modes[1].interlaced); | 413 EXPECT_TRUE(display_modes[1]->is_interlaced()); |
| 414 EXPECT_TRUE(display_modes[1].native); | 414 EXPECT_TRUE(display_modes[1]->native()); |
| 415 EXPECT_EQ(display_modes[1].refresh_rate, 60); | 415 EXPECT_EQ(display_modes[1]->refresh_rate(), 60); |
| 416 } | 416 } |
| 417 | 417 |
| 418 } // namespace ash | 418 } // namespace ash |
| OLD | NEW |