| 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/ash_switches.h" | 7 #include "ash/ash_switches.h" |
| 8 #include "ash/display/display_info.h" | 8 #include "ash/display/display_info.h" |
| 9 #include "ash/display/display_layout_store.h" | 9 #include "ash/display/display_layout_store.h" |
| 10 #include "ash/display/display_manager.h" | 10 #include "ash/display/display_manager.h" |
| 11 #include "ash/screen_ash.h" | 11 #include "ash/screen_util.h" |
| 12 #include "ash/shelf/shelf.h" | 12 #include "ash/shelf/shelf.h" |
| 13 #include "ash/shelf/shelf_widget.h" | 13 #include "ash/shelf/shelf_widget.h" |
| 14 #include "ash/shell.h" | 14 #include "ash/shell.h" |
| 15 #include "ash/test/ash_test_base.h" | 15 #include "ash/test/ash_test_base.h" |
| 16 #include "ash/test/cursor_manager_test_api.h" | 16 #include "ash/test/cursor_manager_test_api.h" |
| 17 #include "ash/test/display_manager_test_api.h" | 17 #include "ash/test/display_manager_test_api.h" |
| 18 #include "ash/wm/window_state.h" | 18 #include "ash/wm/window_state.h" |
| 19 #include "base/command_line.h" | 19 #include "base/command_line.h" |
| 20 #include "ui/aura/client/activation_change_observer.h" | 20 #include "ui/aura/client/activation_change_observer.h" |
| 21 #include "ui/aura/client/activation_client.h" | 21 #include "ui/aura/client/activation_client.h" |
| (...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithId(1)); | 317 scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithId(1)); |
| 318 w1->Focus(); | 318 w1->Focus(); |
| 319 | 319 |
| 320 TestObserver observer; | 320 TestObserver observer; |
| 321 UpdateDisplay("500x500,400x400"); | 321 UpdateDisplay("500x500,400x400"); |
| 322 EXPECT_EQ(1, observer.CountAndReset()); // resize and add | 322 EXPECT_EQ(1, observer.CountAndReset()); // resize and add |
| 323 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); | 323 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); |
| 324 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); | 324 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); |
| 325 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); | 325 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); |
| 326 gfx::Insets insets(5, 5, 5, 5); | 326 gfx::Insets insets(5, 5, 5, 5); |
| 327 int64 secondary_display_id = ScreenAsh::GetSecondaryDisplay().id(); | 327 int64 secondary_display_id = ScreenUtil::GetSecondaryDisplay().id(); |
| 328 Shell::GetInstance()->display_manager()->UpdateWorkAreaOfDisplay( | 328 Shell::GetInstance()->display_manager()->UpdateWorkAreaOfDisplay( |
| 329 secondary_display_id, insets); | 329 secondary_display_id, insets); |
| 330 | 330 |
| 331 // Default layout is RIGHT. | 331 // Default layout is RIGHT. |
| 332 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); | 332 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); |
| 333 EXPECT_EQ("500,0 400x400", GetSecondaryDisplay().bounds().ToString()); | 333 EXPECT_EQ("500,0 400x400", GetSecondaryDisplay().bounds().ToString()); |
| 334 EXPECT_EQ("505,5 390x390", GetSecondaryDisplay().work_area().ToString()); | 334 EXPECT_EQ("505,5 390x390", GetSecondaryDisplay().work_area().ToString()); |
| 335 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); | 335 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); |
| 336 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); | 336 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); |
| 337 | 337 |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 SetDefaultDisplayLayout(DisplayLayout::BOTTOM); | 513 SetDefaultDisplayLayout(DisplayLayout::BOTTOM); |
| 514 UpdateDisplay("200x200,300x300"); // layout, resize and add. | 514 UpdateDisplay("200x200,300x300"); // layout, resize and add. |
| 515 EXPECT_EQ(1, observer.CountAndReset()); | 515 EXPECT_EQ(1, observer.CountAndReset()); |
| 516 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); | 516 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); |
| 517 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); | 517 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); |
| 518 | 518 |
| 519 internal::DisplayManager* display_manager = | 519 internal::DisplayManager* display_manager = |
| 520 Shell::GetInstance()->display_manager(); | 520 Shell::GetInstance()->display_manager(); |
| 521 gfx::Insets insets(5, 5, 5, 5); | 521 gfx::Insets insets(5, 5, 5, 5); |
| 522 display_manager->UpdateWorkAreaOfDisplay( | 522 display_manager->UpdateWorkAreaOfDisplay( |
| 523 ScreenAsh::GetSecondaryDisplay().id(), insets); | 523 ScreenUtil::GetSecondaryDisplay().id(), insets); |
| 524 | 524 |
| 525 EXPECT_EQ("0,0 200x200", GetPrimaryDisplay().bounds().ToString()); | 525 EXPECT_EQ("0,0 200x200", GetPrimaryDisplay().bounds().ToString()); |
| 526 EXPECT_EQ("0,200 300x300", GetSecondaryDisplay().bounds().ToString()); | 526 EXPECT_EQ("0,200 300x300", GetSecondaryDisplay().bounds().ToString()); |
| 527 EXPECT_EQ("5,205 290x290", GetSecondaryDisplay().work_area().ToString()); | 527 EXPECT_EQ("5,205 290x290", GetSecondaryDisplay().work_area().ToString()); |
| 528 | 528 |
| 529 UpdateDisplay("400x400,200x200"); | 529 UpdateDisplay("400x400,200x200"); |
| 530 EXPECT_EQ(1, observer.CountAndReset()); // two resizes | 530 EXPECT_EQ(1, observer.CountAndReset()); // two resizes |
| 531 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); | 531 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); |
| 532 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); | 532 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); |
| 533 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); | 533 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 if (!SupportsMultipleDisplays()) | 597 if (!SupportsMultipleDisplays()) |
| 598 return; | 598 return; |
| 599 | 599 |
| 600 DisplayController* display_controller = | 600 DisplayController* display_controller = |
| 601 Shell::GetInstance()->display_controller(); | 601 Shell::GetInstance()->display_controller(); |
| 602 internal::DisplayManager* display_manager = | 602 internal::DisplayManager* display_manager = |
| 603 Shell::GetInstance()->display_manager(); | 603 Shell::GetInstance()->display_manager(); |
| 604 | 604 |
| 605 UpdateDisplay("200x200,300x300"); | 605 UpdateDisplay("200x200,300x300"); |
| 606 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); | 606 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); |
| 607 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); | 607 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); |
| 608 | 608 |
| 609 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); | 609 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); |
| 610 display_manager->SetLayoutForCurrentDisplays(display_layout); | 610 display_manager->SetLayoutForCurrentDisplays(display_layout); |
| 611 | 611 |
| 612 EXPECT_NE(primary_display.id(), secondary_display.id()); | 612 EXPECT_NE(primary_display.id(), secondary_display.id()); |
| 613 aura::Window* primary_root = | 613 aura::Window* primary_root = |
| 614 display_controller->GetRootWindowForDisplayId(primary_display.id()); | 614 display_controller->GetRootWindowForDisplayId(primary_display.id()); |
| 615 aura::Window* secondary_root = | 615 aura::Window* secondary_root = |
| 616 display_controller->GetRootWindowForDisplayId(secondary_display.id()); | 616 display_controller->GetRootWindowForDisplayId(secondary_display.id()); |
| 617 EXPECT_NE(primary_root, secondary_root); | 617 EXPECT_NE(primary_root, secondary_root); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 633 display_manager->GetCurrentDisplayLayout().ToString()); | 633 display_manager->GetCurrentDisplayLayout().ToString()); |
| 634 | 634 |
| 635 // Switch primary and secondary | 635 // Switch primary and secondary |
| 636 display_controller->SetPrimaryDisplay(secondary_display); | 636 display_controller->SetPrimaryDisplay(secondary_display); |
| 637 const DisplayLayout& inverted_layout = | 637 const DisplayLayout& inverted_layout = |
| 638 display_manager->GetCurrentDisplayLayout(); | 638 display_manager->GetCurrentDisplayLayout(); |
| 639 EXPECT_EQ("left, -50", inverted_layout.ToString()); | 639 EXPECT_EQ("left, -50", inverted_layout.ToString()); |
| 640 | 640 |
| 641 EXPECT_EQ(secondary_display.id(), | 641 EXPECT_EQ(secondary_display.id(), |
| 642 Shell::GetScreen()->GetPrimaryDisplay().id()); | 642 Shell::GetScreen()->GetPrimaryDisplay().id()); |
| 643 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); | 643 EXPECT_EQ(primary_display.id(), ScreenUtil::GetSecondaryDisplay().id()); |
| 644 EXPECT_EQ(primary_display.id(), | 644 EXPECT_EQ(primary_display.id(), |
| 645 Shell::GetScreen()->GetDisplayNearestPoint( | 645 Shell::GetScreen()->GetDisplayNearestPoint( |
| 646 gfx::Point(-100, -100)).id()); | 646 gfx::Point(-100, -100)).id()); |
| 647 EXPECT_EQ(secondary_display.id(), | 647 EXPECT_EQ(secondary_display.id(), |
| 648 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); | 648 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); |
| 649 | 649 |
| 650 EXPECT_EQ( | 650 EXPECT_EQ( |
| 651 primary_root, | 651 primary_root, |
| 652 display_controller->GetRootWindowForDisplayId(secondary_display.id())); | 652 display_controller->GetRootWindowForDisplayId(secondary_display.id())); |
| 653 EXPECT_EQ( | 653 EXPECT_EQ( |
| 654 secondary_root, | 654 secondary_root, |
| 655 display_controller->GetRootWindowForDisplayId(primary_display.id())); | 655 display_controller->GetRootWindowForDisplayId(primary_display.id())); |
| 656 EXPECT_TRUE(primary_root->Contains(shelf_window)); | 656 EXPECT_TRUE(primary_root->Contains(shelf_window)); |
| 657 EXPECT_FALSE(secondary_root->Contains(shelf_window)); | 657 EXPECT_FALSE(secondary_root->Contains(shelf_window)); |
| 658 | 658 |
| 659 // Test if the bounds are correctly swapped. | 659 // Test if the bounds are correctly swapped. |
| 660 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); | 660 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); |
| 661 gfx::Display swapped_secondary = ScreenAsh::GetSecondaryDisplay(); | 661 gfx::Display swapped_secondary = ScreenUtil::GetSecondaryDisplay(); |
| 662 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); | 662 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); |
| 663 EXPECT_EQ("0,0 300x253", swapped_primary.work_area().ToString()); | 663 EXPECT_EQ("0,0 300x253", swapped_primary.work_area().ToString()); |
| 664 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); | 664 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); |
| 665 | 665 |
| 666 EXPECT_EQ("-200,-50 200x153", swapped_secondary.work_area().ToString()); | 666 EXPECT_EQ("-200,-50 200x153", swapped_secondary.work_area().ToString()); |
| 667 | 667 |
| 668 aura::WindowTracker tracker; | 668 aura::WindowTracker tracker; |
| 669 tracker.Add(primary_root); | 669 tracker.Add(primary_root); |
| 670 tracker.Add(secondary_root); | 670 tracker.Add(secondary_root); |
| 671 | 671 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 691 DisplayController* display_controller = | 691 DisplayController* display_controller = |
| 692 Shell::GetInstance()->display_controller(); | 692 Shell::GetInstance()->display_controller(); |
| 693 internal::DisplayManager* display_manager = | 693 internal::DisplayManager* display_manager = |
| 694 Shell::GetInstance()->display_manager(); | 694 Shell::GetInstance()->display_manager(); |
| 695 | 695 |
| 696 UpdateDisplay("200x200,300x300"); | 696 UpdateDisplay("200x200,300x300"); |
| 697 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); | 697 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); |
| 698 display_manager->SetLayoutForCurrentDisplays(display_layout); | 698 display_manager->SetLayoutForCurrentDisplays(display_layout); |
| 699 | 699 |
| 700 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); | 700 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); |
| 701 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); | 701 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); |
| 702 EXPECT_NE(primary_display.id(), secondary_display.id()); | 702 EXPECT_NE(primary_display.id(), secondary_display.id()); |
| 703 aura::Window* primary_root = | 703 aura::Window* primary_root = |
| 704 display_controller->GetRootWindowForDisplayId(primary_display.id()); | 704 display_controller->GetRootWindowForDisplayId(primary_display.id()); |
| 705 aura::Window* secondary_root = | 705 aura::Window* secondary_root = |
| 706 display_controller->GetRootWindowForDisplayId(secondary_display.id()); | 706 display_controller->GetRootWindowForDisplayId(secondary_display.id()); |
| 707 EXPECT_NE(primary_root, secondary_root); | 707 EXPECT_NE(primary_root, secondary_root); |
| 708 | 708 |
| 709 // Test that points outside of any display return the nearest display. | 709 // Test that points outside of any display return the nearest display. |
| 710 EXPECT_EQ(primary_display.id(), Shell::GetScreen()->GetDisplayNearestPoint( | 710 EXPECT_EQ(primary_display.id(), Shell::GetScreen()->GetDisplayNearestPoint( |
| 711 gfx::Point(-100, 0)).id()); | 711 gfx::Point(-100, 0)).id()); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 734 CommandLine::ForCurrentProcess()->AppendSwitch( | 734 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 735 ash::switches::kAshDisableAlternateShelfLayout); | 735 ash::switches::kAshDisableAlternateShelfLayout); |
| 736 | 736 |
| 737 DisplayController* display_controller = | 737 DisplayController* display_controller = |
| 738 Shell::GetInstance()->display_controller(); | 738 Shell::GetInstance()->display_controller(); |
| 739 internal::DisplayManager* display_manager = | 739 internal::DisplayManager* display_manager = |
| 740 Shell::GetInstance()->display_manager(); | 740 Shell::GetInstance()->display_manager(); |
| 741 | 741 |
| 742 UpdateDisplay("200x200,300x300"); | 742 UpdateDisplay("200x200,300x300"); |
| 743 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); | 743 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); |
| 744 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); | 744 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); |
| 745 | 745 |
| 746 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); | 746 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); |
| 747 display_manager->SetLayoutForCurrentDisplays(display_layout); | 747 display_manager->SetLayoutForCurrentDisplays(display_layout); |
| 748 | 748 |
| 749 EXPECT_NE(primary_display.id(), secondary_display.id()); | 749 EXPECT_NE(primary_display.id(), secondary_display.id()); |
| 750 aura::Window* primary_root = | 750 aura::Window* primary_root = |
| 751 display_controller->GetRootWindowForDisplayId(primary_display.id()); | 751 display_controller->GetRootWindowForDisplayId(primary_display.id()); |
| 752 aura::Window* secondary_root = | 752 aura::Window* secondary_root = |
| 753 display_controller->GetRootWindowForDisplayId(secondary_display.id()); | 753 display_controller->GetRootWindowForDisplayId(secondary_display.id()); |
| 754 EXPECT_NE(primary_root, secondary_root); | 754 EXPECT_NE(primary_root, secondary_root); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 770 display_manager->GetCurrentDisplayLayout().ToString()); | 770 display_manager->GetCurrentDisplayLayout().ToString()); |
| 771 | 771 |
| 772 // Switch primary and secondary | 772 // Switch primary and secondary |
| 773 display_controller->SetPrimaryDisplay(secondary_display); | 773 display_controller->SetPrimaryDisplay(secondary_display); |
| 774 const DisplayLayout& inverted_layout = | 774 const DisplayLayout& inverted_layout = |
| 775 display_manager->GetCurrentDisplayLayout(); | 775 display_manager->GetCurrentDisplayLayout(); |
| 776 EXPECT_EQ("left, -50", inverted_layout.ToString()); | 776 EXPECT_EQ("left, -50", inverted_layout.ToString()); |
| 777 | 777 |
| 778 EXPECT_EQ(secondary_display.id(), | 778 EXPECT_EQ(secondary_display.id(), |
| 779 Shell::GetScreen()->GetPrimaryDisplay().id()); | 779 Shell::GetScreen()->GetPrimaryDisplay().id()); |
| 780 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); | 780 EXPECT_EQ(primary_display.id(), ScreenUtil::GetSecondaryDisplay().id()); |
| 781 EXPECT_EQ(primary_display.id(), | 781 EXPECT_EQ(primary_display.id(), |
| 782 Shell::GetScreen()->GetDisplayNearestPoint( | 782 Shell::GetScreen()->GetDisplayNearestPoint( |
| 783 gfx::Point(-100, -100)).id()); | 783 gfx::Point(-100, -100)).id()); |
| 784 EXPECT_EQ(secondary_display.id(), | 784 EXPECT_EQ(secondary_display.id(), |
| 785 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); | 785 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); |
| 786 | 786 |
| 787 EXPECT_EQ( | 787 EXPECT_EQ( |
| 788 primary_root, | 788 primary_root, |
| 789 display_controller->GetRootWindowForDisplayId(secondary_display.id())); | 789 display_controller->GetRootWindowForDisplayId(secondary_display.id())); |
| 790 EXPECT_EQ( | 790 EXPECT_EQ( |
| 791 secondary_root, | 791 secondary_root, |
| 792 display_controller->GetRootWindowForDisplayId(primary_display.id())); | 792 display_controller->GetRootWindowForDisplayId(primary_display.id())); |
| 793 EXPECT_TRUE(primary_root->Contains(shelf_window)); | 793 EXPECT_TRUE(primary_root->Contains(shelf_window)); |
| 794 EXPECT_FALSE(secondary_root->Contains(shelf_window)); | 794 EXPECT_FALSE(secondary_root->Contains(shelf_window)); |
| 795 | 795 |
| 796 // Test if the bounds are correctly swapped. | 796 // Test if the bounds are correctly swapped. |
| 797 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); | 797 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); |
| 798 gfx::Display swapped_secondary = ScreenAsh::GetSecondaryDisplay(); | 798 gfx::Display swapped_secondary = ScreenUtil::GetSecondaryDisplay(); |
| 799 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); | 799 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); |
| 800 EXPECT_EQ("0,0 300x252", swapped_primary.work_area().ToString()); | 800 EXPECT_EQ("0,0 300x252", swapped_primary.work_area().ToString()); |
| 801 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); | 801 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); |
| 802 | 802 |
| 803 EXPECT_EQ("-200,-50 200x152", swapped_secondary.work_area().ToString()); | 803 EXPECT_EQ("-200,-50 200x152", swapped_secondary.work_area().ToString()); |
| 804 | 804 |
| 805 aura::WindowTracker tracker; | 805 aura::WindowTracker tracker; |
| 806 tracker.Add(primary_root); | 806 tracker.Add(primary_root); |
| 807 tracker.Add(secondary_root); | 807 tracker.Add(secondary_root); |
| 808 | 808 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 825 if (!SupportsMultipleDisplays()) | 825 if (!SupportsMultipleDisplays()) |
| 826 return; | 826 return; |
| 827 | 827 |
| 828 DisplayController* display_controller = | 828 DisplayController* display_controller = |
| 829 Shell::GetInstance()->display_controller(); | 829 Shell::GetInstance()->display_controller(); |
| 830 internal::DisplayManager* display_manager = | 830 internal::DisplayManager* display_manager = |
| 831 Shell::GetInstance()->display_manager(); | 831 Shell::GetInstance()->display_manager(); |
| 832 | 832 |
| 833 UpdateDisplay("200x200,300x300"); | 833 UpdateDisplay("200x200,300x300"); |
| 834 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); | 834 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); |
| 835 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); | 835 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); |
| 836 | 836 |
| 837 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); | 837 DisplayLayout display_layout(DisplayLayout::RIGHT, 50); |
| 838 display_manager->SetLayoutForCurrentDisplays(display_layout); | 838 display_manager->SetLayoutForCurrentDisplays(display_layout); |
| 839 | 839 |
| 840 EXPECT_NE(primary_display.id(), secondary_display.id()); | 840 EXPECT_NE(primary_display.id(), secondary_display.id()); |
| 841 aura::Window* primary_root = | 841 aura::Window* primary_root = |
| 842 display_controller->GetRootWindowForDisplayId(primary_display.id()); | 842 display_controller->GetRootWindowForDisplayId(primary_display.id()); |
| 843 aura::Window* secondary_root = | 843 aura::Window* secondary_root = |
| 844 display_controller->GetRootWindowForDisplayId(secondary_display.id()); | 844 display_controller->GetRootWindowForDisplayId(secondary_display.id()); |
| 845 aura::Window* shelf_window = | 845 aura::Window* shelf_window = |
| 846 Shelf::ForPrimaryDisplay()->shelf_widget()->GetNativeView(); | 846 Shelf::ForPrimaryDisplay()->shelf_widget()->GetNativeView(); |
| 847 EXPECT_TRUE(primary_root->Contains(shelf_window)); | 847 EXPECT_TRUE(primary_root->Contains(shelf_window)); |
| 848 EXPECT_FALSE(secondary_root->Contains(shelf_window)); | 848 EXPECT_FALSE(secondary_root->Contains(shelf_window)); |
| 849 EXPECT_NE(primary_root, secondary_root); | 849 EXPECT_NE(primary_root, secondary_root); |
| 850 EXPECT_EQ(primary_display.id(), | 850 EXPECT_EQ(primary_display.id(), |
| 851 Shell::GetScreen()->GetDisplayNearestPoint( | 851 Shell::GetScreen()->GetDisplayNearestPoint( |
| 852 gfx::Point(-100, -100)).id()); | 852 gfx::Point(-100, -100)).id()); |
| 853 EXPECT_EQ(primary_display.id(), | 853 EXPECT_EQ(primary_display.id(), |
| 854 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); | 854 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); |
| 855 | 855 |
| 856 // Switch primary and secondary by display ID. | 856 // Switch primary and secondary by display ID. |
| 857 TestObserver observer; | 857 TestObserver observer; |
| 858 display_controller->SetPrimaryDisplayId(secondary_display.id()); | 858 display_controller->SetPrimaryDisplayId(secondary_display.id()); |
| 859 EXPECT_EQ(secondary_display.id(), | 859 EXPECT_EQ(secondary_display.id(), |
| 860 Shell::GetScreen()->GetPrimaryDisplay().id()); | 860 Shell::GetScreen()->GetPrimaryDisplay().id()); |
| 861 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); | 861 EXPECT_EQ(primary_display.id(), ScreenUtil::GetSecondaryDisplay().id()); |
| 862 EXPECT_LT(0, observer.CountAndReset()); | 862 EXPECT_LT(0, observer.CountAndReset()); |
| 863 | 863 |
| 864 EXPECT_EQ( | 864 EXPECT_EQ( |
| 865 primary_root, | 865 primary_root, |
| 866 display_controller->GetRootWindowForDisplayId(secondary_display.id())); | 866 display_controller->GetRootWindowForDisplayId(secondary_display.id())); |
| 867 EXPECT_EQ( | 867 EXPECT_EQ( |
| 868 secondary_root, | 868 secondary_root, |
| 869 display_controller->GetRootWindowForDisplayId(primary_display.id())); | 869 display_controller->GetRootWindowForDisplayId(primary_display.id())); |
| 870 EXPECT_TRUE(primary_root->Contains(shelf_window)); | 870 EXPECT_TRUE(primary_root->Contains(shelf_window)); |
| 871 EXPECT_FALSE(secondary_root->Contains(shelf_window)); | 871 EXPECT_FALSE(secondary_root->Contains(shelf_window)); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 902 std::vector<internal::DisplayInfo> display_info_list; | 902 std::vector<internal::DisplayInfo> display_info_list; |
| 903 display_info_list.push_back( | 903 display_info_list.push_back( |
| 904 display_manager->GetDisplayInfo(primary_display.id())); | 904 display_manager->GetDisplayInfo(primary_display.id())); |
| 905 display_info_list.push_back( | 905 display_info_list.push_back( |
| 906 display_manager->GetDisplayInfo(secondary_display.id())); | 906 display_manager->GetDisplayInfo(secondary_display.id())); |
| 907 display_manager->OnNativeDisplaysChanged(display_info_list); | 907 display_manager->OnNativeDisplaysChanged(display_info_list); |
| 908 | 908 |
| 909 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays()); | 909 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays()); |
| 910 EXPECT_EQ(secondary_display.id(), | 910 EXPECT_EQ(secondary_display.id(), |
| 911 Shell::GetScreen()->GetPrimaryDisplay().id()); | 911 Shell::GetScreen()->GetPrimaryDisplay().id()); |
| 912 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); | 912 EXPECT_EQ(primary_display.id(), ScreenUtil::GetSecondaryDisplay().id()); |
| 913 EXPECT_EQ( | 913 EXPECT_EQ( |
| 914 primary_root, | 914 primary_root, |
| 915 display_controller->GetRootWindowForDisplayId(secondary_display.id())); | 915 display_controller->GetRootWindowForDisplayId(secondary_display.id())); |
| 916 EXPECT_NE( | 916 EXPECT_NE( |
| 917 primary_root, | 917 primary_root, |
| 918 display_controller->GetRootWindowForDisplayId(primary_display.id())); | 918 display_controller->GetRootWindowForDisplayId(primary_display.id())); |
| 919 EXPECT_TRUE(primary_root->Contains(shelf_window)); | 919 EXPECT_TRUE(primary_root->Contains(shelf_window)); |
| 920 | 920 |
| 921 // Deleting 2nd display and adding 2nd display with a different ID. The 2nd | 921 // Deleting 2nd display and adding 2nd display with a different ID. The 2nd |
| 922 // display shouldn't become primary. | 922 // display shouldn't become primary. |
| 923 UpdateDisplay("200x200"); | 923 UpdateDisplay("200x200"); |
| 924 internal::DisplayInfo third_display_info( | 924 internal::DisplayInfo third_display_info( |
| 925 secondary_display.id() + 1, std::string(), false); | 925 secondary_display.id() + 1, std::string(), false); |
| 926 third_display_info.SetBounds(secondary_display.bounds()); | 926 third_display_info.SetBounds(secondary_display.bounds()); |
| 927 ASSERT_NE(primary_display.id(), third_display_info.id()); | 927 ASSERT_NE(primary_display.id(), third_display_info.id()); |
| 928 | 928 |
| 929 const internal::DisplayInfo& primary_display_info = | 929 const internal::DisplayInfo& primary_display_info = |
| 930 display_manager->GetDisplayInfo(primary_display.id()); | 930 display_manager->GetDisplayInfo(primary_display.id()); |
| 931 std::vector<internal::DisplayInfo> display_info_list2; | 931 std::vector<internal::DisplayInfo> display_info_list2; |
| 932 display_info_list2.push_back(primary_display_info); | 932 display_info_list2.push_back(primary_display_info); |
| 933 display_info_list2.push_back(third_display_info); | 933 display_info_list2.push_back(third_display_info); |
| 934 display_manager->OnNativeDisplaysChanged(display_info_list2); | 934 display_manager->OnNativeDisplaysChanged(display_info_list2); |
| 935 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays()); | 935 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays()); |
| 936 EXPECT_EQ(primary_display.id(), | 936 EXPECT_EQ(primary_display.id(), |
| 937 Shell::GetScreen()->GetPrimaryDisplay().id()); | 937 Shell::GetScreen()->GetPrimaryDisplay().id()); |
| 938 EXPECT_EQ(third_display_info.id(), ScreenAsh::GetSecondaryDisplay().id()); | 938 EXPECT_EQ(third_display_info.id(), ScreenUtil::GetSecondaryDisplay().id()); |
| 939 EXPECT_EQ( | 939 EXPECT_EQ( |
| 940 primary_root, | 940 primary_root, |
| 941 display_controller->GetRootWindowForDisplayId(primary_display.id())); | 941 display_controller->GetRootWindowForDisplayId(primary_display.id())); |
| 942 EXPECT_NE( | 942 EXPECT_NE( |
| 943 primary_root, | 943 primary_root, |
| 944 display_controller->GetRootWindowForDisplayId(third_display_info.id())); | 944 display_controller->GetRootWindowForDisplayId(third_display_info.id())); |
| 945 EXPECT_TRUE(primary_root->Contains(shelf_window)); | 945 EXPECT_TRUE(primary_root->Contains(shelf_window)); |
| 946 } | 946 } |
| 947 | 947 |
| 948 TEST_F(DisplayControllerTest, CursorDeviceScaleFactorSwapPrimary) { | 948 TEST_F(DisplayControllerTest, CursorDeviceScaleFactorSwapPrimary) { |
| 949 if (!SupportsMultipleDisplays()) | 949 if (!SupportsMultipleDisplays()) |
| 950 return; | 950 return; |
| 951 | 951 |
| 952 DisplayController* display_controller = | 952 DisplayController* display_controller = |
| 953 Shell::GetInstance()->display_controller(); | 953 Shell::GetInstance()->display_controller(); |
| 954 | 954 |
| 955 UpdateDisplay("200x200,200x200*2"); | 955 UpdateDisplay("200x200,200x200*2"); |
| 956 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); | 956 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); |
| 957 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); | 957 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); |
| 958 | 958 |
| 959 aura::Window* primary_root = | 959 aura::Window* primary_root = |
| 960 display_controller->GetRootWindowForDisplayId(primary_display.id()); | 960 display_controller->GetRootWindowForDisplayId(primary_display.id()); |
| 961 aura::Window* secondary_root = | 961 aura::Window* secondary_root = |
| 962 display_controller->GetRootWindowForDisplayId(secondary_display.id()); | 962 display_controller->GetRootWindowForDisplayId(secondary_display.id()); |
| 963 EXPECT_NE(primary_root, secondary_root); | 963 EXPECT_NE(primary_root, secondary_root); |
| 964 | 964 |
| 965 test::CursorManagerTestApi test_api(Shell::GetInstance()->cursor_manager()); | 965 test::CursorManagerTestApi test_api(Shell::GetInstance()->cursor_manager()); |
| 966 | 966 |
| 967 EXPECT_EQ(1.0f, primary_root->GetDispatcher()->host()->compositor()-> | 967 EXPECT_EQ(1.0f, primary_root->GetDispatcher()->host()->compositor()-> |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1011 | 1011 |
| 1012 UpdateDisplay("120x200,300x400*2"); | 1012 UpdateDisplay("120x200,300x400*2"); |
| 1013 gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay(); | 1013 gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay(); |
| 1014 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 1014 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
| 1015 | 1015 |
| 1016 display_controller->SetOverscanInsets(display1.id(), | 1016 display_controller->SetOverscanInsets(display1.id(), |
| 1017 gfx::Insets(10, 15, 20, 25)); | 1017 gfx::Insets(10, 15, 20, 25)); |
| 1018 EXPECT_EQ("0,0 80x170", root_windows[0]->bounds().ToString()); | 1018 EXPECT_EQ("0,0 80x170", root_windows[0]->bounds().ToString()); |
| 1019 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); | 1019 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); |
| 1020 EXPECT_EQ("80,0 150x200", | 1020 EXPECT_EQ("80,0 150x200", |
| 1021 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1021 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1022 | 1022 |
| 1023 aura::test::EventGenerator generator(root_windows[0]); | 1023 aura::test::EventGenerator generator(root_windows[0]); |
| 1024 generator.MoveMouseToInHost(20, 25); | 1024 generator.MoveMouseToInHost(20, 25); |
| 1025 EXPECT_EQ("5,15", event_handler.GetLocationAndReset()); | 1025 EXPECT_EQ("5,15", event_handler.GetLocationAndReset()); |
| 1026 | 1026 |
| 1027 display_controller->SetOverscanInsets(display1.id(), gfx::Insets()); | 1027 display_controller->SetOverscanInsets(display1.id(), gfx::Insets()); |
| 1028 EXPECT_EQ("0,0 120x200", root_windows[0]->bounds().ToString()); | 1028 EXPECT_EQ("0,0 120x200", root_windows[0]->bounds().ToString()); |
| 1029 EXPECT_EQ("120,0 150x200", | 1029 EXPECT_EQ("120,0 150x200", |
| 1030 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1030 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1031 | 1031 |
| 1032 generator.MoveMouseToInHost(30, 20); | 1032 generator.MoveMouseToInHost(30, 20); |
| 1033 EXPECT_EQ("30,20", event_handler.GetLocationAndReset()); | 1033 EXPECT_EQ("30,20", event_handler.GetLocationAndReset()); |
| 1034 | 1034 |
| 1035 // Make sure the root window transformer uses correct scale | 1035 // Make sure the root window transformer uses correct scale |
| 1036 // factor when swapping display. Test crbug.com/253690. | 1036 // factor when swapping display. Test crbug.com/253690. |
| 1037 UpdateDisplay("400x300*2,600x400/o"); | 1037 UpdateDisplay("400x300*2,600x400/o"); |
| 1038 root_windows = Shell::GetAllRootWindows(); | 1038 root_windows = Shell::GetAllRootWindows(); |
| 1039 gfx::Point point; | 1039 gfx::Point point; |
| 1040 Shell::GetAllRootWindows()[1]->GetDispatcher()->host()-> | 1040 Shell::GetAllRootWindows()[1]->GetDispatcher()->host()-> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1054 if (!SupportsMultipleDisplays()) | 1054 if (!SupportsMultipleDisplays()) |
| 1055 return; | 1055 return; |
| 1056 | 1056 |
| 1057 internal::DisplayManager* display_manager = | 1057 internal::DisplayManager* display_manager = |
| 1058 Shell::GetInstance()->display_manager(); | 1058 Shell::GetInstance()->display_manager(); |
| 1059 TestEventHandler event_handler; | 1059 TestEventHandler event_handler; |
| 1060 Shell::GetInstance()->AddPreTargetHandler(&event_handler); | 1060 Shell::GetInstance()->AddPreTargetHandler(&event_handler); |
| 1061 | 1061 |
| 1062 UpdateDisplay("120x200,300x400*2"); | 1062 UpdateDisplay("120x200,300x400*2"); |
| 1063 gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay(); | 1063 gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay(); |
| 1064 int64 display2_id = ScreenAsh::GetSecondaryDisplay().id(); | 1064 int64 display2_id = ScreenUtil::GetSecondaryDisplay().id(); |
| 1065 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 1065 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
| 1066 aura::test::EventGenerator generator1(root_windows[0]); | 1066 aura::test::EventGenerator generator1(root_windows[0]); |
| 1067 | 1067 |
| 1068 EXPECT_EQ("120x200", root_windows[0]->bounds().size().ToString()); | 1068 EXPECT_EQ("120x200", root_windows[0]->bounds().size().ToString()); |
| 1069 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); | 1069 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); |
| 1070 EXPECT_EQ("120,0 150x200", | 1070 EXPECT_EQ("120,0 150x200", |
| 1071 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1071 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1072 generator1.MoveMouseToInHost(50, 40); | 1072 generator1.MoveMouseToInHost(50, 40); |
| 1073 EXPECT_EQ("50,40", event_handler.GetLocationAndReset()); | 1073 EXPECT_EQ("50,40", event_handler.GetLocationAndReset()); |
| 1074 EXPECT_EQ(gfx::Display::ROTATE_0, GetStoredRotation(display1.id())); | 1074 EXPECT_EQ(gfx::Display::ROTATE_0, GetStoredRotation(display1.id())); |
| 1075 EXPECT_EQ(gfx::Display::ROTATE_0, GetStoredRotation(display2_id)); | 1075 EXPECT_EQ(gfx::Display::ROTATE_0, GetStoredRotation(display2_id)); |
| 1076 | 1076 |
| 1077 display_manager->SetDisplayRotation(display1.id(), | 1077 display_manager->SetDisplayRotation(display1.id(), |
| 1078 gfx::Display::ROTATE_90); | 1078 gfx::Display::ROTATE_90); |
| 1079 EXPECT_EQ("200x120", root_windows[0]->bounds().size().ToString()); | 1079 EXPECT_EQ("200x120", root_windows[0]->bounds().size().ToString()); |
| 1080 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); | 1080 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); |
| 1081 EXPECT_EQ("200,0 150x200", | 1081 EXPECT_EQ("200,0 150x200", |
| 1082 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1082 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1083 generator1.MoveMouseToInHost(50, 40); | 1083 generator1.MoveMouseToInHost(50, 40); |
| 1084 EXPECT_EQ("40,69", event_handler.GetLocationAndReset()); | 1084 EXPECT_EQ("40,69", event_handler.GetLocationAndReset()); |
| 1085 EXPECT_EQ(gfx::Display::ROTATE_90, GetStoredRotation(display1.id())); | 1085 EXPECT_EQ(gfx::Display::ROTATE_90, GetStoredRotation(display1.id())); |
| 1086 EXPECT_EQ(gfx::Display::ROTATE_0, GetStoredRotation(display2_id)); | 1086 EXPECT_EQ(gfx::Display::ROTATE_0, GetStoredRotation(display2_id)); |
| 1087 | 1087 |
| 1088 DisplayLayout display_layout(DisplayLayout::BOTTOM, 50); | 1088 DisplayLayout display_layout(DisplayLayout::BOTTOM, 50); |
| 1089 display_manager->SetLayoutForCurrentDisplays(display_layout); | 1089 display_manager->SetLayoutForCurrentDisplays(display_layout); |
| 1090 EXPECT_EQ("50,120 150x200", | 1090 EXPECT_EQ("50,120 150x200", |
| 1091 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1091 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1092 | 1092 |
| 1093 display_manager->SetDisplayRotation(display2_id, | 1093 display_manager->SetDisplayRotation(display2_id, |
| 1094 gfx::Display::ROTATE_270); | 1094 gfx::Display::ROTATE_270); |
| 1095 EXPECT_EQ("200x120", root_windows[0]->bounds().size().ToString()); | 1095 EXPECT_EQ("200x120", root_windows[0]->bounds().size().ToString()); |
| 1096 EXPECT_EQ("200x150", root_windows[1]->bounds().size().ToString()); | 1096 EXPECT_EQ("200x150", root_windows[1]->bounds().size().ToString()); |
| 1097 EXPECT_EQ("50,120 200x150", | 1097 EXPECT_EQ("50,120 200x150", |
| 1098 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1098 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1099 EXPECT_EQ(gfx::Display::ROTATE_90, GetStoredRotation(display1.id())); | 1099 EXPECT_EQ(gfx::Display::ROTATE_90, GetStoredRotation(display1.id())); |
| 1100 EXPECT_EQ(gfx::Display::ROTATE_270, GetStoredRotation(display2_id)); | 1100 EXPECT_EQ(gfx::Display::ROTATE_270, GetStoredRotation(display2_id)); |
| 1101 | 1101 |
| 1102 #if !defined(OS_WIN) | 1102 #if !defined(OS_WIN) |
| 1103 aura::test::EventGenerator generator2(root_windows[1]); | 1103 aura::test::EventGenerator generator2(root_windows[1]); |
| 1104 generator2.MoveMouseToInHost(50, 40); | 1104 generator2.MoveMouseToInHost(50, 40); |
| 1105 EXPECT_EQ("179,25", event_handler.GetLocationAndReset()); | 1105 EXPECT_EQ("179,25", event_handler.GetLocationAndReset()); |
| 1106 display_manager->SetDisplayRotation(display1.id(), | 1106 display_manager->SetDisplayRotation(display1.id(), |
| 1107 gfx::Display::ROTATE_180); | 1107 gfx::Display::ROTATE_180); |
| 1108 | 1108 |
| 1109 EXPECT_EQ("120x200", root_windows[0]->bounds().size().ToString()); | 1109 EXPECT_EQ("120x200", root_windows[0]->bounds().size().ToString()); |
| 1110 EXPECT_EQ("200x150", root_windows[1]->bounds().size().ToString()); | 1110 EXPECT_EQ("200x150", root_windows[1]->bounds().size().ToString()); |
| 1111 // Dislay must share at least 100, so the x's offset becomes 20. | 1111 // Dislay must share at least 100, so the x's offset becomes 20. |
| 1112 EXPECT_EQ("20,200 200x150", | 1112 EXPECT_EQ("20,200 200x150", |
| 1113 ScreenAsh::GetSecondaryDisplay().bounds().ToString()); | 1113 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); |
| 1114 EXPECT_EQ(gfx::Display::ROTATE_180, GetStoredRotation(display1.id())); | 1114 EXPECT_EQ(gfx::Display::ROTATE_180, GetStoredRotation(display1.id())); |
| 1115 EXPECT_EQ(gfx::Display::ROTATE_270, GetStoredRotation(display2_id)); | 1115 EXPECT_EQ(gfx::Display::ROTATE_270, GetStoredRotation(display2_id)); |
| 1116 | 1116 |
| 1117 generator1.MoveMouseToInHost(50, 40); | 1117 generator1.MoveMouseToInHost(50, 40); |
| 1118 EXPECT_EQ("69,159", event_handler.GetLocationAndReset()); | 1118 EXPECT_EQ("69,159", event_handler.GetLocationAndReset()); |
| 1119 #endif | 1119 #endif |
| 1120 | 1120 |
| 1121 Shell::GetInstance()->RemovePreTargetHandler(&event_handler); | 1121 Shell::GetInstance()->RemovePreTargetHandler(&event_handler); |
| 1122 } | 1122 } |
| 1123 | 1123 |
| 1124 TEST_F(DisplayControllerTest, ScaleRootWindow) { | 1124 TEST_F(DisplayControllerTest, ScaleRootWindow) { |
| 1125 if (!SupportsMultipleDisplays()) | 1125 if (!SupportsMultipleDisplays()) |
| 1126 return; | 1126 return; |
| 1127 | 1127 |
| 1128 TestEventHandler event_handler; | 1128 TestEventHandler event_handler; |
| 1129 Shell::GetInstance()->AddPreTargetHandler(&event_handler); | 1129 Shell::GetInstance()->AddPreTargetHandler(&event_handler); |
| 1130 | 1130 |
| 1131 UpdateDisplay("600x400*2@1.5,500x300"); | 1131 UpdateDisplay("600x400*2@1.5,500x300"); |
| 1132 | 1132 |
| 1133 gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay(); | 1133 gfx::Display display1 = Shell::GetScreen()->GetPrimaryDisplay(); |
| 1134 gfx::Display::SetInternalDisplayId(display1.id()); | 1134 gfx::Display::SetInternalDisplayId(display1.id()); |
| 1135 | 1135 |
| 1136 gfx::Display display2 = ScreenAsh::GetSecondaryDisplay(); | 1136 gfx::Display display2 = ScreenUtil::GetSecondaryDisplay(); |
| 1137 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 1137 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
| 1138 EXPECT_EQ("0,0 450x300", display1.bounds().ToString()); | 1138 EXPECT_EQ("0,0 450x300", display1.bounds().ToString()); |
| 1139 EXPECT_EQ("0,0 450x300", root_windows[0]->bounds().ToString()); | 1139 EXPECT_EQ("0,0 450x300", root_windows[0]->bounds().ToString()); |
| 1140 EXPECT_EQ("450,0 500x300", display2.bounds().ToString()); | 1140 EXPECT_EQ("450,0 500x300", display2.bounds().ToString()); |
| 1141 EXPECT_EQ(1.5f, GetStoredUIScale(display1.id())); | 1141 EXPECT_EQ(1.5f, GetStoredUIScale(display1.id())); |
| 1142 EXPECT_EQ(1.0f, GetStoredUIScale(display2.id())); | 1142 EXPECT_EQ(1.0f, GetStoredUIScale(display2.id())); |
| 1143 | 1143 |
| 1144 aura::test::EventGenerator generator(root_windows[0]); | 1144 aura::test::EventGenerator generator(root_windows[0]); |
| 1145 generator.MoveMouseToInHost(599, 200); | 1145 generator.MoveMouseToInHost(599, 200); |
| 1146 EXPECT_EQ("449,150", event_handler.GetLocationAndReset()); | 1146 EXPECT_EQ("449,150", event_handler.GetLocationAndReset()); |
| 1147 | 1147 |
| 1148 internal::DisplayManager* display_manager = | 1148 internal::DisplayManager* display_manager = |
| 1149 Shell::GetInstance()->display_manager(); | 1149 Shell::GetInstance()->display_manager(); |
| 1150 display_manager->SetDisplayUIScale(display1.id(), 1.25f); | 1150 display_manager->SetDisplayUIScale(display1.id(), 1.25f); |
| 1151 display1 = Shell::GetScreen()->GetPrimaryDisplay(); | 1151 display1 = Shell::GetScreen()->GetPrimaryDisplay(); |
| 1152 display2 = ScreenAsh::GetSecondaryDisplay(); | 1152 display2 = ScreenUtil::GetSecondaryDisplay(); |
| 1153 EXPECT_EQ("0,0 375x250", display1.bounds().ToString()); | 1153 EXPECT_EQ("0,0 375x250", display1.bounds().ToString()); |
| 1154 EXPECT_EQ("0,0 375x250", root_windows[0]->bounds().ToString()); | 1154 EXPECT_EQ("0,0 375x250", root_windows[0]->bounds().ToString()); |
| 1155 EXPECT_EQ("375,0 500x300", display2.bounds().ToString()); | 1155 EXPECT_EQ("375,0 500x300", display2.bounds().ToString()); |
| 1156 EXPECT_EQ(1.25f, GetStoredUIScale(display1.id())); | 1156 EXPECT_EQ(1.25f, GetStoredUIScale(display1.id())); |
| 1157 EXPECT_EQ(1.0f, GetStoredUIScale(display2.id())); | 1157 EXPECT_EQ(1.0f, GetStoredUIScale(display2.id())); |
| 1158 | 1158 |
| 1159 Shell::GetInstance()->RemovePreTargetHandler(&event_handler); | 1159 Shell::GetInstance()->RemovePreTargetHandler(&event_handler); |
| 1160 } | 1160 } |
| 1161 | 1161 |
| 1162 TEST_F(DisplayControllerTest, TouchScale) { | 1162 TEST_F(DisplayControllerTest, TouchScale) { |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1328 EXPECT_EQ("aura_root_x", GetXWindowName(secondary->GetDispatcher())); | 1328 EXPECT_EQ("aura_root_x", GetXWindowName(secondary->GetDispatcher())); |
| 1329 | 1329 |
| 1330 // Switching back to single display. | 1330 // Switching back to single display. |
| 1331 UpdateDisplay("300x400"); | 1331 UpdateDisplay("300x400"); |
| 1332 EXPECT_EQ("aura_root_0", GetXWindowName( | 1332 EXPECT_EQ("aura_root_0", GetXWindowName( |
| 1333 Shell::GetPrimaryRootWindow()->GetDispatcher())); | 1333 Shell::GetPrimaryRootWindow()->GetDispatcher())); |
| 1334 } | 1334 } |
| 1335 #endif | 1335 #endif |
| 1336 | 1336 |
| 1337 } // namespace ash | 1337 } // namespace ash |
| OLD | NEW |