| 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 <X11/keysym.h> | 5 #include <X11/keysym.h> |
| 6 #include <X11/Xlib.h> | 6 #include <X11/Xlib.h> |
| 7 | 7 |
| 8 // X macro fail. | 8 // X macro fail. |
| 9 #if defined(RootWindow) | 9 #if defined(RootWindow) |
| 10 #undef RootWindow | 10 #undef RootWindow |
| 11 #endif | 11 #endif |
| 12 | 12 |
| 13 #include "base/bind.h" | 13 #include "base/bind.h" |
| 14 #include "base/logging.h" | 14 #include "base/logging.h" |
| 15 #include "base/macros.h" | 15 #include "base/macros.h" |
| 16 #include "ui/aura/client/screen_position_client.h" | 16 #include "ui/aura/client/screen_position_client.h" |
| 17 #include "ui/aura/env.h" | 17 #include "ui/aura/env.h" |
| 18 #include "ui/aura/test/aura_test_utils.h" | 18 #include "ui/aura/test/aura_test_utils.h" |
| 19 #include "ui/aura/test/ui_controls_factory_aura.h" | 19 #include "ui/aura/test/ui_controls_factory_aura.h" |
| 20 #include "ui/aura/test/x11_event_sender.h" | 20 #include "ui/aura/test/x11_event_sender.h" |
| 21 #include "ui/aura/window_event_dispatcher.h" | 21 #include "ui/aura/window_event_dispatcher.h" |
| 22 #include "ui/base/test/ui_controls_aura.h" | 22 #include "ui/base/test/ui_controls_aura.h" |
| 23 #include "ui/base/x/x11_util.h" | 23 #include "ui/base/x/x11_util.h" |
| 24 #include "ui/compositor/dip_util.h" | 24 #include "ui/compositor/dip_util.h" |
| 25 #include "ui/events/keycodes/keyboard_code_conversion_x.h" | 25 #include "ui/events/keycodes/keyboard_code_conversion_x.h" |
| 26 #include "ui/events/test/platform_event_waiter.h" | 26 #include "ui/events/test/platform_event_waiter.h" |
| 27 #include "ui/gfx/x/x11_connection.h" | 27 #include "ui/gfx/x/x11_connection.h" |
| 28 #include "ui/views/test/test_desktop_screen_x11.h" |
| 28 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h" | 29 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h" |
| 29 | 30 |
| 30 namespace views { | 31 namespace views { |
| 31 namespace test { | 32 namespace test { |
| 32 namespace { | 33 namespace { |
| 33 | 34 |
| 34 using ui_controls::DOWN; | 35 using ui_controls::DOWN; |
| 35 using ui_controls::LEFT; | 36 using ui_controls::LEFT; |
| 36 using ui_controls::MIDDLE; | 37 using ui_controls::MIDDLE; |
| 37 using ui_controls::MouseButton; | 38 using ui_controls::MouseButton; |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 if (screen_position_client) { | 139 if (screen_position_client) { |
| 139 screen_position_client->ConvertPointFromScreen(root_window, | 140 screen_position_client->ConvertPointFromScreen(root_window, |
| 140 &root_location); | 141 &root_location); |
| 141 } | 142 } |
| 142 | 143 |
| 143 aura::WindowTreeHost* host = root_window->GetHost(); | 144 aura::WindowTreeHost* host = root_window->GetHost(); |
| 144 gfx::Point root_current_location = | 145 gfx::Point root_current_location = |
| 145 aura::test::QueryLatestMousePositionRequestInHost(host); | 146 aura::test::QueryLatestMousePositionRequestInHost(host); |
| 146 host->ConvertPointFromHost(&root_current_location); | 147 host->ConvertPointFromHost(&root_current_location); |
| 147 | 148 |
| 149 auto screen = views::test::TestDesktopScreenX11::GetInstance(); |
| 150 DCHECK_EQ(screen, display::Screen::GetScreen()); |
| 151 screen->set_cursor_screen_point(gfx::Point(screen_x, screen_y)); |
| 152 |
| 148 if (root_location != root_current_location && button_down_mask == 0) { | 153 if (root_location != root_current_location && button_down_mask == 0) { |
| 149 // Move the cursor because EnterNotify/LeaveNotify are generated with the | 154 // Move the cursor because EnterNotify/LeaveNotify are generated with the |
| 150 // current mouse position as a result of XGrabPointer() | 155 // current mouse position as a result of XGrabPointer() |
| 151 root_window->MoveCursorTo(root_location); | 156 root_window->MoveCursorTo(root_location); |
| 152 } else { | 157 } else { |
| 153 XEvent xevent = {0}; | 158 XEvent xevent = {0}; |
| 154 XMotionEvent* xmotion = &xevent.xmotion; | 159 XMotionEvent* xmotion = &xevent.xmotion; |
| 155 xmotion->type = MotionNotify; | 160 xmotion->type = MotionNotify; |
| 156 xmotion->x = root_location.x(); | 161 xmotion->x = root_location.x(); |
| 157 xmotion->y = root_location.y(); | 162 xmotion->y = root_location.y(); |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 | 285 |
| 281 UIControlsAura* CreateUIControlsDesktopAura() { | 286 UIControlsAura* CreateUIControlsDesktopAura() { |
| 282 // The constructor of UIControlsDesktopX11 needs X11 connection to be | 287 // The constructor of UIControlsDesktopX11 needs X11 connection to be |
| 283 // initialized. | 288 // initialized. |
| 284 gfx::InitializeThreadedX11(); | 289 gfx::InitializeThreadedX11(); |
| 285 return new UIControlsDesktopX11(); | 290 return new UIControlsDesktopX11(); |
| 286 } | 291 } |
| 287 | 292 |
| 288 } // namespace test | 293 } // namespace test |
| 289 } // namespace views | 294 } // namespace views |
| OLD | NEW |