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_controller.h" | 5 #include "ash/display/display_controller.h" |
6 | 6 |
7 #include "ash/display/display_info.h" | 7 #include "ash/display/display_info.h" |
8 #include "ash/display/display_manager.h" | 8 #include "ash/display/display_manager.h" |
9 #include "ash/launcher/launcher.h" | 9 #include "ash/launcher/launcher.h" |
10 #include "ash/screen_ash.h" | 10 #include "ash/screen_ash.h" |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 secondary_display->UpdateWorkAreaFromInsets(insets); | 272 secondary_display->UpdateWorkAreaFromInsets(insets); |
273 | 273 |
274 EXPECT_EQ("0,0 200x200", GetPrimaryDisplay().bounds().ToString()); | 274 EXPECT_EQ("0,0 200x200", GetPrimaryDisplay().bounds().ToString()); |
275 EXPECT_EQ("0,200 300x300", GetSecondaryDisplay().bounds().ToString()); | 275 EXPECT_EQ("0,200 300x300", GetSecondaryDisplay().bounds().ToString()); |
276 EXPECT_EQ("5,205 290x290", GetSecondaryDisplay().work_area().ToString()); | 276 EXPECT_EQ("5,205 290x290", GetSecondaryDisplay().work_area().ToString()); |
277 | 277 |
278 UpdateDisplay("400x400,200x200"); | 278 UpdateDisplay("400x400,200x200"); |
279 EXPECT_EQ(1, observer.CountAndReset()); // two resizes | 279 EXPECT_EQ(1, observer.CountAndReset()); // two resizes |
280 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); | 280 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); |
281 EXPECT_EQ("0,400 200x200", GetSecondaryDisplay().bounds().ToString()); | 281 EXPECT_EQ("0,400 200x200", GetSecondaryDisplay().bounds().ToString()); |
282 if (!ash::Shell::IsLauncherPerDisplayEnabled()) | |
283 EXPECT_EQ("5,405 190x190", GetSecondaryDisplay().work_area().ToString()); | |
284 | 282 |
285 UpdateDisplay("400x400,300x300"); | 283 UpdateDisplay("400x400,300x300"); |
286 EXPECT_EQ(1, observer.CountAndReset()); | 284 EXPECT_EQ(1, observer.CountAndReset()); |
287 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); | 285 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); |
288 EXPECT_EQ("0,400 300x300", GetSecondaryDisplay().bounds().ToString()); | 286 EXPECT_EQ("0,400 300x300", GetSecondaryDisplay().bounds().ToString()); |
289 if (!ash::Shell::IsLauncherPerDisplayEnabled()) | |
290 EXPECT_EQ("5,405 290x290", GetSecondaryDisplay().work_area().ToString()); | |
291 | 287 |
292 UpdateDisplay("400x400"); | 288 UpdateDisplay("400x400"); |
293 EXPECT_EQ(1, observer.CountAndReset()); | 289 EXPECT_EQ(1, observer.CountAndReset()); |
294 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); | 290 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); |
295 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays()); | 291 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays()); |
296 | 292 |
297 UpdateDisplay("400x500*2,300x300"); | 293 UpdateDisplay("400x500*2,300x300"); |
298 EXPECT_EQ(1, observer.CountAndReset()); | 294 EXPECT_EQ(1, observer.CountAndReset()); |
299 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); | 295 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); |
300 EXPECT_EQ("0,0 200x250", GetPrimaryDisplay().bounds().ToString()); | 296 EXPECT_EQ("0,0 200x250", GetPrimaryDisplay().bounds().ToString()); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 EXPECT_FALSE(secondary_root->Contains(launcher_window)); | 401 EXPECT_FALSE(secondary_root->Contains(launcher_window)); |
406 EXPECT_EQ(primary_display.id(), | 402 EXPECT_EQ(primary_display.id(), |
407 Shell::GetScreen()->GetDisplayNearestPoint( | 403 Shell::GetScreen()->GetDisplayNearestPoint( |
408 gfx::Point(-100, -100)).id()); | 404 gfx::Point(-100, -100)).id()); |
409 EXPECT_EQ(primary_display.id(), | 405 EXPECT_EQ(primary_display.id(), |
410 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); | 406 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); |
411 | 407 |
412 EXPECT_EQ("0,0 200x200", primary_display.bounds().ToString()); | 408 EXPECT_EQ("0,0 200x200", primary_display.bounds().ToString()); |
413 EXPECT_EQ("0,0 200x152", primary_display.work_area().ToString()); | 409 EXPECT_EQ("0,0 200x152", primary_display.work_area().ToString()); |
414 EXPECT_EQ("200,0 300x300", secondary_display.bounds().ToString()); | 410 EXPECT_EQ("200,0 300x300", secondary_display.bounds().ToString()); |
415 if (ash::Shell::IsLauncherPerDisplayEnabled()) | 411 EXPECT_EQ("200,0 300x252", secondary_display.work_area().ToString()); |
416 EXPECT_EQ("200,0 300x252", secondary_display.work_area().ToString()); | |
417 else | |
418 EXPECT_EQ("200,0 300x300", secondary_display.work_area().ToString()); | |
419 EXPECT_EQ("right, 50", | 412 EXPECT_EQ("right, 50", |
420 display_controller->GetCurrentDisplayLayout().ToString()); | 413 display_controller->GetCurrentDisplayLayout().ToString()); |
421 | 414 |
422 // Switch primary and secondary | 415 // Switch primary and secondary |
423 display_controller->SetPrimaryDisplay(secondary_display); | 416 display_controller->SetPrimaryDisplay(secondary_display); |
424 const DisplayLayout& inverted_layout = | 417 const DisplayLayout& inverted_layout = |
425 display_controller->GetCurrentDisplayLayout(); | 418 display_controller->GetCurrentDisplayLayout(); |
426 EXPECT_EQ("left, -50", inverted_layout.ToString()); | 419 EXPECT_EQ("left, -50", inverted_layout.ToString()); |
427 | 420 |
428 EXPECT_EQ(secondary_display.id(), | 421 EXPECT_EQ(secondary_display.id(), |
(...skipping 14 matching lines...) Expand all Loading... |
443 EXPECT_TRUE(primary_root->Contains(launcher_window)); | 436 EXPECT_TRUE(primary_root->Contains(launcher_window)); |
444 EXPECT_FALSE(secondary_root->Contains(launcher_window)); | 437 EXPECT_FALSE(secondary_root->Contains(launcher_window)); |
445 | 438 |
446 // Test if the bounds are correctly swapped. | 439 // Test if the bounds are correctly swapped. |
447 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); | 440 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); |
448 gfx::Display swapped_secondary = ScreenAsh::GetSecondaryDisplay(); | 441 gfx::Display swapped_secondary = ScreenAsh::GetSecondaryDisplay(); |
449 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); | 442 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); |
450 EXPECT_EQ("0,0 300x252", swapped_primary.work_area().ToString()); | 443 EXPECT_EQ("0,0 300x252", swapped_primary.work_area().ToString()); |
451 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); | 444 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); |
452 | 445 |
453 if (ash::Shell::IsLauncherPerDisplayEnabled()) | 446 EXPECT_EQ("-200,-50 200x152", swapped_secondary.work_area().ToString()); |
454 EXPECT_EQ("-200,-50 200x152", swapped_secondary.work_area().ToString()); | |
455 else | |
456 EXPECT_EQ("-200,-50 200x200", swapped_secondary.work_area().ToString()); | |
457 | 447 |
458 aura::WindowTracker tracker; | 448 aura::WindowTracker tracker; |
459 tracker.Add(primary_root); | 449 tracker.Add(primary_root); |
460 tracker.Add(secondary_root); | 450 tracker.Add(secondary_root); |
461 | 451 |
462 // Deleting 2nd display should move the primary to original primary display. | 452 // Deleting 2nd display should move the primary to original primary display. |
463 UpdateDisplay("200x200"); | 453 UpdateDisplay("200x200"); |
464 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task. | 454 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task. |
465 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays()); | 455 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays()); |
466 EXPECT_EQ(primary_display.id(), Shell::GetScreen()->GetPrimaryDisplay().id()); | 456 EXPECT_EQ(primary_display.id(), Shell::GetScreen()->GetPrimaryDisplay().id()); |
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
932 generator.MoveMouseToInHost(599, 399); | 922 generator.MoveMouseToInHost(599, 399); |
933 EXPECT_EQ("0,449", event_handler.GetLocationAndReset()); | 923 EXPECT_EQ("0,449", event_handler.GetLocationAndReset()); |
934 generator.MoveMouseToInHost(0, 399); | 924 generator.MoveMouseToInHost(0, 399); |
935 EXPECT_EQ("0,0", event_handler.GetLocationAndReset()); | 925 EXPECT_EQ("0,0", event_handler.GetLocationAndReset()); |
936 | 926 |
937 Shell::GetInstance()->RemovePreTargetHandler(&event_handler); | 927 Shell::GetInstance()->RemovePreTargetHandler(&event_handler); |
938 } | 928 } |
939 | 929 |
940 } // namespace test | 930 } // namespace test |
941 } // namespace ash | 931 } // namespace ash |
OLD | NEW |