Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_manager.h" | 5 #include "ash/display/display_manager.h" |
| 6 | 6 |
| 7 #include "ash/accelerators/accelerator_commands_aura.h" | 7 #include "ash/accelerators/accelerator_commands_aura.h" |
| 8 #include "ash/common/ash_switches.h" | 8 #include "ash/common/ash_switches.h" |
| 9 #include "ash/common/display/display_info.h" | 9 #include "ash/common/display/display_info.h" |
| 10 #include "ash/common/material_design/material_design_controller.h" | 10 #include "ash/common/material_design/material_design_controller.h" |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 153 return; | 153 return; |
| 154 | 154 |
| 155 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); | 155 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); |
| 156 | 156 |
| 157 // Update primary and add seconary. | 157 // Update primary and add seconary. |
| 158 UpdateDisplay("100+0-500x500,0+501-400x400"); | 158 UpdateDisplay("100+0-500x500,0+501-400x400"); |
| 159 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); | 159 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); |
| 160 EXPECT_EQ("0,0 500x500", | 160 EXPECT_EQ("0,0 500x500", |
| 161 display_manager()->GetDisplayAt(0).bounds().ToString()); | 161 display_manager()->GetDisplayAt(0).bounds().ToString()); |
| 162 | 162 |
| 163 EXPECT_EQ("1 1 0", GetCountSummary()); | 163 EXPECT_EQ("2 1 0", GetCountSummary()); |
| 164 EXPECT_EQ(display_manager()->GetDisplayAt(0).id(), changed()[0].id()); | 164 EXPECT_EQ(display_manager()->GetDisplayAt(0).id(), changed()[1].id()); |
|
oshima
2016/07/26 20:53:03
can you check ids for both displays?
hariank
2016/07/26 22:05:16
Done.
| |
| 165 EXPECT_EQ(display_manager()->GetDisplayAt(1).id(), added()[0].id()); | 165 EXPECT_EQ(display_manager()->GetDisplayAt(1).id(), added()[0].id()); |
| 166 EXPECT_EQ("0,0 500x500", changed()[0].bounds().ToString()); | 166 EXPECT_EQ("0,0 500x500", changed()[1].bounds().ToString()); |
|
oshima
2016/07/26 20:53:03
ditto
hariank
2016/07/26 22:05:16
Done.
| |
| 167 // Secondary display is on right. | 167 // Secondary display is on right. |
| 168 EXPECT_EQ("500,0 400x400", added()[0].bounds().ToString()); | 168 EXPECT_EQ("500,0 400x400", added()[0].bounds().ToString()); |
| 169 EXPECT_EQ("0,501 400x400", | 169 EXPECT_EQ("0,501 400x400", |
| 170 GetDisplayInfo(added()[0]).bounds_in_native().ToString()); | 170 GetDisplayInfo(added()[0]).bounds_in_native().ToString()); |
| 171 reset(); | 171 reset(); |
| 172 | 172 |
| 173 // Delete secondary. | 173 // Delete secondary. |
| 174 UpdateDisplay("100+0-500x500"); | 174 UpdateDisplay("100+0-500x500"); |
| 175 EXPECT_EQ("0 0 1", GetCountSummary()); | 175 EXPECT_EQ("0 0 1", GetCountSummary()); |
| 176 reset(); | 176 reset(); |
| 177 | 177 |
| 178 // Change primary. | 178 // Change primary. |
| 179 UpdateDisplay("1+1-1000x600"); | 179 UpdateDisplay("1+1-1000x600"); |
| 180 EXPECT_EQ("1 0 0", GetCountSummary()); | 180 EXPECT_EQ("1 0 0", GetCountSummary()); |
| 181 EXPECT_EQ(display_manager()->GetDisplayAt(0).id(), changed()[0].id()); | 181 EXPECT_EQ(display_manager()->GetDisplayAt(0).id(), changed()[0].id()); |
| 182 EXPECT_EQ("0,0 1000x600", changed()[0].bounds().ToString()); | 182 EXPECT_EQ("0,0 1000x600", changed()[0].bounds().ToString()); |
| 183 reset(); | 183 reset(); |
| 184 | 184 |
| 185 // Add secondary. | 185 // Add secondary. |
| 186 UpdateDisplay("1+1-1000x600,1002+0-600x400"); | 186 UpdateDisplay("1+1-1000x600,1002+0-600x400"); |
| 187 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); | 187 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); |
| 188 EXPECT_EQ("0 1 0", GetCountSummary()); | 188 EXPECT_EQ("1 1 0", GetCountSummary()); |
|
oshima
2016/07/26 20:53:03
check the id of the changed display.
hariank
2016/07/26 22:05:16
Done.
| |
| 189 EXPECT_EQ(display_manager()->GetDisplayAt(1).id(), added()[0].id()); | 189 EXPECT_EQ(display_manager()->GetDisplayAt(1).id(), added()[0].id()); |
| 190 // Secondary display is on right. | 190 // Secondary display is on right. |
| 191 EXPECT_EQ("1000,0 600x400", added()[0].bounds().ToString()); | 191 EXPECT_EQ("1000,0 600x400", added()[0].bounds().ToString()); |
| 192 EXPECT_EQ("1002,0 600x400", | 192 EXPECT_EQ("1002,0 600x400", |
| 193 GetDisplayInfo(added()[0]).bounds_in_native().ToString()); | 193 GetDisplayInfo(added()[0]).bounds_in_native().ToString()); |
| 194 reset(); | 194 reset(); |
| 195 | 195 |
| 196 // Secondary removed, primary changed. | 196 // Secondary removed, primary changed. |
| 197 UpdateDisplay("1+1-800x300"); | 197 UpdateDisplay("1+1-800x300"); |
| 198 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); | 198 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 263 // Test in emulation mode (use_fullscreen_host_window=false) | 263 // Test in emulation mode (use_fullscreen_host_window=false) |
| 264 TEST_P(DisplayManagerTest, EmulatorTest) { | 264 TEST_P(DisplayManagerTest, EmulatorTest) { |
| 265 if (!SupportsMultipleDisplays()) | 265 if (!SupportsMultipleDisplays()) |
| 266 return; | 266 return; |
| 267 | 267 |
| 268 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); | 268 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); |
| 269 | 269 |
| 270 display_manager()->AddRemoveDisplay(); | 270 display_manager()->AddRemoveDisplay(); |
| 271 // Update primary and add seconary. | 271 // Update primary and add seconary. |
| 272 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); | 272 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); |
| 273 EXPECT_EQ("0 1 0", GetCountSummary()); | 273 EXPECT_EQ("1 1 0", GetCountSummary()); |
| 274 reset(); | 274 reset(); |
| 275 | 275 |
| 276 display_manager()->AddRemoveDisplay(); | 276 display_manager()->AddRemoveDisplay(); |
| 277 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); | 277 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); |
| 278 EXPECT_EQ("0 0 1", GetCountSummary()); | 278 EXPECT_EQ("0 0 1", GetCountSummary()); |
| 279 reset(); | 279 reset(); |
| 280 | 280 |
| 281 display_manager()->AddRemoveDisplay(); | 281 display_manager()->AddRemoveDisplay(); |
| 282 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); | 282 EXPECT_EQ(2U, display_manager()->GetNumDisplays()); |
| 283 EXPECT_EQ("0 1 0", GetCountSummary()); | 283 EXPECT_EQ("1 1 0", GetCountSummary()); |
| 284 } | 284 } |
| 285 | 285 |
| 286 // Tests support for 3 displays. | 286 // Tests support for 3 displays. |
| 287 TEST_P(DisplayManagerTest, UpdateThreeDisplaysWithDefaultLayout) { | 287 TEST_P(DisplayManagerTest, UpdateThreeDisplaysWithDefaultLayout) { |
| 288 if (!SupportsMultipleDisplays()) | 288 if (!SupportsMultipleDisplays()) |
| 289 return; | 289 return; |
| 290 | 290 |
| 291 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); | 291 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); |
| 292 | 292 |
| 293 // Test with three displays. Native origin will not affect ash | 293 // Test with three displays. Native origin will not affect ash |
| 294 // display layout. | 294 // display layout. |
| 295 UpdateDisplay("0+0-640x480,1000+0-320x200,2000+0-400x300"); | 295 UpdateDisplay("0+0-640x480,1000+0-320x200,2000+0-400x300"); |
| 296 | 296 |
| 297 EXPECT_EQ(3U, display_manager()->GetNumDisplays()); | 297 EXPECT_EQ(3U, display_manager()->GetNumDisplays()); |
| 298 EXPECT_EQ("0,0 640x480", | 298 EXPECT_EQ("0,0 640x480", |
| 299 display_manager()->GetDisplayAt(0).bounds().ToString()); | 299 display_manager()->GetDisplayAt(0).bounds().ToString()); |
| 300 EXPECT_EQ("640,0 320x200", | 300 EXPECT_EQ("640,0 320x200", |
| 301 display_manager()->GetDisplayAt(1).bounds().ToString()); | 301 display_manager()->GetDisplayAt(1).bounds().ToString()); |
| 302 EXPECT_EQ("960,0 400x300", | 302 EXPECT_EQ("960,0 400x300", |
| 303 display_manager()->GetDisplayAt(2).bounds().ToString()); | 303 display_manager()->GetDisplayAt(2).bounds().ToString()); |
| 304 | 304 |
| 305 EXPECT_EQ("1 2 0", GetCountSummary()); | 305 EXPECT_EQ("3 2 0", GetCountSummary()); |
| 306 EXPECT_EQ(display_manager()->GetDisplayAt(0).id(), changed()[0].id()); | 306 EXPECT_EQ(display_manager()->GetDisplayAt(0).id(), changed()[2].id()); |
|
oshima
2016/07/26 20:53:03
ditto
hariank
2016/07/26 22:05:16
Done.
| |
| 307 EXPECT_EQ(display_manager()->GetDisplayAt(1).id(), added()[0].id()); | 307 EXPECT_EQ(display_manager()->GetDisplayAt(1).id(), added()[0].id()); |
| 308 EXPECT_EQ(display_manager()->GetDisplayAt(2).id(), added()[1].id()); | 308 EXPECT_EQ(display_manager()->GetDisplayAt(2).id(), added()[1].id()); |
| 309 EXPECT_EQ("0,0 640x480", changed()[0].bounds().ToString()); | 309 EXPECT_EQ("0,0 640x480", changed()[2].bounds().ToString()); |
|
oshima
2016/07/26 20:53:03
ditto
hariank
2016/07/26 22:05:16
Done.
| |
| 310 // Secondary and terniary displays are on right. | 310 // Secondary and terniary displays are on right. |
| 311 EXPECT_EQ("640,0 320x200", added()[0].bounds().ToString()); | 311 EXPECT_EQ("640,0 320x200", added()[0].bounds().ToString()); |
| 312 EXPECT_EQ("1000,0 320x200", | 312 EXPECT_EQ("1000,0 320x200", |
| 313 GetDisplayInfo(added()[0]).bounds_in_native().ToString()); | 313 GetDisplayInfo(added()[0]).bounds_in_native().ToString()); |
| 314 EXPECT_EQ("960,0 400x300", added()[1].bounds().ToString()); | 314 EXPECT_EQ("960,0 400x300", added()[1].bounds().ToString()); |
| 315 EXPECT_EQ("2000,0 400x300", | 315 EXPECT_EQ("2000,0 400x300", |
| 316 GetDisplayInfo(added()[1]).bounds_in_native().ToString()); | 316 GetDisplayInfo(added()[1]).bounds_in_native().ToString()); |
| 317 | 317 |
| 318 // Verify calling ReconfigureDisplays doesn't change anything. | 318 // Verify calling ReconfigureDisplays doesn't change anything. |
| 319 display_manager()->ReconfigureDisplays(); | 319 display_manager()->ReconfigureDisplays(); |
| (...skipping 2007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2327 const display::DisplayLayout& stored = | 2327 const display::DisplayLayout& stored = |
| 2328 layout_store->GetRegisteredDisplayLayout(list); | 2328 layout_store->GetRegisteredDisplayLayout(list); |
| 2329 | 2329 |
| 2330 EXPECT_EQ(id1, stored.placement_list[0].parent_display_id); | 2330 EXPECT_EQ(id1, stored.placement_list[0].parent_display_id); |
| 2331 EXPECT_EQ(id2, stored.placement_list[0].display_id); | 2331 EXPECT_EQ(id2, stored.placement_list[0].display_id); |
| 2332 } | 2332 } |
| 2333 | 2333 |
| 2334 #endif // OS_CHROMEOS | 2334 #endif // OS_CHROMEOS |
| 2335 | 2335 |
| 2336 } // namespace ash | 2336 } // namespace ash |
| OLD | NEW |