| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "ash/accessibility_delegate.h" | 8 #include "ash/accessibility_delegate.h" |
| 9 #include "ash/accessibility_types.h" | 9 #include "ash/accessibility_types.h" |
| 10 #include "ash/drag_drop/drag_drop_controller.h" | 10 #include "ash/drag_drop/drag_drop_controller.h" |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 ParentWindowInPrimaryRootWindow(window); | 138 ParentWindowInPrimaryRootWindow(window); |
| 139 return widget; | 139 return widget; |
| 140 } | 140 } |
| 141 | 141 |
| 142 aura::Window* CreatePanelWindow(const gfx::Rect& bounds) { | 142 aura::Window* CreatePanelWindow(const gfx::Rect& bounds) { |
| 143 aura::Window* window = CreateTestWindowInShellWithDelegateAndType( | 143 aura::Window* window = CreateTestWindowInShellWithDelegateAndType( |
| 144 nullptr, aura::client::WINDOW_TYPE_PANEL, 0, bounds); | 144 nullptr, aura::client::WINDOW_TYPE_PANEL, 0, bounds); |
| 145 static int id = 0; | 145 static int id = 0; |
| 146 std::string shelf_id(ShelfID(base::IntToString(id++)).Serialize()); | 146 std::string shelf_id(ShelfID(base::IntToString(id++)).Serialize()); |
| 147 window->SetProperty(kShelfIDKey, new std::string(shelf_id)); | 147 window->SetProperty(kShelfIDKey, new std::string(shelf_id)); |
| 148 window->SetProperty<int>(kShelfItemTypeKey, TYPE_APP_PANEL); |
| 148 window->SetProperty(aura::client::kTopViewInset, kHeaderHeight); | 149 window->SetProperty(aura::client::kTopViewInset, kHeaderHeight); |
| 149 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); | 150 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); |
| 150 return window; | 151 return window; |
| 151 } | 152 } |
| 152 | 153 |
| 153 bool WindowsOverlapping(aura::Window* window1, aura::Window* window2) { | 154 bool WindowsOverlapping(aura::Window* window1, aura::Window* window2) { |
| 154 gfx::Rect window1_bounds = GetTransformedTargetBounds(window1); | 155 gfx::Rect window1_bounds = GetTransformedTargetBounds(window1); |
| 155 gfx::Rect window2_bounds = GetTransformedTargetBounds(window2); | 156 gfx::Rect window2_bounds = GetTransformedTargetBounds(window2); |
| 156 return window1_bounds.Intersects(window2_bounds); | 157 return window1_bounds.Intersects(window2_bounds); |
| 157 } | 158 } |
| (...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1135 ClickWindow(window1.get()); | 1136 ClickWindow(window1.get()); |
| 1136 EXPECT_FALSE(IsSelecting()); | 1137 EXPECT_FALSE(IsSelecting()); |
| 1137 | 1138 |
| 1138 // Clicking on window1 should activate child1. | 1139 // Clicking on window1 should activate child1. |
| 1139 EXPECT_TRUE(wm::IsActiveWindow(child1.get())); | 1140 EXPECT_TRUE(wm::IsActiveWindow(child1.get())); |
| 1140 } | 1141 } |
| 1141 | 1142 |
| 1142 // Tests that windows remain on the display they are currently on in overview | 1143 // Tests that windows remain on the display they are currently on in overview |
| 1143 // mode, and that the close buttons are on matching displays. | 1144 // mode, and that the close buttons are on matching displays. |
| 1144 TEST_F(WindowSelectorTest, MultipleDisplays) { | 1145 TEST_F(WindowSelectorTest, MultipleDisplays) { |
| 1146 // TODO: Crashes in bounds_animator.cc in mash: http://crbug.com/730759 |
| 1147 if (Shell::GetAshConfig() == Config::MASH) |
| 1148 return; |
| 1149 |
| 1145 UpdateDisplay("600x400,600x400"); | 1150 UpdateDisplay("600x400,600x400"); |
| 1146 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 1151 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
| 1147 gfx::Rect bounds1(0, 0, 400, 400); | 1152 gfx::Rect bounds1(0, 0, 400, 400); |
| 1148 gfx::Rect bounds2(650, 0, 400, 400); | 1153 gfx::Rect bounds2(650, 0, 400, 400); |
| 1149 | 1154 |
| 1150 std::unique_ptr<aura::Window> window1(CreateWindow(bounds1)); | 1155 std::unique_ptr<aura::Window> window1(CreateWindow(bounds1)); |
| 1151 std::unique_ptr<aura::Window> window2(CreateWindow(bounds1)); | 1156 std::unique_ptr<aura::Window> window2(CreateWindow(bounds1)); |
| 1152 std::unique_ptr<aura::Window> window3(CreateWindow(bounds2)); | 1157 std::unique_ptr<aura::Window> window3(CreateWindow(bounds2)); |
| 1153 std::unique_ptr<aura::Window> window4(CreateWindow(bounds2)); | 1158 std::unique_ptr<aura::Window> window4(CreateWindow(bounds2)); |
| 1154 std::unique_ptr<aura::Window> panel1(CreatePanelWindow(bounds1)); | 1159 std::unique_ptr<aura::Window> panel1(CreatePanelWindow(bounds1)); |
| (...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1845 window.get(), gfx::Point(), HTCAPTION, ::wm::WINDOW_MOVE_SOURCE_MOUSE)); | 1850 window.get(), gfx::Point(), HTCAPTION, ::wm::WINDOW_MOVE_SOURCE_MOUSE)); |
| 1846 ASSERT_TRUE(resizer.get()); | 1851 ASSERT_TRUE(resizer.get()); |
| 1847 gfx::Point location = resizer->GetInitialLocation(); | 1852 gfx::Point location = resizer->GetInitialLocation(); |
| 1848 location.Offset(20, 20); | 1853 location.Offset(20, 20); |
| 1849 resizer->Drag(location, 0); | 1854 resizer->Drag(location, 0); |
| 1850 ToggleOverview(); | 1855 ToggleOverview(); |
| 1851 resizer->RevertDrag(); | 1856 resizer->RevertDrag(); |
| 1852 } | 1857 } |
| 1853 | 1858 |
| 1854 } // namespace ash | 1859 } // namespace ash |
| OLD | NEW |