| 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/wm/drag_window_resizer.h" | 5 #include "ash/wm/drag_window_resizer.h" |
| 6 | 6 |
| 7 #include "ash/display/mouse_cursor_event_filter.h" | 7 #include "ash/display/mouse_cursor_event_filter.h" |
| 8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
| 9 #include "ash/shelf/shelf_layout_manager.h" | 9 #include "ash/shelf/shelf_layout_manager.h" |
| 10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 Shell::GetInstance()->cursor_manager()); | 487 Shell::GetInstance()->cursor_manager()); |
| 488 // Move window from the root window with 1.0 device scale factor to the root | 488 // Move window from the root window with 1.0 device scale factor to the root |
| 489 // window with 2.0 device scale factor. | 489 // window with 2.0 device scale factor. |
| 490 { | 490 { |
| 491 window_->SetBoundsInScreen(gfx::Rect(0, 0, 50, 60), | 491 window_->SetBoundsInScreen(gfx::Rect(0, 0, 50, 60), |
| 492 Shell::GetScreen()->GetPrimaryDisplay()); | 492 Shell::GetScreen()->GetPrimaryDisplay()); |
| 493 EXPECT_EQ(root_windows[0], window_->GetRootWindow()); | 493 EXPECT_EQ(root_windows[0], window_->GetRootWindow()); |
| 494 // Grab (0, 0) of the window. | 494 // Grab (0, 0) of the window. |
| 495 scoped_ptr<WindowResizer> resizer(CreateDragWindowResizer( | 495 scoped_ptr<WindowResizer> resizer(CreateDragWindowResizer( |
| 496 window_.get(), gfx::Point(), HTCAPTION)); | 496 window_.get(), gfx::Point(), HTCAPTION)); |
| 497 EXPECT_EQ(1.0f, cursor_test_api.GetCurrentCursor().device_scale_factor()); | 497 EXPECT_EQ(1.0f, cursor_test_api.GetDisplay().device_scale_factor()); |
| 498 ASSERT_TRUE(resizer.get()); | 498 ASSERT_TRUE(resizer.get()); |
| 499 resizer->Drag(CalculateDragPoint(*resizer, 399, 200), 0); | 499 resizer->Drag(CalculateDragPoint(*resizer, 399, 200), 0); |
| 500 WarpMouseCursorIfNecessary(root_windows[0], gfx::Point(399, 200)); | 500 WarpMouseCursorIfNecessary(root_windows[0], gfx::Point(399, 200)); |
| 501 EXPECT_EQ(2.0f, cursor_test_api.GetCurrentCursor().device_scale_factor()); | 501 EXPECT_EQ(2.0f, cursor_test_api.GetDisplay().device_scale_factor()); |
| 502 resizer->CompleteDrag(); | 502 resizer->CompleteDrag(); |
| 503 EXPECT_EQ(2.0f, cursor_test_api.GetCurrentCursor().device_scale_factor()); | 503 EXPECT_EQ(2.0f, cursor_test_api.GetDisplay().device_scale_factor()); |
| 504 } | 504 } |
| 505 | 505 |
| 506 // Move window from the root window with 2.0 device scale factor to the root | 506 // Move window from the root window with 2.0 device scale factor to the root |
| 507 // window with 1.0 device scale factor. | 507 // window with 1.0 device scale factor. |
| 508 { | 508 { |
| 509 // Make sure the window is on the default container first. | 509 // Make sure the window is on the default container first. |
| 510 aura::Window* default_container = | 510 aura::Window* default_container = |
| 511 GetRootWindowController(root_windows[1]) | 511 GetRootWindowController(root_windows[1]) |
| 512 ->GetContainer(kShellWindowId_DefaultContainer); | 512 ->GetContainer(kShellWindowId_DefaultContainer); |
| 513 default_container->AddChild(window_.get()); | 513 default_container->AddChild(window_.get()); |
| 514 window_->SetBoundsInScreen( | 514 window_->SetBoundsInScreen( |
| 515 gfx::Rect(600, 0, 50, 60), | 515 gfx::Rect(600, 0, 50, 60), |
| 516 Shell::GetScreen()->GetDisplayNearestWindow(root_windows[1])); | 516 Shell::GetScreen()->GetDisplayNearestWindow(root_windows[1])); |
| 517 EXPECT_EQ(root_windows[1], window_->GetRootWindow()); | 517 EXPECT_EQ(root_windows[1], window_->GetRootWindow()); |
| 518 // Grab (0, 0) of the window. | 518 // Grab (0, 0) of the window. |
| 519 scoped_ptr<WindowResizer> resizer(CreateDragWindowResizer( | 519 scoped_ptr<WindowResizer> resizer(CreateDragWindowResizer( |
| 520 window_.get(), gfx::Point(), HTCAPTION)); | 520 window_.get(), gfx::Point(), HTCAPTION)); |
| 521 EXPECT_EQ(2.0f, cursor_test_api.GetCurrentCursor().device_scale_factor()); | 521 EXPECT_EQ(2.0f, cursor_test_api.GetDisplay().device_scale_factor()); |
| 522 ASSERT_TRUE(resizer.get()); | 522 ASSERT_TRUE(resizer.get()); |
| 523 resizer->Drag(CalculateDragPoint(*resizer, -200, 200), 0); | 523 resizer->Drag(CalculateDragPoint(*resizer, -200, 200), 0); |
| 524 WarpMouseCursorIfNecessary(root_windows[1], gfx::Point(400, 200)); | 524 WarpMouseCursorIfNecessary(root_windows[1], gfx::Point(400, 200)); |
| 525 EXPECT_EQ(1.0f, cursor_test_api.GetCurrentCursor().device_scale_factor()); | 525 EXPECT_EQ(1.0f, cursor_test_api.GetDisplay().device_scale_factor()); |
| 526 resizer->CompleteDrag(); | 526 resizer->CompleteDrag(); |
| 527 EXPECT_EQ(1.0f, cursor_test_api.GetCurrentCursor().device_scale_factor()); | 527 EXPECT_EQ(1.0f, cursor_test_api.GetDisplay().device_scale_factor()); |
| 528 } | 528 } |
| 529 } | 529 } |
| 530 | 530 |
| 531 // Verifies several kinds of windows can be moved across displays. | 531 // Verifies several kinds of windows can be moved across displays. |
| 532 TEST_F(DragWindowResizerTest, MoveWindowAcrossDisplays) { | 532 TEST_F(DragWindowResizerTest, MoveWindowAcrossDisplays) { |
| 533 if (!SupportsMultipleDisplays()) | 533 if (!SupportsMultipleDisplays()) |
| 534 return; | 534 return; |
| 535 | 535 |
| 536 // The secondary display is logically on the right, but on the system (e.g. X) | 536 // The secondary display is logically on the right, but on the system (e.g. X) |
| 537 // layer, it's below the primary one. See UpdateDisplay() in ash_test_base.cc. | 537 // layer, it's below the primary one. See UpdateDisplay() in ash_test_base.cc. |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 window, gfx::Point(), HTCAPTION)); | 626 window, gfx::Point(), HTCAPTION)); |
| 627 ASSERT_TRUE(resizer.get()); | 627 ASSERT_TRUE(resizer.get()); |
| 628 resizer->Drag(CalculateDragPoint(*resizer, 399, 200), 0); | 628 resizer->Drag(CalculateDragPoint(*resizer, 399, 200), 0); |
| 629 EXPECT_TRUE(WarpMouseCursorIfNecessary(root_windows[0], | 629 EXPECT_TRUE(WarpMouseCursorIfNecessary(root_windows[0], |
| 630 gfx::Point(399, 200))); | 630 gfx::Point(399, 200))); |
| 631 resizer->CompleteDrag(); | 631 resizer->CompleteDrag(); |
| 632 } | 632 } |
| 633 } | 633 } |
| 634 | 634 |
| 635 } // namespace ash | 635 } // namespace ash |
| OLD | NEW |