OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/extended_mouse_warp_controller.h" | 5 #include "ash/display/extended_mouse_warp_controller.h" |
6 | 6 |
7 #include "ash/display/display_manager.h" | 7 #include "ash/display/display_manager.h" |
8 #include "ash/display/mouse_cursor_event_filter.h" | 8 #include "ash/display/mouse_cursor_event_filter.h" |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "ash/test/ash_test_base.h" | 10 #include "ash/test/ash_test_base.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 55 |
56 UpdateDisplay("360x360,700x700"); | 56 UpdateDisplay("360x360,700x700"); |
57 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 57 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
58 int64_t display_0_id = display::Screen::GetScreen() | 58 int64_t display_0_id = display::Screen::GetScreen() |
59 ->GetDisplayNearestWindow(root_windows[0]) | 59 ->GetDisplayNearestWindow(root_windows[0]) |
60 .id(); | 60 .id(); |
61 int64_t display_1_id = display::Screen::GetScreen() | 61 int64_t display_1_id = display::Screen::GetScreen() |
62 ->GetDisplayNearestWindow(root_windows[1]) | 62 ->GetDisplayNearestWindow(root_windows[1]) |
63 .id(); | 63 .id(); |
64 | 64 |
65 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 65 std::unique_ptr<display::DisplayLayout> layout(test::CreateDisplayLayout( |
66 std::unique_ptr<display::DisplayLayout> layout( | 66 display_manager(), display::DisplayPlacement::RIGHT, 0)); |
67 test::CreateDisplayLayout(display::DisplayPlacement::RIGHT, 0)); | |
68 | 67 |
69 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 68 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
70 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 69 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
71 | 70 |
72 ASSERT_EQ(1U, GetWarpRegionsCount()); | 71 ASSERT_EQ(1U, GetWarpRegionsCount()); |
73 EXPECT_EQ(gfx::Rect(359, 16, 1, 344), GetIndicatorBounds(display_0_id)); | 72 EXPECT_EQ(gfx::Rect(359, 16, 1, 344), GetIndicatorBounds(display_0_id)); |
74 EXPECT_EQ(gfx::Rect(360, 0, 1, 360), GetIndicatorBounds(display_1_id)); | 73 EXPECT_EQ(gfx::Rect(360, 0, 1, 360), GetIndicatorBounds(display_1_id)); |
75 | 74 |
76 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 75 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
77 EXPECT_EQ(gfx::Rect(359, 0, 1, 360), GetIndicatorBounds(display_0_id)); | 76 EXPECT_EQ(gfx::Rect(359, 0, 1, 360), GetIndicatorBounds(display_0_id)); |
78 EXPECT_EQ(gfx::Rect(360, 16, 1, 344), GetIndicatorBounds(display_1_id)); | 77 EXPECT_EQ(gfx::Rect(360, 16, 1, 344), GetIndicatorBounds(display_1_id)); |
79 | 78 |
80 // Move 2nd display downwards a bit. | 79 // Move 2nd display downwards a bit. |
81 layout->placement_list[0].offset = 5; | 80 layout->placement_list[0].offset = 5; |
82 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 81 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
83 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 82 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
84 // This is same as before because the 2nd display's y is above | 83 // This is same as before because the 2nd display's y is above |
85 // the indicator's x. | 84 // the indicator's x. |
86 ASSERT_EQ(1U, GetWarpRegionsCount()); | 85 ASSERT_EQ(1U, GetWarpRegionsCount()); |
87 EXPECT_EQ(gfx::Rect(359, 16, 1, 344), GetIndicatorBounds(display_0_id)); | 86 EXPECT_EQ(gfx::Rect(359, 16, 1, 344), GetIndicatorBounds(display_0_id)); |
88 EXPECT_EQ(gfx::Rect(360, 5, 1, 355), GetIndicatorBounds(display_1_id)); | 87 EXPECT_EQ(gfx::Rect(360, 5, 1, 355), GetIndicatorBounds(display_1_id)); |
89 | 88 |
90 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 89 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
91 EXPECT_EQ(gfx::Rect(359, 5, 1, 355), GetIndicatorBounds(display_0_id)); | 90 EXPECT_EQ(gfx::Rect(359, 5, 1, 355), GetIndicatorBounds(display_0_id)); |
92 EXPECT_EQ(gfx::Rect(360, 21, 1, 339), GetIndicatorBounds(display_1_id)); | 91 EXPECT_EQ(gfx::Rect(360, 21, 1, 339), GetIndicatorBounds(display_1_id)); |
93 | 92 |
94 // Move it down further so that the shared edge is shorter than | 93 // Move it down further so that the shared edge is shorter than |
95 // minimum hole size (160). | 94 // minimum hole size (160). |
96 layout->placement_list[0].offset = 200; | 95 layout->placement_list[0].offset = 200; |
97 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 96 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
98 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 97 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
99 ASSERT_EQ(1U, GetWarpRegionsCount()); | 98 ASSERT_EQ(1U, GetWarpRegionsCount()); |
100 EXPECT_EQ(gfx::Rect(359, 200, 1, 160), GetIndicatorBounds(display_0_id)); | 99 EXPECT_EQ(gfx::Rect(359, 200, 1, 160), GetIndicatorBounds(display_0_id)); |
101 EXPECT_EQ(gfx::Rect(360, 200, 1, 160), GetIndicatorBounds(display_1_id)); | 100 EXPECT_EQ(gfx::Rect(360, 200, 1, 160), GetIndicatorBounds(display_1_id)); |
102 | 101 |
103 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 102 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
104 ASSERT_EQ(1U, GetWarpRegionsCount()); | 103 ASSERT_EQ(1U, GetWarpRegionsCount()); |
105 EXPECT_EQ(gfx::Rect(359, 200, 1, 160), GetIndicatorBounds(display_0_id)); | 104 EXPECT_EQ(gfx::Rect(359, 200, 1, 160), GetIndicatorBounds(display_0_id)); |
106 EXPECT_EQ(gfx::Rect(360, 200, 1, 160), GetIndicatorBounds(display_1_id)); | 105 EXPECT_EQ(gfx::Rect(360, 200, 1, 160), GetIndicatorBounds(display_1_id)); |
107 | 106 |
108 // Now move 2nd display upwards | 107 // Now move 2nd display upwards |
109 layout->placement_list[0].offset = -5; | 108 layout->placement_list[0].offset = -5; |
110 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 109 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
111 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 110 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
112 ASSERT_EQ(1U, GetWarpRegionsCount()); | 111 ASSERT_EQ(1U, GetWarpRegionsCount()); |
113 EXPECT_EQ(gfx::Rect(359, 16, 1, 344), GetIndicatorBounds(display_0_id)); | 112 EXPECT_EQ(gfx::Rect(359, 16, 1, 344), GetIndicatorBounds(display_0_id)); |
114 EXPECT_EQ(gfx::Rect(360, 0, 1, 360), GetIndicatorBounds(display_1_id)); | 113 EXPECT_EQ(gfx::Rect(360, 0, 1, 360), GetIndicatorBounds(display_1_id)); |
115 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 114 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
116 // 16 px are reserved on 2nd display from top, so y must be | 115 // 16 px are reserved on 2nd display from top, so y must be |
117 // (16 - 5) = 11 | 116 // (16 - 5) = 11 |
118 ASSERT_EQ(1U, GetWarpRegionsCount()); | 117 ASSERT_EQ(1U, GetWarpRegionsCount()); |
119 EXPECT_EQ(gfx::Rect(359, 0, 1, 360), GetIndicatorBounds(display_0_id)); | 118 EXPECT_EQ(gfx::Rect(359, 0, 1, 360), GetIndicatorBounds(display_0_id)); |
120 EXPECT_EQ(gfx::Rect(360, 11, 1, 349), GetIndicatorBounds(display_1_id)); | 119 EXPECT_EQ(gfx::Rect(360, 11, 1, 349), GetIndicatorBounds(display_1_id)); |
121 | 120 |
122 event_filter()->HideSharedEdgeIndicator(); | 121 event_filter()->HideSharedEdgeIndicator(); |
123 } | 122 } |
124 | 123 |
125 TEST_F(ExtendedMouseWarpControllerTest, IndicatorBoundsTestOnLeft) { | 124 TEST_F(ExtendedMouseWarpControllerTest, IndicatorBoundsTestOnLeft) { |
126 if (!SupportsMultipleDisplays()) | 125 if (!SupportsMultipleDisplays()) |
127 return; | 126 return; |
128 | 127 |
129 UpdateDisplay("360x360,700x700"); | 128 UpdateDisplay("360x360,700x700"); |
130 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 129 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
131 | 130 |
132 int64_t display_0_id = display::Screen::GetScreen() | 131 int64_t display_0_id = display::Screen::GetScreen() |
133 ->GetDisplayNearestWindow(root_windows[0]) | 132 ->GetDisplayNearestWindow(root_windows[0]) |
134 .id(); | 133 .id(); |
135 int64_t display_1_id = display::Screen::GetScreen() | 134 int64_t display_1_id = display::Screen::GetScreen() |
136 ->GetDisplayNearestWindow(root_windows[1]) | 135 ->GetDisplayNearestWindow(root_windows[1]) |
137 .id(); | 136 .id(); |
138 | 137 |
139 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 138 std::unique_ptr<display::DisplayLayout> layout(test::CreateDisplayLayout( |
140 std::unique_ptr<display::DisplayLayout> layout( | 139 display_manager(), display::DisplayPlacement::LEFT, 0)); |
141 test::CreateDisplayLayout(display::DisplayPlacement::LEFT, 0)); | 140 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
142 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | |
143 | 141 |
144 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 142 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
145 ASSERT_EQ(1U, GetWarpRegionsCount()); | 143 ASSERT_EQ(1U, GetWarpRegionsCount()); |
146 EXPECT_EQ(gfx::Rect(0, 16, 1, 344), GetIndicatorBounds(display_0_id)); | 144 EXPECT_EQ(gfx::Rect(0, 16, 1, 344), GetIndicatorBounds(display_0_id)); |
147 EXPECT_EQ(gfx::Rect(-1, 0, 1, 360), GetIndicatorBounds(display_1_id)); | 145 EXPECT_EQ(gfx::Rect(-1, 0, 1, 360), GetIndicatorBounds(display_1_id)); |
148 | 146 |
149 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 147 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
150 ASSERT_EQ(1U, GetWarpRegionsCount()); | 148 ASSERT_EQ(1U, GetWarpRegionsCount()); |
151 EXPECT_EQ(gfx::Rect(0, 0, 1, 360), GetIndicatorBounds(display_0_id)); | 149 EXPECT_EQ(gfx::Rect(0, 0, 1, 360), GetIndicatorBounds(display_0_id)); |
152 EXPECT_EQ(gfx::Rect(-1, 16, 1, 344), GetIndicatorBounds(display_1_id)); | 150 EXPECT_EQ(gfx::Rect(-1, 16, 1, 344), GetIndicatorBounds(display_1_id)); |
153 | 151 |
154 layout->placement_list[0].offset = 250; | 152 layout->placement_list[0].offset = 250; |
155 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 153 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
156 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 154 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
157 ASSERT_EQ(1U, GetWarpRegionsCount()); | 155 ASSERT_EQ(1U, GetWarpRegionsCount()); |
158 EXPECT_EQ(gfx::Rect(0, 250, 1, 110), GetIndicatorBounds(display_0_id)); | 156 EXPECT_EQ(gfx::Rect(0, 250, 1, 110), GetIndicatorBounds(display_0_id)); |
159 EXPECT_EQ(gfx::Rect(-1, 250, 1, 110), GetIndicatorBounds(display_1_id)); | 157 EXPECT_EQ(gfx::Rect(-1, 250, 1, 110), GetIndicatorBounds(display_1_id)); |
160 | 158 |
161 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 159 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
162 ASSERT_EQ(1U, GetWarpRegionsCount()); | 160 ASSERT_EQ(1U, GetWarpRegionsCount()); |
163 EXPECT_EQ(gfx::Rect(0, 250, 1, 110), GetIndicatorBounds(display_0_id)); | 161 EXPECT_EQ(gfx::Rect(0, 250, 1, 110), GetIndicatorBounds(display_0_id)); |
164 EXPECT_EQ(gfx::Rect(-1, 250, 1, 110), GetIndicatorBounds(display_1_id)); | 162 EXPECT_EQ(gfx::Rect(-1, 250, 1, 110), GetIndicatorBounds(display_1_id)); |
165 | 163 |
166 event_filter()->HideSharedEdgeIndicator(); | 164 event_filter()->HideSharedEdgeIndicator(); |
167 } | 165 } |
168 | 166 |
169 TEST_F(ExtendedMouseWarpControllerTest, IndicatorBoundsTestOnTopBottom) { | 167 TEST_F(ExtendedMouseWarpControllerTest, IndicatorBoundsTestOnTopBottom) { |
170 if (!SupportsMultipleDisplays()) | 168 if (!SupportsMultipleDisplays()) |
171 return; | 169 return; |
172 | 170 |
173 UpdateDisplay("360x360,700x700"); | 171 UpdateDisplay("360x360,700x700"); |
174 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 172 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
175 int64_t display_0_id = display::Screen::GetScreen() | 173 int64_t display_0_id = display::Screen::GetScreen() |
176 ->GetDisplayNearestWindow(root_windows[0]) | 174 ->GetDisplayNearestWindow(root_windows[0]) |
177 .id(); | 175 .id(); |
178 int64_t display_1_id = display::Screen::GetScreen() | 176 int64_t display_1_id = display::Screen::GetScreen() |
179 ->GetDisplayNearestWindow(root_windows[1]) | 177 ->GetDisplayNearestWindow(root_windows[1]) |
180 .id(); | 178 .id(); |
181 | 179 |
182 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 180 std::unique_ptr<display::DisplayLayout> layout(test::CreateDisplayLayout( |
183 std::unique_ptr<display::DisplayLayout> layout( | 181 display_manager(), display::DisplayPlacement::TOP, 0)); |
184 test::CreateDisplayLayout(display::DisplayPlacement::TOP, 0)); | 182 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
185 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | |
186 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 183 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
187 ASSERT_EQ(1U, GetWarpRegionsCount()); | 184 ASSERT_EQ(1U, GetWarpRegionsCount()); |
188 EXPECT_EQ(gfx::Rect(0, 0, 360, 1), GetIndicatorBounds(display_0_id)); | 185 EXPECT_EQ(gfx::Rect(0, 0, 360, 1), GetIndicatorBounds(display_0_id)); |
189 EXPECT_EQ(gfx::Rect(0, -1, 360, 1), GetIndicatorBounds(display_1_id)); | 186 EXPECT_EQ(gfx::Rect(0, -1, 360, 1), GetIndicatorBounds(display_1_id)); |
190 | 187 |
191 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 188 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
192 ASSERT_EQ(1U, GetWarpRegionsCount()); | 189 ASSERT_EQ(1U, GetWarpRegionsCount()); |
193 EXPECT_EQ(gfx::Rect(0, 0, 360, 1), GetIndicatorBounds(display_0_id)); | 190 EXPECT_EQ(gfx::Rect(0, 0, 360, 1), GetIndicatorBounds(display_0_id)); |
194 EXPECT_EQ(gfx::Rect(0, -1, 360, 1), GetIndicatorBounds(display_1_id)); | 191 EXPECT_EQ(gfx::Rect(0, -1, 360, 1), GetIndicatorBounds(display_1_id)); |
195 | 192 |
196 layout->placement_list[0].offset = 250; | 193 layout->placement_list[0].offset = 250; |
197 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 194 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
198 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 195 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
199 ASSERT_EQ(1U, GetWarpRegionsCount()); | 196 ASSERT_EQ(1U, GetWarpRegionsCount()); |
200 EXPECT_EQ(gfx::Rect(250, 0, 110, 1), GetIndicatorBounds(display_0_id)); | 197 EXPECT_EQ(gfx::Rect(250, 0, 110, 1), GetIndicatorBounds(display_0_id)); |
201 EXPECT_EQ(gfx::Rect(250, -1, 110, 1), GetIndicatorBounds(display_1_id)); | 198 EXPECT_EQ(gfx::Rect(250, -1, 110, 1), GetIndicatorBounds(display_1_id)); |
202 | 199 |
203 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 200 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
204 ASSERT_EQ(1U, GetWarpRegionsCount()); | 201 ASSERT_EQ(1U, GetWarpRegionsCount()); |
205 EXPECT_EQ(gfx::Rect(250, 0, 110, 1), GetIndicatorBounds(display_0_id)); | 202 EXPECT_EQ(gfx::Rect(250, 0, 110, 1), GetIndicatorBounds(display_0_id)); |
206 EXPECT_EQ(gfx::Rect(250, -1, 110, 1), GetIndicatorBounds(display_1_id)); | 203 EXPECT_EQ(gfx::Rect(250, -1, 110, 1), GetIndicatorBounds(display_1_id)); |
207 | 204 |
208 layout->placement_list[0].position = display::DisplayPlacement::BOTTOM; | 205 layout->placement_list[0].position = display::DisplayPlacement::BOTTOM; |
209 layout->placement_list[0].offset = 0; | 206 layout->placement_list[0].offset = 0; |
210 display_manager->SetLayoutForCurrentDisplays(layout->Copy()); | 207 display_manager()->SetLayoutForCurrentDisplays(layout->Copy()); |
211 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); | 208 event_filter()->ShowSharedEdgeIndicator(root_windows[0] /* primary */); |
212 ASSERT_EQ(1U, GetWarpRegionsCount()); | 209 ASSERT_EQ(1U, GetWarpRegionsCount()); |
213 EXPECT_EQ(gfx::Rect(0, 359, 360, 1), GetIndicatorBounds(display_0_id)); | 210 EXPECT_EQ(gfx::Rect(0, 359, 360, 1), GetIndicatorBounds(display_0_id)); |
214 EXPECT_EQ(gfx::Rect(0, 360, 360, 1), GetIndicatorBounds(display_1_id)); | 211 EXPECT_EQ(gfx::Rect(0, 360, 360, 1), GetIndicatorBounds(display_1_id)); |
215 | 212 |
216 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); | 213 event_filter()->ShowSharedEdgeIndicator(root_windows[1] /* secondary */); |
217 ASSERT_EQ(1U, GetWarpRegionsCount()); | 214 ASSERT_EQ(1U, GetWarpRegionsCount()); |
218 EXPECT_EQ(gfx::Rect(0, 359, 360, 1), GetIndicatorBounds(display_0_id)); | 215 EXPECT_EQ(gfx::Rect(0, 359, 360, 1), GetIndicatorBounds(display_0_id)); |
219 EXPECT_EQ(gfx::Rect(0, 360, 360, 1), GetIndicatorBounds(display_1_id)); | 216 EXPECT_EQ(gfx::Rect(0, 360, 360, 1), GetIndicatorBounds(display_1_id)); |
220 | 217 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 // | 0 | 1 | | 291 // | 0 | 1 | |
295 // +-+---+--++ | 292 // +-+---+--++ |
296 // | 2 | | 293 // | 2 | |
297 // +------+ | 294 // +------+ |
298 display::DisplayLayoutBuilder builder(display_0_id); | 295 display::DisplayLayoutBuilder builder(display_0_id); |
299 builder.AddDisplayPlacement(display_1_id, display_0_id, | 296 builder.AddDisplayPlacement(display_1_id, display_0_id, |
300 display::DisplayPlacement::RIGHT, 0); | 297 display::DisplayPlacement::RIGHT, 0); |
301 builder.AddDisplayPlacement(display_2_id, display_0_id, | 298 builder.AddDisplayPlacement(display_2_id, display_0_id, |
302 display::DisplayPlacement::BOTTOM, 100); | 299 display::DisplayPlacement::BOTTOM, 100); |
303 | 300 |
304 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 301 display_manager()->SetLayoutForCurrentDisplays(builder.Build()); |
305 display_manager->SetLayoutForCurrentDisplays(builder.Build()); | |
306 ASSERT_EQ(3U, GetWarpRegionsCount()); | 302 ASSERT_EQ(3U, GetWarpRegionsCount()); |
307 | 303 |
308 // Drag from 0. | 304 // Drag from 0. |
309 event_filter()->ShowSharedEdgeIndicator(root_windows[0]); | 305 event_filter()->ShowSharedEdgeIndicator(root_windows[0]); |
310 ASSERT_EQ(3U, GetWarpRegionsCount()); | 306 ASSERT_EQ(3U, GetWarpRegionsCount()); |
311 const ExtendedMouseWarpController::WarpRegion* region_0 = GetWarpRegion(0); | 307 const ExtendedMouseWarpController::WarpRegion* region_0 = GetWarpRegion(0); |
312 const ExtendedMouseWarpController::WarpRegion* region_1 = GetWarpRegion(1); | 308 const ExtendedMouseWarpController::WarpRegion* region_1 = GetWarpRegion(1); |
313 const ExtendedMouseWarpController::WarpRegion* region_2 = GetWarpRegion(2); | 309 const ExtendedMouseWarpController::WarpRegion* region_2 = GetWarpRegion(2); |
314 // between 2 and 0 | 310 // between 2 and 0 |
315 EXPECT_EQ(gfx::Rect(100, 499, 600, 1), | 311 EXPECT_EQ(gfx::Rect(100, 499, 600, 1), |
(...skipping 29 matching lines...) Expand all Loading... |
345 // | 0 | |1 | | 341 // | 0 | |1 | |
346 // +-+---+-+++ | 342 // +-+---+-+++ |
347 // | 2 | | 343 // | 2 | |
348 // +------+ | 344 // +------+ |
349 display::DisplayLayoutBuilder builder(display_0_id); | 345 display::DisplayLayoutBuilder builder(display_0_id); |
350 builder.AddDisplayPlacement(display_2_id, display_0_id, | 346 builder.AddDisplayPlacement(display_2_id, display_0_id, |
351 display::DisplayPlacement::BOTTOM, 100); | 347 display::DisplayPlacement::BOTTOM, 100); |
352 builder.AddDisplayPlacement(display_1_id, display_2_id, | 348 builder.AddDisplayPlacement(display_1_id, display_2_id, |
353 display::DisplayPlacement::TOP, 800); | 349 display::DisplayPlacement::TOP, 800); |
354 | 350 |
355 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 351 display_manager()->SetLayoutForCurrentDisplays(builder.Build()); |
356 display_manager->SetLayoutForCurrentDisplays(builder.Build()); | |
357 ASSERT_EQ(2U, GetWarpRegionsCount()); | 352 ASSERT_EQ(2U, GetWarpRegionsCount()); |
358 | 353 |
359 // Drag from 0. | 354 // Drag from 0. |
360 event_filter()->ShowSharedEdgeIndicator(root_windows[0]); | 355 event_filter()->ShowSharedEdgeIndicator(root_windows[0]); |
361 ASSERT_EQ(2U, GetWarpRegionsCount()); | 356 ASSERT_EQ(2U, GetWarpRegionsCount()); |
362 const ExtendedMouseWarpController::WarpRegion* region_0 = GetWarpRegion(0); | 357 const ExtendedMouseWarpController::WarpRegion* region_0 = GetWarpRegion(0); |
363 const ExtendedMouseWarpController::WarpRegion* region_1 = GetWarpRegion(1); | 358 const ExtendedMouseWarpController::WarpRegion* region_1 = GetWarpRegion(1); |
364 // between 2 and 0 | 359 // between 2 and 0 |
365 EXPECT_EQ(gfx::Rect(100, 499, 600, 1), | 360 EXPECT_EQ(gfx::Rect(100, 499, 600, 1), |
366 region_0->GetIndicatorBoundsForTest(display_0_id)); | 361 region_0->GetIndicatorBoundsForTest(display_0_id)); |
367 EXPECT_EQ(gfx::Rect(100, 500, 600, 1), | 362 EXPECT_EQ(gfx::Rect(100, 500, 600, 1), |
368 region_0->GetIndicatorBoundsForTest(display_2_id)); | 363 region_0->GetIndicatorBoundsForTest(display_2_id)); |
369 // between 2 and 1 | 364 // between 2 and 1 |
370 EXPECT_EQ(gfx::Rect(900, 499, 200, 1), | 365 EXPECT_EQ(gfx::Rect(900, 499, 200, 1), |
371 region_1->GetIndicatorBoundsForTest(display_1_id)); | 366 region_1->GetIndicatorBoundsForTest(display_1_id)); |
372 EXPECT_EQ(gfx::Rect(900, 500, 200, 1), | 367 EXPECT_EQ(gfx::Rect(900, 500, 200, 1), |
373 region_1->GetIndicatorBoundsForTest(display_2_id)); | 368 region_1->GetIndicatorBoundsForTest(display_2_id)); |
374 event_filter()->HideSharedEdgeIndicator(); | 369 event_filter()->HideSharedEdgeIndicator(); |
375 } | 370 } |
376 | 371 |
377 } // namespace ash | 372 } // namespace ash |
OLD | NEW |