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 "base/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "chrome/browser/ui/panels/base_panel_browser_test.h" | 6 #include "chrome/browser/ui/panels/base_panel_browser_test.h" |
7 #include "chrome/browser/ui/panels/detached_panel_strip.h" | 7 #include "chrome/browser/ui/panels/detached_panel_strip.h" |
8 #include "chrome/browser/ui/panels/docked_panel_strip.h" | 8 #include "chrome/browser/ui/panels/docked_panel_strip.h" |
9 #include "chrome/browser/ui/panels/native_panel.h" | 9 #include "chrome/browser/ui/panels/native_panel.h" |
10 #include "chrome/browser/ui/panels/panel.h" | 10 #include "chrome/browser/ui/panels/panel.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 // All the tests here assume using mocked 800x600 screen area for the | 29 // All the tests here assume using mocked 800x600 screen area for the |
30 // primary monitor. Do the check now. | 30 // primary monitor. Do the check now. |
31 gfx::Rect primary_screen_area = PanelManager::GetInstance()-> | 31 gfx::Rect primary_screen_area = PanelManager::GetInstance()-> |
32 display_settings_provider()->GetPrimaryScreenArea(); | 32 display_settings_provider()->GetPrimaryScreenArea(); |
33 DCHECK(primary_screen_area.width() == 800); | 33 DCHECK(primary_screen_area.width() == 800); |
34 DCHECK(primary_screen_area.height() == 600); | 34 DCHECK(primary_screen_area.height() == 600); |
35 } | 35 } |
36 | 36 |
37 // Drag |panel| from its origin by the offset |delta|. | 37 // Drag |panel| from its origin by the offset |delta|. |
38 void DragPanelByDelta(Panel* panel, const gfx::Point& delta) { | 38 void DragPanelByDelta(Panel* panel, const gfx::Vector2d& delta) { |
39 scoped_ptr<NativePanelTesting> panel_testing( | 39 scoped_ptr<NativePanelTesting> panel_testing( |
40 CreateNativePanelTesting(panel)); | 40 CreateNativePanelTesting(panel)); |
41 gfx::Point mouse_location(panel->GetBounds().origin()); | 41 gfx::Point mouse_location(panel->GetBounds().origin()); |
42 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); | 42 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); |
43 panel_testing->DragTitlebar(mouse_location.Add(delta)); | 43 panel_testing->DragTitlebar(mouse_location.Add(delta)); |
44 panel_testing->FinishDragTitlebar(); | 44 panel_testing->FinishDragTitlebar(); |
45 } | 45 } |
46 | 46 |
47 // Drag |panel| from its origin to |new_mouse_location|. | 47 // Drag |panel| from its origin to |new_mouse_location|. |
48 void DragPanelToMouseLocation(Panel* panel, | 48 void DragPanelToMouseLocation(Panel* panel, |
49 const gfx::Point& new_mouse_location) { | 49 const gfx::Point& new_mouse_location) { |
50 scoped_ptr<NativePanelTesting> panel_testing( | 50 scoped_ptr<NativePanelTesting> panel_testing( |
51 CreateNativePanelTesting(panel)); | 51 CreateNativePanelTesting(panel)); |
52 gfx::Point mouse_location(panel->GetBounds().origin()); | 52 gfx::Point mouse_location(panel->GetBounds().origin()); |
53 panel_testing->PressLeftMouseButtonTitlebar(panel->GetBounds().origin()); | 53 panel_testing->PressLeftMouseButtonTitlebar(panel->GetBounds().origin()); |
54 panel_testing->DragTitlebar(new_mouse_location); | 54 panel_testing->DragTitlebar(new_mouse_location); |
55 panel_testing->FinishDragTitlebar(); | 55 panel_testing->FinishDragTitlebar(); |
56 } | 56 } |
57 | 57 |
58 static gfx::Point GetDragDeltaToRemainDocked() { | 58 static gfx::Vector2d GetDragDeltaToRemainDocked() { |
59 return gfx::Point( | 59 return gfx::Vector2d( |
60 -5, | 60 -5, |
61 -(PanelDragController::GetDetachDockedPanelThreshold() / 2)); | 61 -(PanelDragController::GetDetachDockedPanelThreshold() / 2)); |
62 } | 62 } |
63 | 63 |
64 static gfx::Point GetDragDeltaToDetach() { | 64 static gfx::Vector2d GetDragDeltaToDetach() { |
65 return gfx::Point( | 65 return gfx::Vector2d( |
66 -20, | 66 -20, |
67 -(PanelDragController::GetDetachDockedPanelThreshold() + 20)); | 67 -(PanelDragController::GetDetachDockedPanelThreshold() + 20)); |
68 } | 68 } |
69 | 69 |
70 static gfx::Point GetDragDeltaToRemainDetached(Panel* panel) { | 70 static gfx::Vector2d GetDragDeltaToRemainDetached(Panel* panel) { |
71 int distance = panel->manager()->docked_strip()->display_area().bottom() - | 71 int distance = panel->manager()->docked_strip()->display_area().bottom() - |
72 panel->GetBounds().bottom(); | 72 panel->GetBounds().bottom(); |
73 return gfx::Point( | 73 return gfx::Vector2d( |
74 -5, | 74 -5, |
75 distance - PanelDragController::GetDockDetachedPanelThreshold() * 2); | 75 distance - PanelDragController::GetDockDetachedPanelThreshold() * 2); |
76 } | 76 } |
77 | 77 |
78 static gfx::Point GetDragDeltaToAttach(Panel* panel) { | 78 static gfx::Vector2d GetDragDeltaToAttach(Panel* panel) { |
79 int distance = panel->manager()->docked_strip()->display_area().bottom() - | 79 int distance = panel->manager()->docked_strip()->display_area().bottom() - |
80 panel->GetBounds().bottom(); | 80 panel->GetBounds().bottom(); |
81 return gfx::Point( | 81 return gfx::Vector2d( |
82 -20, | 82 -20, |
83 distance - PanelDragController::GetDockDetachedPanelThreshold() / 2); | 83 distance - PanelDragController::GetDockDetachedPanelThreshold() / 2); |
84 } | 84 } |
85 }; | 85 }; |
86 | 86 |
87 IN_PROC_BROWSER_TEST_F(PanelDragBrowserTest, DragOneDockedPanel) { | 87 IN_PROC_BROWSER_TEST_F(PanelDragBrowserTest, DragOneDockedPanel) { |
88 static const int big_delta_x = 70; | 88 static const int big_delta_x = 70; |
89 static const int big_delta_y = 30; // Do not exceed the threshold to detach. | 89 static const int big_delta_y = 30; // Do not exceed the threshold to detach. |
90 | 90 |
91 Panel* panel = CreateDockedPanel("1", gfx::Rect(0, 0, 100, 100)); | 91 Panel* panel = CreateDockedPanel("1", gfx::Rect(0, 0, 100, 100)); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 panel_testing->DragTitlebar(mouse_location); | 170 panel_testing->DragTitlebar(mouse_location); |
171 EXPECT_EQ(panel_old_bounds, panel->GetBounds()); | 171 EXPECT_EQ(panel_old_bounds, panel->GetBounds()); |
172 | 172 |
173 panel_testing->FinishDragTitlebar(); | 173 panel_testing->FinishDragTitlebar(); |
174 EXPECT_EQ(panel_old_bounds, panel->GetBounds()); | 174 EXPECT_EQ(panel_old_bounds, panel->GetBounds()); |
175 | 175 |
176 PanelManager::GetInstance()->CloseAll(); | 176 PanelManager::GetInstance()->CloseAll(); |
177 } | 177 } |
178 | 178 |
179 IN_PROC_BROWSER_TEST_F(PanelDragBrowserTest, DragTwoDockedPanels) { | 179 IN_PROC_BROWSER_TEST_F(PanelDragBrowserTest, DragTwoDockedPanels) { |
180 static const gfx::Point small_delta(10, 0); | 180 static const gfx::Vector2d small_delta(10, 0); |
181 | 181 |
182 Panel* panel1 = CreateDockedPanel("1", gfx::Rect(0, 0, 100, 100)); | 182 Panel* panel1 = CreateDockedPanel("1", gfx::Rect(0, 0, 100, 100)); |
183 Panel* panel2 = CreateDockedPanel("2", gfx::Rect(0, 0, 100, 100)); | 183 Panel* panel2 = CreateDockedPanel("2", gfx::Rect(0, 0, 100, 100)); |
184 scoped_ptr<NativePanelTesting> panel1_testing( | 184 scoped_ptr<NativePanelTesting> panel1_testing( |
185 CreateNativePanelTesting(panel1)); | 185 CreateNativePanelTesting(panel1)); |
186 scoped_ptr<NativePanelTesting> panel2_testing( | 186 scoped_ptr<NativePanelTesting> panel2_testing( |
187 CreateNativePanelTesting(panel2)); | 187 CreateNativePanelTesting(panel2)); |
188 gfx::Point position1 = panel1->GetBounds().origin(); | 188 gfx::Point position1 = panel1->GetBounds().origin(); |
189 gfx::Point position2 = panel2->GetBounds().origin(); | 189 gfx::Point position2 = panel2->GetBounds().origin(); |
190 | 190 |
(...skipping 13 matching lines...) Expand all Loading... |
204 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 204 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
205 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 205 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
206 | 206 |
207 // Drag right panel towards left with big delta. | 207 // Drag right panel towards left with big delta. |
208 // Expect shuffle: P2 P1 | 208 // Expect shuffle: P2 P1 |
209 mouse_location = position1; | 209 mouse_location = position1; |
210 panel1_testing->PressLeftMouseButtonTitlebar(mouse_location); | 210 panel1_testing->PressLeftMouseButtonTitlebar(mouse_location); |
211 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 211 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
212 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 212 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
213 | 213 |
214 mouse_location = position2.Add(gfx::Point(1, 0)); | 214 mouse_location = position2.Add(gfx::Vector2d(1, 0)); |
215 panel1_testing->DragTitlebar(mouse_location); | 215 panel1_testing->DragTitlebar(mouse_location); |
216 EXPECT_EQ(mouse_location, panel1->GetBounds().origin()); | 216 EXPECT_EQ(mouse_location, panel1->GetBounds().origin()); |
217 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 217 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
218 | 218 |
219 panel1_testing->FinishDragTitlebar(); | 219 panel1_testing->FinishDragTitlebar(); |
220 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 220 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
221 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 221 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
222 | 222 |
223 // Drag left panel towards right with small delta. | 223 // Drag left panel towards right with small delta. |
224 // Expect no shuffle: P2 P1 | 224 // Expect no shuffle: P2 P1 |
(...skipping 11 matching lines...) Expand all Loading... |
236 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 236 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
237 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 237 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
238 | 238 |
239 // Drag left panel towards right with big delta. | 239 // Drag left panel towards right with big delta. |
240 // Expect shuffle: P1 P2 | 240 // Expect shuffle: P1 P2 |
241 mouse_location = position2; | 241 mouse_location = position2; |
242 panel1_testing->PressLeftMouseButtonTitlebar(mouse_location); | 242 panel1_testing->PressLeftMouseButtonTitlebar(mouse_location); |
243 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 243 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
244 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 244 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
245 | 245 |
246 mouse_location = position1.Add(gfx::Point(1, 0)); | 246 mouse_location = position1.Add(gfx::Vector2d(1, 0)); |
247 panel1_testing->DragTitlebar(mouse_location); | 247 panel1_testing->DragTitlebar(mouse_location); |
248 EXPECT_EQ(mouse_location, panel1->GetBounds().origin()); | 248 EXPECT_EQ(mouse_location, panel1->GetBounds().origin()); |
249 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 249 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
250 | 250 |
251 panel1_testing->FinishDragTitlebar(); | 251 panel1_testing->FinishDragTitlebar(); |
252 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 252 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
253 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 253 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
254 | 254 |
255 // Drag right panel towards left with big delta and then cancel the drag. | 255 // Drag right panel towards left with big delta and then cancel the drag. |
256 // Expect shuffle after drag: P2 P1 | 256 // Expect shuffle after drag: P2 P1 |
257 // Expect shuffle after cancel: P1 P2 | 257 // Expect shuffle after cancel: P1 P2 |
258 mouse_location = position1; | 258 mouse_location = position1; |
259 panel1_testing->PressLeftMouseButtonTitlebar(mouse_location); | 259 panel1_testing->PressLeftMouseButtonTitlebar(mouse_location); |
260 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 260 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
261 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 261 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
262 | 262 |
263 mouse_location = position2.Add(gfx::Point(1, 0)); | 263 mouse_location = position2.Add(gfx::Vector2d(1, 0)); |
264 panel1_testing->DragTitlebar(mouse_location); | 264 panel1_testing->DragTitlebar(mouse_location); |
265 EXPECT_EQ(mouse_location, panel1->GetBounds().origin()); | 265 EXPECT_EQ(mouse_location, panel1->GetBounds().origin()); |
266 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 266 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
267 | 267 |
268 panel1_testing->CancelDragTitlebar(); | 268 panel1_testing->CancelDragTitlebar(); |
269 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 269 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
270 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 270 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
271 | 271 |
272 PanelManager::GetInstance()->CloseAll(); | 272 PanelManager::GetInstance()->CloseAll(); |
273 } | 273 } |
(...skipping 13 matching lines...) Expand all Loading... |
287 // Drag leftmost panel to become the rightmost in 2 drags. Each drag will | 287 // Drag leftmost panel to become the rightmost in 2 drags. Each drag will |
288 // shuffle one panel. | 288 // shuffle one panel. |
289 // Expect shuffle after 1st drag: P1 P3 P2 | 289 // Expect shuffle after 1st drag: P1 P3 P2 |
290 // Expect shuffle after 2nd drag: P3 P1 P2 | 290 // Expect shuffle after 2nd drag: P3 P1 P2 |
291 gfx::Point mouse_location = position3; | 291 gfx::Point mouse_location = position3; |
292 panel3_testing->PressLeftMouseButtonTitlebar(mouse_location); | 292 panel3_testing->PressLeftMouseButtonTitlebar(mouse_location); |
293 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 293 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
294 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 294 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
295 EXPECT_EQ(position3, panel3->GetBounds().origin()); | 295 EXPECT_EQ(position3, panel3->GetBounds().origin()); |
296 | 296 |
297 mouse_location = position2.Add(gfx::Point(1, 0)); | 297 mouse_location = position2.Add(gfx::Vector2d(1, 0)); |
298 panel3_testing->DragTitlebar(mouse_location); | 298 panel3_testing->DragTitlebar(mouse_location); |
299 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 299 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
300 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 300 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
301 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); | 301 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); |
302 | 302 |
303 mouse_location = position1.Add(gfx::Point(1, 0)); | 303 mouse_location = position1.Add(gfx::Vector2d(1, 0)); |
304 panel3_testing->DragTitlebar(mouse_location); | 304 panel3_testing->DragTitlebar(mouse_location); |
305 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 305 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
306 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 306 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
307 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); | 307 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); |
308 | 308 |
309 panel3_testing->FinishDragTitlebar(); | 309 panel3_testing->FinishDragTitlebar(); |
310 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 310 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
311 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 311 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
312 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 312 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
313 | 313 |
314 // Drag rightmost panel to become the leftmost in 2 drags and then cancel the | 314 // Drag rightmost panel to become the leftmost in 2 drags and then cancel the |
315 // drag. Each drag will shuffle one panel and the cancellation will restore | 315 // drag. Each drag will shuffle one panel and the cancellation will restore |
316 // all panels. | 316 // all panels. |
317 // Expect shuffle after 1st drag: P1 P3 P2 | 317 // Expect shuffle after 1st drag: P1 P3 P2 |
318 // Expect shuffle after 2nd drag: P1 P2 P3 | 318 // Expect shuffle after 2nd drag: P1 P2 P3 |
319 // Expect shuffle after cancel: P3 P1 P2 | 319 // Expect shuffle after cancel: P3 P1 P2 |
320 mouse_location = position1; | 320 mouse_location = position1; |
321 panel3_testing->PressLeftMouseButtonTitlebar(mouse_location); | 321 panel3_testing->PressLeftMouseButtonTitlebar(mouse_location); |
322 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 322 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
323 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 323 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
324 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 324 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
325 | 325 |
326 mouse_location = position2.Add(gfx::Point(1, 0)); | 326 mouse_location = position2.Add(gfx::Vector2d(1, 0)); |
327 panel3_testing->DragTitlebar(mouse_location); | 327 panel3_testing->DragTitlebar(mouse_location); |
328 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 328 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
329 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 329 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
330 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); | 330 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); |
331 | 331 |
332 mouse_location = position3.Add(gfx::Point(1, 0)); | 332 mouse_location = position3.Add(gfx::Vector2d(1, 0)); |
333 panel3_testing->DragTitlebar(mouse_location); | 333 panel3_testing->DragTitlebar(mouse_location); |
334 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 334 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
335 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 335 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
336 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); | 336 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); |
337 | 337 |
338 panel3_testing->CancelDragTitlebar(); | 338 panel3_testing->CancelDragTitlebar(); |
339 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 339 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
340 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 340 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
341 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 341 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
342 | 342 |
343 // Drag leftmost panel to become the rightmost in a single drag. The drag will | 343 // Drag leftmost panel to become the rightmost in a single drag. The drag will |
344 // shuffle 2 panels at a time. | 344 // shuffle 2 panels at a time. |
345 // Expect shuffle: P2 P3 P1 | 345 // Expect shuffle: P2 P3 P1 |
346 mouse_location = position3; | 346 mouse_location = position3; |
347 panel2_testing->PressLeftMouseButtonTitlebar(mouse_location); | 347 panel2_testing->PressLeftMouseButtonTitlebar(mouse_location); |
348 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 348 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
349 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 349 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
350 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 350 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
351 | 351 |
352 mouse_location = position1.Add(gfx::Point(1, 0)); | 352 mouse_location = position1.Add(gfx::Vector2d(1, 0)); |
353 panel2_testing->DragTitlebar(mouse_location); | 353 panel2_testing->DragTitlebar(mouse_location); |
354 EXPECT_EQ(position3, panel1->GetBounds().origin()); | 354 EXPECT_EQ(position3, panel1->GetBounds().origin()); |
355 EXPECT_EQ(mouse_location, panel2->GetBounds().origin()); | 355 EXPECT_EQ(mouse_location, panel2->GetBounds().origin()); |
356 EXPECT_EQ(position2, panel3->GetBounds().origin()); | 356 EXPECT_EQ(position2, panel3->GetBounds().origin()); |
357 | 357 |
358 panel2_testing->FinishDragTitlebar(); | 358 panel2_testing->FinishDragTitlebar(); |
359 EXPECT_EQ(position3, panel1->GetBounds().origin()); | 359 EXPECT_EQ(position3, panel1->GetBounds().origin()); |
360 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 360 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
361 EXPECT_EQ(position2, panel3->GetBounds().origin()); | 361 EXPECT_EQ(position2, panel3->GetBounds().origin()); |
362 | 362 |
363 // Drag rightmost panel to become the leftmost in a single drag. The drag will | 363 // Drag rightmost panel to become the leftmost in a single drag. The drag will |
364 // shuffle 2 panels at a time. | 364 // shuffle 2 panels at a time. |
365 // Expect shuffle: P3 P1 P2 | 365 // Expect shuffle: P3 P1 P2 |
366 mouse_location = position1; | 366 mouse_location = position1; |
367 panel2_testing->PressLeftMouseButtonTitlebar(mouse_location); | 367 panel2_testing->PressLeftMouseButtonTitlebar(mouse_location); |
368 EXPECT_EQ(position3, panel1->GetBounds().origin()); | 368 EXPECT_EQ(position3, panel1->GetBounds().origin()); |
369 EXPECT_EQ(position1, panel2->GetBounds().origin()); | 369 EXPECT_EQ(position1, panel2->GetBounds().origin()); |
370 EXPECT_EQ(position2, panel3->GetBounds().origin()); | 370 EXPECT_EQ(position2, panel3->GetBounds().origin()); |
371 | 371 |
372 mouse_location = position3.Add(gfx::Point(1, 0)); | 372 mouse_location = position3.Add(gfx::Vector2d(1, 0)); |
373 panel2_testing->DragTitlebar(mouse_location); | 373 panel2_testing->DragTitlebar(mouse_location); |
374 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 374 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
375 EXPECT_EQ(mouse_location, panel2->GetBounds().origin()); | 375 EXPECT_EQ(mouse_location, panel2->GetBounds().origin()); |
376 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 376 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
377 | 377 |
378 panel2_testing->FinishDragTitlebar(); | 378 panel2_testing->FinishDragTitlebar(); |
379 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 379 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
380 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 380 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
381 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 381 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
382 | 382 |
383 // Drag rightmost panel to become the leftmost in a single drag and then | 383 // Drag rightmost panel to become the leftmost in a single drag and then |
384 // cancel the drag. The drag will shuffle 2 panels and the cancellation will | 384 // cancel the drag. The drag will shuffle 2 panels and the cancellation will |
385 // restore all panels. | 385 // restore all panels. |
386 // Expect shuffle after drag: P1 P2 P3 | 386 // Expect shuffle after drag: P1 P2 P3 |
387 // Expect shuffle after cancel: P3 P1 P2 | 387 // Expect shuffle after cancel: P3 P1 P2 |
388 mouse_location = position1; | 388 mouse_location = position1; |
389 panel3_testing->PressLeftMouseButtonTitlebar(mouse_location); | 389 panel3_testing->PressLeftMouseButtonTitlebar(mouse_location); |
390 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 390 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
391 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 391 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
392 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 392 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
393 | 393 |
394 mouse_location = position3.Add(gfx::Point(1, 0)); | 394 mouse_location = position3.Add(gfx::Vector2d(1, 0)); |
395 panel3_testing->DragTitlebar(mouse_location); | 395 panel3_testing->DragTitlebar(mouse_location); |
396 EXPECT_EQ(position1, panel1->GetBounds().origin()); | 396 EXPECT_EQ(position1, panel1->GetBounds().origin()); |
397 EXPECT_EQ(position2, panel2->GetBounds().origin()); | 397 EXPECT_EQ(position2, panel2->GetBounds().origin()); |
398 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); | 398 EXPECT_EQ(mouse_location, panel3->GetBounds().origin()); |
399 | 399 |
400 panel3_testing->CancelDragTitlebar(); | 400 panel3_testing->CancelDragTitlebar(); |
401 EXPECT_EQ(position2, panel1->GetBounds().origin()); | 401 EXPECT_EQ(position2, panel1->GetBounds().origin()); |
402 EXPECT_EQ(position3, panel2->GetBounds().origin()); | 402 EXPECT_EQ(position3, panel2->GetBounds().origin()); |
403 EXPECT_EQ(position1, panel3->GetBounds().origin()); | 403 EXPECT_EQ(position1, panel3->GetBounds().origin()); |
404 | 404 |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 | 855 |
856 // Press on title-bar. | 856 // Press on title-bar. |
857 scoped_ptr<NativePanelTesting> panel_testing( | 857 scoped_ptr<NativePanelTesting> panel_testing( |
858 CreateNativePanelTesting(panel)); | 858 CreateNativePanelTesting(panel)); |
859 gfx::Point mouse_location(panel->GetBounds().origin()); | 859 gfx::Point mouse_location(panel->GetBounds().origin()); |
860 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); | 860 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); |
861 | 861 |
862 // Drag up the panel in a small offset that does not trigger the detach. | 862 // Drag up the panel in a small offset that does not trigger the detach. |
863 // Expect that the panel is still docked and only x coordinate of its position | 863 // Expect that the panel is still docked and only x coordinate of its position |
864 // is changed. | 864 // is changed. |
865 gfx::Point drag_delta_to_remain_docked = GetDragDeltaToRemainDocked(); | 865 gfx::Vector2d drag_delta_to_remain_docked = GetDragDeltaToRemainDocked(); |
866 mouse_location = mouse_location.Add(drag_delta_to_remain_docked); | 866 mouse_location = mouse_location.Add(drag_delta_to_remain_docked); |
867 panel_testing->DragTitlebar(mouse_location); | 867 panel_testing->DragTitlebar(mouse_location); |
868 ASSERT_EQ(1, docked_strip->num_panels()); | 868 ASSERT_EQ(1, docked_strip->num_panels()); |
869 ASSERT_EQ(0, detached_strip->num_panels()); | 869 ASSERT_EQ(0, detached_strip->num_panels()); |
870 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); | 870 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); |
871 gfx::Rect panel_new_bounds = panel_old_bounds; | 871 gfx::Rect panel_new_bounds = panel_old_bounds; |
872 panel_new_bounds.Offset(drag_delta_to_remain_docked.x(), 0); | 872 panel_new_bounds.Offset(drag_delta_to_remain_docked.x(), 0); |
873 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 873 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
874 | 874 |
875 // Continue dragging up the panel in big offset that triggers the detach. | 875 // Continue dragging up the panel in big offset that triggers the detach. |
876 // Expect that the panel is previewed as detached. | 876 // Expect that the panel is previewed as detached. |
877 gfx::Point drag_delta_to_detach = GetDragDeltaToDetach(); | 877 gfx::Vector2d drag_delta_to_detach = GetDragDeltaToDetach(); |
878 mouse_location = mouse_location.Add(drag_delta_to_detach); | 878 mouse_location = mouse_location.Add(drag_delta_to_detach); |
879 panel_testing->DragTitlebar(mouse_location); | 879 panel_testing->DragTitlebar(mouse_location); |
880 ASSERT_EQ(0, docked_strip->num_panels()); | 880 ASSERT_EQ(0, docked_strip->num_panels()); |
881 ASSERT_EQ(1, detached_strip->num_panels()); | 881 ASSERT_EQ(1, detached_strip->num_panels()); |
882 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 882 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
883 panel_new_bounds.Offset( | 883 panel_new_bounds.Offset( |
884 drag_delta_to_detach.x(), | 884 drag_delta_to_detach.x(), |
885 drag_delta_to_detach.y() + drag_delta_to_remain_docked.y()); | 885 drag_delta_to_detach.y() + drag_delta_to_remain_docked.y()); |
886 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 886 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
887 | 887 |
(...skipping 22 matching lines...) Expand all Loading... |
910 | 910 |
911 // Press on title-bar. | 911 // Press on title-bar. |
912 scoped_ptr<NativePanelTesting> panel_testing( | 912 scoped_ptr<NativePanelTesting> panel_testing( |
913 CreateNativePanelTesting(panel)); | 913 CreateNativePanelTesting(panel)); |
914 gfx::Point mouse_location(panel->GetBounds().origin()); | 914 gfx::Point mouse_location(panel->GetBounds().origin()); |
915 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); | 915 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); |
916 | 916 |
917 // Drag up the panel in a small offset that does not trigger the detach. | 917 // Drag up the panel in a small offset that does not trigger the detach. |
918 // Expect that the panel is still docked and only x coordinate of its position | 918 // Expect that the panel is still docked and only x coordinate of its position |
919 // is changed. | 919 // is changed. |
920 gfx::Point drag_delta_to_remain_docked = GetDragDeltaToRemainDocked(); | 920 gfx::Vector2d drag_delta_to_remain_docked = GetDragDeltaToRemainDocked(); |
921 mouse_location = mouse_location.Add(drag_delta_to_remain_docked); | 921 mouse_location = mouse_location.Add(drag_delta_to_remain_docked); |
922 panel_testing->DragTitlebar(mouse_location); | 922 panel_testing->DragTitlebar(mouse_location); |
923 ASSERT_EQ(1, docked_strip->num_panels()); | 923 ASSERT_EQ(1, docked_strip->num_panels()); |
924 ASSERT_EQ(0, detached_strip->num_panels()); | 924 ASSERT_EQ(0, detached_strip->num_panels()); |
925 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); | 925 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); |
926 gfx::Rect panel_new_bounds = panel_old_bounds; | 926 gfx::Rect panel_new_bounds = panel_old_bounds; |
927 panel_new_bounds.Offset(drag_delta_to_remain_docked.x(), 0); | 927 panel_new_bounds.Offset(drag_delta_to_remain_docked.x(), 0); |
928 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 928 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
929 | 929 |
930 // Continue dragging up the panel in big offset that triggers the detach. | 930 // Continue dragging up the panel in big offset that triggers the detach. |
931 // Expect that the panel is previewed as detached. | 931 // Expect that the panel is previewed as detached. |
932 gfx::Point drag_delta_to_detach = GetDragDeltaToDetach(); | 932 gfx::Vector2d drag_delta_to_detach = GetDragDeltaToDetach(); |
933 mouse_location = mouse_location.Add(drag_delta_to_detach); | 933 mouse_location = mouse_location.Add(drag_delta_to_detach); |
934 panel_testing->DragTitlebar(mouse_location); | 934 panel_testing->DragTitlebar(mouse_location); |
935 ASSERT_EQ(0, docked_strip->num_panels()); | 935 ASSERT_EQ(0, docked_strip->num_panels()); |
936 ASSERT_EQ(1, detached_strip->num_panels()); | 936 ASSERT_EQ(1, detached_strip->num_panels()); |
937 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 937 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
938 panel_new_bounds.Offset( | 938 panel_new_bounds.Offset( |
939 drag_delta_to_detach.x(), | 939 drag_delta_to_detach.x(), |
940 drag_delta_to_detach.y() + drag_delta_to_remain_docked.y()); | 940 drag_delta_to_detach.y() + drag_delta_to_remain_docked.y()); |
941 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 941 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
942 | 942 |
(...skipping 22 matching lines...) Expand all Loading... |
965 gfx::Rect panel_old_bounds = panel->GetBounds(); | 965 gfx::Rect panel_old_bounds = panel->GetBounds(); |
966 | 966 |
967 // Press on title-bar. | 967 // Press on title-bar. |
968 scoped_ptr<NativePanelTesting> panel_testing( | 968 scoped_ptr<NativePanelTesting> panel_testing( |
969 CreateNativePanelTesting(panel)); | 969 CreateNativePanelTesting(panel)); |
970 gfx::Point mouse_location(panel->GetBounds().origin()); | 970 gfx::Point mouse_location(panel->GetBounds().origin()); |
971 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); | 971 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); |
972 | 972 |
973 // Drag down the panel but not close enough to the bottom of work area. | 973 // Drag down the panel but not close enough to the bottom of work area. |
974 // Expect that the panel is still detached. | 974 // Expect that the panel is still detached. |
975 gfx::Point drag_delta_to_remain_detached = | 975 gfx::Vector2d drag_delta_to_remain_detached = |
976 GetDragDeltaToRemainDetached(panel); | 976 GetDragDeltaToRemainDetached(panel); |
977 mouse_location = mouse_location.Add(drag_delta_to_remain_detached); | 977 mouse_location = mouse_location.Add(drag_delta_to_remain_detached); |
978 panel_testing->DragTitlebar(mouse_location); | 978 panel_testing->DragTitlebar(mouse_location); |
979 ASSERT_EQ(0, docked_strip->num_panels()); | 979 ASSERT_EQ(0, docked_strip->num_panels()); |
980 ASSERT_EQ(1, detached_strip->num_panels()); | 980 ASSERT_EQ(1, detached_strip->num_panels()); |
981 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 981 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
982 gfx::Rect panel_new_bounds = panel_old_bounds; | 982 gfx::Rect panel_new_bounds = panel_old_bounds; |
983 panel_new_bounds.Offset(drag_delta_to_remain_detached); | 983 panel_new_bounds.Offset(drag_delta_to_remain_detached); |
984 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 984 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
985 | 985 |
986 // Continue dragging down the panel to make it close enough to the bottom of | 986 // Continue dragging down the panel to make it close enough to the bottom of |
987 // work area. | 987 // work area. |
988 // Expect that the panel is previewed as docked. | 988 // Expect that the panel is previewed as docked. |
989 gfx::Point drag_delta_to_attach = GetDragDeltaToAttach(panel); | 989 gfx::Vector2d drag_delta_to_attach = GetDragDeltaToAttach(panel); |
990 mouse_location = mouse_location.Add(drag_delta_to_attach); | 990 mouse_location = mouse_location.Add(drag_delta_to_attach); |
991 panel_testing->DragTitlebar(mouse_location); | 991 panel_testing->DragTitlebar(mouse_location); |
992 ASSERT_EQ(1, docked_strip->num_panels()); | 992 ASSERT_EQ(1, docked_strip->num_panels()); |
993 ASSERT_EQ(0, detached_strip->num_panels()); | 993 ASSERT_EQ(0, detached_strip->num_panels()); |
994 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); | 994 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); |
995 panel_new_bounds.Offset(drag_delta_to_attach); | 995 panel_new_bounds.Offset(drag_delta_to_attach); |
996 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 996 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
997 | 997 |
998 // Finish the drag. | 998 // Finish the drag. |
999 // Expect that the panel stays as docked and moves to the final position. | 999 // Expect that the panel stays as docked and moves to the final position. |
(...skipping 24 matching lines...) Expand all Loading... |
1024 gfx::Rect panel_old_bounds = panel->GetBounds(); | 1024 gfx::Rect panel_old_bounds = panel->GetBounds(); |
1025 | 1025 |
1026 // Press on title-bar. | 1026 // Press on title-bar. |
1027 scoped_ptr<NativePanelTesting> panel_testing( | 1027 scoped_ptr<NativePanelTesting> panel_testing( |
1028 CreateNativePanelTesting(panel)); | 1028 CreateNativePanelTesting(panel)); |
1029 gfx::Point mouse_location(panel->GetBounds().origin()); | 1029 gfx::Point mouse_location(panel->GetBounds().origin()); |
1030 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); | 1030 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); |
1031 | 1031 |
1032 // Drag down the panel but not close enough to the bottom of work area. | 1032 // Drag down the panel but not close enough to the bottom of work area. |
1033 // Expect that the panel is still detached. | 1033 // Expect that the panel is still detached. |
1034 gfx::Point drag_delta_to_remain_detached = | 1034 gfx::Vector2d drag_delta_to_remain_detached = |
1035 GetDragDeltaToRemainDetached(panel); | 1035 GetDragDeltaToRemainDetached(panel); |
1036 mouse_location = mouse_location.Add(drag_delta_to_remain_detached); | 1036 mouse_location = mouse_location.Add(drag_delta_to_remain_detached); |
1037 panel_testing->DragTitlebar(mouse_location); | 1037 panel_testing->DragTitlebar(mouse_location); |
1038 ASSERT_EQ(0, docked_strip->num_panels()); | 1038 ASSERT_EQ(0, docked_strip->num_panels()); |
1039 ASSERT_EQ(1, detached_strip->num_panels()); | 1039 ASSERT_EQ(1, detached_strip->num_panels()); |
1040 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 1040 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
1041 gfx::Rect panel_new_bounds = panel_old_bounds; | 1041 gfx::Rect panel_new_bounds = panel_old_bounds; |
1042 panel_new_bounds.Offset(drag_delta_to_remain_detached); | 1042 panel_new_bounds.Offset(drag_delta_to_remain_detached); |
1043 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 1043 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
1044 | 1044 |
1045 // Continue dragging down the panel to make it close enough to the bottom of | 1045 // Continue dragging down the panel to make it close enough to the bottom of |
1046 // work area. | 1046 // work area. |
1047 // Expect that the panel is previewed as docked. | 1047 // Expect that the panel is previewed as docked. |
1048 gfx::Point drag_delta_to_attach = GetDragDeltaToAttach(panel); | 1048 gfx::Vector2d drag_delta_to_attach = GetDragDeltaToAttach(panel); |
1049 mouse_location = mouse_location.Add(drag_delta_to_attach); | 1049 mouse_location = mouse_location.Add(drag_delta_to_attach); |
1050 panel_testing->DragTitlebar(mouse_location); | 1050 panel_testing->DragTitlebar(mouse_location); |
1051 ASSERT_EQ(1, docked_strip->num_panels()); | 1051 ASSERT_EQ(1, docked_strip->num_panels()); |
1052 ASSERT_EQ(0, detached_strip->num_panels()); | 1052 ASSERT_EQ(0, detached_strip->num_panels()); |
1053 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); | 1053 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); |
1054 panel_new_bounds.Offset(drag_delta_to_attach); | 1054 panel_new_bounds.Offset(drag_delta_to_attach); |
1055 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 1055 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
1056 | 1056 |
1057 // Cancel the drag. | 1057 // Cancel the drag. |
1058 // Expect that the panel is back as detached. | 1058 // Expect that the panel is back as detached. |
(...skipping 19 matching lines...) Expand all Loading... |
1078 gfx::Rect panel_old_bounds = panel->GetBounds(); | 1078 gfx::Rect panel_old_bounds = panel->GetBounds(); |
1079 | 1079 |
1080 // Press on title-bar. | 1080 // Press on title-bar. |
1081 scoped_ptr<NativePanelTesting> panel_testing( | 1081 scoped_ptr<NativePanelTesting> panel_testing( |
1082 CreateNativePanelTesting(panel)); | 1082 CreateNativePanelTesting(panel)); |
1083 gfx::Point mouse_location(panel->GetBounds().origin()); | 1083 gfx::Point mouse_location(panel->GetBounds().origin()); |
1084 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); | 1084 panel_testing->PressLeftMouseButtonTitlebar(mouse_location); |
1085 | 1085 |
1086 // Drag up the panel to trigger the detach. | 1086 // Drag up the panel to trigger the detach. |
1087 // Expect that the panel is previewed as detached. | 1087 // Expect that the panel is previewed as detached. |
1088 gfx::Point drag_delta_to_detach = GetDragDeltaToDetach(); | 1088 gfx::Vector2d drag_delta_to_detach = GetDragDeltaToDetach(); |
1089 mouse_location = mouse_location.Add(drag_delta_to_detach); | 1089 mouse_location = mouse_location.Add(drag_delta_to_detach); |
1090 panel_testing->DragTitlebar(mouse_location); | 1090 panel_testing->DragTitlebar(mouse_location); |
1091 ASSERT_EQ(0, docked_strip->num_panels()); | 1091 ASSERT_EQ(0, docked_strip->num_panels()); |
1092 ASSERT_EQ(1, detached_strip->num_panels()); | 1092 ASSERT_EQ(1, detached_strip->num_panels()); |
1093 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 1093 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
1094 gfx::Rect panel_new_bounds = panel_old_bounds; | 1094 gfx::Rect panel_new_bounds = panel_old_bounds; |
1095 panel_new_bounds.Offset(drag_delta_to_detach); | 1095 panel_new_bounds.Offset(drag_delta_to_detach); |
1096 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 1096 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
1097 | 1097 |
1098 // Continue dragging down the panel to trigger the re-attach. | 1098 // Continue dragging down the panel to trigger the re-attach. |
1099 gfx::Point drag_delta_to_reattach = GetDragDeltaToAttach(panel); | 1099 gfx::Vector2d drag_delta_to_reattach = GetDragDeltaToAttach(panel); |
1100 mouse_location = mouse_location.Add(drag_delta_to_reattach); | 1100 mouse_location = mouse_location.Add(drag_delta_to_reattach); |
1101 panel_testing->DragTitlebar(mouse_location); | 1101 panel_testing->DragTitlebar(mouse_location); |
1102 ASSERT_EQ(1, docked_strip->num_panels()); | 1102 ASSERT_EQ(1, docked_strip->num_panels()); |
1103 ASSERT_EQ(0, detached_strip->num_panels()); | 1103 ASSERT_EQ(0, detached_strip->num_panels()); |
1104 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); | 1104 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); |
1105 panel_new_bounds.Offset(drag_delta_to_reattach); | 1105 panel_new_bounds.Offset(drag_delta_to_reattach); |
1106 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 1106 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
1107 | 1107 |
1108 // Continue dragging up the panel to trigger the detach again. | 1108 // Continue dragging up the panel to trigger the detach again. |
1109 gfx::Point drag_delta_to_detach_again = GetDragDeltaToDetach(); | 1109 gfx::Vector2d drag_delta_to_detach_again = GetDragDeltaToDetach(); |
1110 mouse_location = mouse_location.Add(drag_delta_to_detach_again); | 1110 mouse_location = mouse_location.Add(drag_delta_to_detach_again); |
1111 panel_testing->DragTitlebar(mouse_location); | 1111 panel_testing->DragTitlebar(mouse_location); |
1112 ASSERT_EQ(0, docked_strip->num_panels()); | 1112 ASSERT_EQ(0, docked_strip->num_panels()); |
1113 ASSERT_EQ(1, detached_strip->num_panels()); | 1113 ASSERT_EQ(1, detached_strip->num_panels()); |
1114 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 1114 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
1115 panel_new_bounds.Offset(drag_delta_to_detach_again); | 1115 panel_new_bounds.Offset(drag_delta_to_detach_again); |
1116 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); | 1116 EXPECT_EQ(panel_new_bounds, panel->GetBounds()); |
1117 | 1117 |
1118 // Cancel the drag. | 1118 // Cancel the drag. |
1119 // Expect that the panel stays as docked. | 1119 // Expect that the panel stays as docked. |
1120 panel_testing->CancelDragTitlebar(); | 1120 panel_testing->CancelDragTitlebar(); |
1121 ASSERT_EQ(1, docked_strip->num_panels()); | 1121 ASSERT_EQ(1, docked_strip->num_panels()); |
1122 ASSERT_EQ(0, detached_strip->num_panels()); | 1122 ASSERT_EQ(0, detached_strip->num_panels()); |
1123 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); | 1123 EXPECT_EQ(PanelStrip::DOCKED, panel->panel_strip()->type()); |
1124 EXPECT_EQ(panel_old_bounds, panel->GetBounds()); | 1124 EXPECT_EQ(panel_old_bounds, panel->GetBounds()); |
1125 | 1125 |
1126 panel_manager->CloseAll(); | 1126 panel_manager->CloseAll(); |
1127 } | 1127 } |
1128 | 1128 |
1129 IN_PROC_BROWSER_TEST_F(PanelDragBrowserTest, DetachWithSqueeze) { | 1129 IN_PROC_BROWSER_TEST_F(PanelDragBrowserTest, DetachWithSqueeze) { |
1130 PanelManager* panel_manager = PanelManager::GetInstance(); | 1130 PanelManager* panel_manager = PanelManager::GetInstance(); |
1131 DockedPanelStrip* docked_strip = panel_manager->docked_strip(); | 1131 DockedPanelStrip* docked_strip = panel_manager->docked_strip(); |
1132 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); | 1132 DetachedPanelStrip* detached_strip = panel_manager->detached_strip(); |
1133 | 1133 |
1134 gfx::Point drag_delta_to_detach = GetDragDeltaToDetach(); | 1134 gfx::Vector2d drag_delta_to_detach = GetDragDeltaToDetach(); |
1135 | 1135 |
1136 // Create some docked panels. | 1136 // Create some docked panels. |
1137 // docked: P1 P2 P3 P4 P5 | 1137 // docked: P1 P2 P3 P4 P5 |
1138 Panel* panel1 = CreateDockedPanel("1", gfx::Rect(0, 0, 200, 100)); | 1138 Panel* panel1 = CreateDockedPanel("1", gfx::Rect(0, 0, 200, 100)); |
1139 Panel* panel2 = CreateDockedPanel("2", gfx::Rect(0, 0, 200, 100)); | 1139 Panel* panel2 = CreateDockedPanel("2", gfx::Rect(0, 0, 200, 100)); |
1140 Panel* panel3 = CreateDockedPanel("3", gfx::Rect(0, 0, 200, 100)); | 1140 Panel* panel3 = CreateDockedPanel("3", gfx::Rect(0, 0, 200, 100)); |
1141 Panel* panel4 = CreateDockedPanel("4", gfx::Rect(0, 0, 200, 100)); | 1141 Panel* panel4 = CreateDockedPanel("4", gfx::Rect(0, 0, 200, 100)); |
1142 Panel* panel5 = CreateDockedPanel("5", gfx::Rect(0, 0, 200, 100)); | 1142 Panel* panel5 = CreateDockedPanel("5", gfx::Rect(0, 0, 200, 100)); |
1143 ASSERT_EQ(0, detached_strip->num_panels()); | 1143 ASSERT_EQ(0, detached_strip->num_panels()); |
1144 ASSERT_EQ(5, docked_strip->num_panels()); | 1144 ASSERT_EQ(5, docked_strip->num_panels()); |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1339 | 1339 |
1340 // Drag down the panel. Expect that the panel can be dragged without | 1340 // Drag down the panel. Expect that the panel can be dragged without |
1341 // constraint. | 1341 // constraint. |
1342 drag_to_location = gfx::Point(280, 150); | 1342 drag_to_location = gfx::Point(280, 150); |
1343 DragPanelToMouseLocation(panel, drag_to_location); | 1343 DragPanelToMouseLocation(panel, drag_to_location); |
1344 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); | 1344 EXPECT_EQ(PanelStrip::DETACHED, panel->panel_strip()->type()); |
1345 EXPECT_EQ(drag_to_location, panel->GetBounds().origin()); | 1345 EXPECT_EQ(drag_to_location, panel->GetBounds().origin()); |
1346 | 1346 |
1347 panel_manager->CloseAll(); | 1347 panel_manager->CloseAll(); |
1348 } | 1348 } |
OLD | NEW |