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 "ui/display/manager/display_manager.h" | 5 #include "ui/display/manager/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/strings/grit/ash_strings.h" | 9 #include "ash/common/strings/grit/ash_strings.h" |
10 #include "ash/common/wm/window_state.h" | 10 #include "ash/common/wm/window_state.h" |
(...skipping 2652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2663 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); | 2663 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); |
2664 display_manager()->SetDisplayRotation( | 2664 display_manager()->SetDisplayRotation( |
2665 display.id(), display::Display::ROTATE_0, | 2665 display.id(), display::Display::ROTATE_0, |
2666 display::Display::ROTATION_SOURCE_ACTIVE); | 2666 display::Display::ROTATION_SOURCE_ACTIVE); |
2667 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); | 2667 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); |
2668 | 2668 |
2669 UpdateDisplay("400x500"); | 2669 UpdateDisplay("400x500"); |
2670 EXPECT_EQ("400x500", screen->GetPrimaryDisplay().size().ToString()); | 2670 EXPECT_EQ("400x500", screen->GetPrimaryDisplay().size().ToString()); |
2671 } | 2671 } |
2672 | 2672 |
2673 // Makes sure the transition from unified to single won't crash | |
2674 // with docked windows. | |
2675 TEST_F(DisplayManagerTest, UnifiedWithDockWindows) { | |
2676 // Enable window docking for this test. | |
2677 base::CommandLine::ForCurrentProcess()->AppendSwitch( | |
2678 ash::switches::kAshEnableDockedWindows); | |
2679 | |
2680 display_manager()->SetUnifiedDesktopEnabled(true); | |
2681 | |
2682 // Don't check root window destruction in unified mode. | |
2683 Shell::GetPrimaryRootWindow()->RemoveObserver(this); | |
2684 | |
2685 UpdateDisplay("400x500,300x200"); | |
2686 | |
2687 std::unique_ptr<aura::Window> docked( | |
2688 CreateTestWindowInShellWithBounds(gfx::Rect(10, 10, 50, 50))); | |
2689 docked->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_DOCKED); | |
2690 ASSERT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); | |
2691 // 48 pixels reserved for launcher shelf height. | |
2692 EXPECT_EQ(gfx::Rect(0, 0, 250, 452).ToString(), docked->bounds().ToString()); | |
2693 UpdateDisplay("300x300"); | |
2694 // Make sure the window is still docked. | |
2695 EXPECT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); | |
2696 EXPECT_EQ(gfx::Rect(0, 0, 250, 252).ToString(), docked->bounds().ToString()); | |
2697 } | |
2698 | |
2699 TEST_F(DisplayManagerTest, DockMode) { | 2673 TEST_F(DisplayManagerTest, DockMode) { |
2700 const int64_t internal_id = 1; | 2674 const int64_t internal_id = 1; |
2701 const int64_t external_id = 2; | 2675 const int64_t external_id = 2; |
2702 | 2676 |
2703 const display::ManagedDisplayInfo internal_display_info = | 2677 const display::ManagedDisplayInfo internal_display_info = |
2704 CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500)); | 2678 CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500)); |
2705 const display::ManagedDisplayInfo external_display_info = | 2679 const display::ManagedDisplayInfo external_display_info = |
2706 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100)); | 2680 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100)); |
2707 std::vector<display::ManagedDisplayInfo> display_info_list; | 2681 std::vector<display::ManagedDisplayInfo> display_info_list; |
2708 | 2682 |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2947 display::DisplayIdList list = display::test::CreateDisplayIdList2(id1, id2); | 2921 display::DisplayIdList list = display::test::CreateDisplayIdList2(id1, id2); |
2948 layout_store->RegisterLayoutForDisplayIdList(list, std::move(old_layout)); | 2922 layout_store->RegisterLayoutForDisplayIdList(list, std::move(old_layout)); |
2949 const display::DisplayLayout& stored = | 2923 const display::DisplayLayout& stored = |
2950 layout_store->GetRegisteredDisplayLayout(list); | 2924 layout_store->GetRegisteredDisplayLayout(list); |
2951 | 2925 |
2952 EXPECT_EQ(id1, stored.placement_list[0].parent_display_id); | 2926 EXPECT_EQ(id1, stored.placement_list[0].parent_display_id); |
2953 EXPECT_EQ(id2, stored.placement_list[0].display_id); | 2927 EXPECT_EQ(id2, stored.placement_list[0].display_id); |
2954 } | 2928 } |
2955 | 2929 |
2956 } // namespace ash | 2930 } // namespace ash |
OLD | NEW |