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

Side by Side Diff: remoting/host/local_input_monitor_chromeos.cc

Issue 756643006: Remote assistance on Chrome OS Part IX - Input injection on Ozone (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Ozone_input_injection
Patch Set: Fix rotation on X11 devices Created 6 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "remoting/host/local_input_monitor.h" 5 #include "remoting/host/local_input_monitor.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/threading/non_thread_safe.h" 11 #include "base/threading/non_thread_safe.h"
12 #include "remoting/host/chromeos/display_transform_util.h"
12 #include "remoting/host/client_session_control.h" 13 #include "remoting/host/client_session_control.h"
13 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" 14 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
14 #include "ui/events/event.h" 15 #include "ui/events/event.h"
15 #include "ui/events/event_utils.h" 16 #include "ui/events/event_utils.h"
16 #include "ui/events/keycodes/keyboard_codes.h" 17 #include "ui/events/keycodes/keyboard_codes.h"
17 #include "ui/events/platform/platform_event_observer.h" 18 #include "ui/events/platform/platform_event_observer.h"
18 #include "ui/events/platform/platform_event_source.h" 19 #include "ui/events/platform/platform_event_source.h"
19 20
20 namespace remoting { 21 namespace remoting {
21 22
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 ui::EventType type = ui::EventTypeFromNative(event); 103 ui::EventType type = ui::EventTypeFromNative(event);
103 if (type == ui::ET_MOUSE_MOVED) { 104 if (type == ui::ET_MOUSE_MOVED) {
104 HandleMouseMove(event); 105 HandleMouseMove(event);
105 } else if (type == ui::ET_KEY_PRESSED) { 106 } else if (type == ui::ET_KEY_PRESSED) {
106 HandleKeyPressed(event); 107 HandleKeyPressed(event);
107 } 108 }
108 } 109 }
109 110
110 void LocalInputMonitorChromeos::Core::HandleMouseMove( 111 void LocalInputMonitorChromeos::Core::HandleMouseMove(
111 const ui::PlatformEvent& event) { 112 const ui::PlatformEvent& event) {
112 gfx::Point mouse_position = ui::EventLocationFromNative(event); 113 gfx::PointF mouse_position = ui::EventLocationFromNative(event);
114 mouse_position = ConvertPointFromNativeScreen(mouse_position);
115
113 caller_task_runner_->PostTask( 116 caller_task_runner_->PostTask(
114 FROM_HERE, 117 FROM_HERE,
115 base::Bind( 118 base::Bind(
116 &ClientSessionControl::OnLocalMouseMoved, client_session_control_, 119 &ClientSessionControl::OnLocalMouseMoved, client_session_control_,
117 webrtc::DesktopVector(mouse_position.x(), mouse_position.y()))); 120 webrtc::DesktopVector(mouse_position.x(), mouse_position.y())));
118 } 121 }
119 122
120 void LocalInputMonitorChromeos::Core::HandleKeyPressed( 123 void LocalInputMonitorChromeos::Core::HandleKeyPressed(
121 const ui::PlatformEvent& event) { 124 const ui::PlatformEvent& event) {
122 ui::KeyEvent key_event(event); 125 ui::KeyEvent key_event(event);
(...skipping 11 matching lines...) Expand all
134 scoped_ptr<LocalInputMonitor> LocalInputMonitor::Create( 137 scoped_ptr<LocalInputMonitor> LocalInputMonitor::Create(
135 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 138 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
136 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 139 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
137 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, 140 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
138 base::WeakPtr<ClientSessionControl> client_session_control) { 141 base::WeakPtr<ClientSessionControl> client_session_control) {
139 return make_scoped_ptr(new LocalInputMonitorChromeos( 142 return make_scoped_ptr(new LocalInputMonitorChromeos(
140 caller_task_runner, input_task_runner, client_session_control)); 143 caller_task_runner, input_task_runner, client_session_control));
141 } 144 }
142 145
143 } // namespace remoting 146 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698