Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: ash/display/unified_mouse_warp_controller_unittest.cc

Issue 2355063002: Separate ash::test::DisplayManagerTestApi from ash (Closed)
Patch Set: review comment Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/display/unified_mouse_warp_controller.h ('k') | ash/display/window_tree_host_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/unified_mouse_warp_controller.h" 5 #include "ash/display/unified_mouse_warp_controller.h"
6 6
7 #include "ash/display/display_manager.h" 7 #include "ash/display/display_manager.h"
8 #include "ash/display/display_util.h" 8 #include "ash/display/display_util.h"
9 #include "ash/display/mirror_window_controller.h" 9 #include "ash/display/mirror_window_controller.h"
10 #include "ash/display/mouse_cursor_event_filter.h" 10 #include "ash/display/mouse_cursor_event_filter.h"
(...skipping 11 matching lines...) Expand all
22 22
23 namespace ash { 23 namespace ash {
24 24
25 class UnifiedMouseWarpControllerTest : public test::AshTestBase { 25 class UnifiedMouseWarpControllerTest : public test::AshTestBase {
26 public: 26 public:
27 UnifiedMouseWarpControllerTest() {} 27 UnifiedMouseWarpControllerTest() {}
28 ~UnifiedMouseWarpControllerTest() override {} 28 ~UnifiedMouseWarpControllerTest() override {}
29 29
30 void SetUp() override { 30 void SetUp() override {
31 test::AshTestBase::SetUp(); 31 test::AshTestBase::SetUp();
32 Shell::GetInstance()->display_manager()->SetUnifiedDesktopEnabled(true); 32 display_manager()->SetUnifiedDesktopEnabled(true);
33 } 33 }
34 34
35 protected: 35 protected:
36 bool FindMirrroingDisplayIdContainingNativePoint( 36 bool FindMirrroingDisplayIdContainingNativePoint(
37 const gfx::Point& point_in_native, 37 const gfx::Point& point_in_native,
38 int64_t* display_id, 38 int64_t* display_id,
39 gfx::Point* point_in_mirroring_host, 39 gfx::Point* point_in_mirroring_host,
40 gfx::Point* point_in_unified_host) { 40 gfx::Point* point_in_unified_host) {
41 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); 41 for (auto display : display_manager()->software_mirroring_display_list()) {
42 for (auto display : display_manager->software_mirroring_display_list()) {
43 display::ManagedDisplayInfo info = 42 display::ManagedDisplayInfo info =
44 display_manager->GetDisplayInfo(display.id()); 43 display_manager()->GetDisplayInfo(display.id());
45 if (info.bounds_in_native().Contains(point_in_native)) { 44 if (info.bounds_in_native().Contains(point_in_native)) {
46 *display_id = info.id(); 45 *display_id = info.id();
47 *point_in_unified_host = point_in_native; 46 *point_in_unified_host = point_in_native;
48 const gfx::Point& origin = info.bounds_in_native().origin(); 47 const gfx::Point& origin = info.bounds_in_native().origin();
49 // Convert to mirroring host. 48 // Convert to mirroring host.
50 point_in_unified_host->Offset(-origin.x(), -origin.y()); 49 point_in_unified_host->Offset(-origin.x(), -origin.y());
51 *point_in_mirroring_host = *point_in_unified_host; 50 *point_in_mirroring_host = *point_in_unified_host;
52 // Convert from mirroring host to unified host. 51 // Convert from mirroring host to unified host.
53 AshWindowTreeHost* ash_host = 52 AshWindowTreeHost* ash_host =
54 Shell::GetInstance() 53 Shell::GetInstance()
55 ->window_tree_host_manager() 54 ->window_tree_host_manager()
56 ->mirror_window_controller() 55 ->mirror_window_controller()
57 ->GetAshWindowTreeHostForDisplayId(info.id()); 56 ->GetAshWindowTreeHostForDisplayId(info.id());
58 ash_host->AsWindowTreeHost()->ConvertPointFromHost( 57 ash_host->AsWindowTreeHost()->ConvertPointFromHost(
59 point_in_unified_host); 58 point_in_unified_host);
60 return true; 59 return true;
61 } 60 }
62 } 61 }
63 return false; 62 return false;
64 } 63 }
65 64
66 bool TestIfMouseWarpsAt(const gfx::Point& point_in_native) { 65 bool TestIfMouseWarpsAt(const gfx::Point& point_in_native) {
67 static_cast<UnifiedMouseWarpController*>( 66 static_cast<UnifiedMouseWarpController*>(
68 Shell::GetInstance() 67 Shell::GetInstance()
69 ->mouse_cursor_filter() 68 ->mouse_cursor_filter()
70 ->mouse_warp_controller_for_test()) 69 ->mouse_warp_controller_for_test())
71 ->update_location_for_test(); 70 ->update_location_for_test();
72 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
73 int64_t orig_mirroring_display_id; 71 int64_t orig_mirroring_display_id;
74 gfx::Point point_in_unified_host; 72 gfx::Point point_in_unified_host;
75 gfx::Point point_in_mirroring_host; 73 gfx::Point point_in_mirroring_host;
76 if (!FindMirrroingDisplayIdContainingNativePoint( 74 if (!FindMirrroingDisplayIdContainingNativePoint(
77 point_in_native, &orig_mirroring_display_id, 75 point_in_native, &orig_mirroring_display_id,
78 &point_in_mirroring_host, &point_in_unified_host)) { 76 &point_in_mirroring_host, &point_in_unified_host)) {
79 return false; 77 return false;
80 } 78 }
81 #if defined(USE_OZONE) 79 #if defined(USE_OZONE)
82 // The location of the ozone's native event is relative to the host. 80 // The location of the ozone's native event is relative to the host.
83 GetEventGenerator().MoveMouseToWithNative(point_in_unified_host, 81 GetEventGenerator().MoveMouseToWithNative(point_in_unified_host,
84 point_in_mirroring_host); 82 point_in_mirroring_host);
85 #else 83 #else
86 GetEventGenerator().MoveMouseToWithNative(point_in_unified_host, 84 GetEventGenerator().MoveMouseToWithNative(point_in_unified_host,
87 point_in_native); 85 point_in_native);
88 #endif 86 #endif
89 aura::Window* root = Shell::GetPrimaryRootWindow(); 87 aura::Window* root = Shell::GetPrimaryRootWindow();
90 gfx::Point new_location_in_unified_host = 88 gfx::Point new_location_in_unified_host =
91 aura::Env::GetInstance()->last_mouse_location(); 89 aura::Env::GetInstance()->last_mouse_location();
92 // Convert screen to the host. 90 // Convert screen to the host.
93 root->GetHost()->ConvertPointToHost(&new_location_in_unified_host); 91 root->GetHost()->ConvertPointToHost(&new_location_in_unified_host);
94 92
95 int new_index = display::FindDisplayIndexContainingPoint( 93 int new_index = display::FindDisplayIndexContainingPoint(
96 display_manager->software_mirroring_display_list(), 94 display_manager()->software_mirroring_display_list(),
97 new_location_in_unified_host); 95 new_location_in_unified_host);
98 if (new_index < 0) 96 if (new_index < 0)
99 return false; 97 return false;
100 return orig_mirroring_display_id != 98 return orig_mirroring_display_id !=
101 display_manager->software_mirroring_display_list()[new_index].id(); 99 display_manager()->software_mirroring_display_list()[new_index].id();
102 } 100 }
103 101
104 MouseCursorEventFilter* event_filter() { 102 MouseCursorEventFilter* event_filter() {
105 return Shell::GetInstance()->mouse_cursor_filter(); 103 return Shell::GetInstance()->mouse_cursor_filter();
106 } 104 }
107 105
108 UnifiedMouseWarpController* mouse_warp_controller() { 106 UnifiedMouseWarpController* mouse_warp_controller() {
109 return static_cast<UnifiedMouseWarpController*>( 107 return static_cast<UnifiedMouseWarpController*>(
110 event_filter()->mouse_warp_controller_for_test()); 108 event_filter()->mouse_warp_controller_for_test());
111 } 109 }
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 EXPECT_TRUE(TestIfMouseWarpsAt(gfx::Point(600, 10))); 254 EXPECT_TRUE(TestIfMouseWarpsAt(gfx::Point(600, 10)));
257 EXPECT_EQ("249,5", // moved to 498 by 2px, divided by 2 (dsf). 255 EXPECT_EQ("249,5", // moved to 498 by 2px, divided by 2 (dsf).
258 aura::Env::GetInstance()->last_mouse_location().ToString()); 256 aura::Env::GetInstance()->last_mouse_location().ToString());
259 { 257 {
260 SCOPED_TRACE("1x2 NO WARP"); 258 SCOPED_TRACE("1x2 NO WARP");
261 NoWarpTestBody(); 259 NoWarpTestBody();
262 } 260 }
263 } 261 }
264 262
265 } // namespace aura 263 } // namespace aura
OLDNEW
« no previous file with comments | « ash/display/unified_mouse_warp_controller.h ('k') | ash/display/window_tree_host_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698