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 #ifndef REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 5 #ifndef REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
6 #define REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 6 #define REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
13 #include "base/thread_task_runner_handle.h" | 13 #include "base/thread_task_runner_handle.h" |
14 #include "ppapi/c/pp_instance.h" | 14 #include "ppapi/c/pp_instance.h" |
15 #include "ppapi/c/pp_rect.h" | 15 #include "ppapi/c/pp_rect.h" |
16 #include "ppapi/c/pp_resource.h" | 16 #include "ppapi/c/pp_resource.h" |
17 #include "ppapi/cpp/instance.h" | 17 #include "ppapi/cpp/instance.h" |
18 #include "ppapi/cpp/text_input_controller.h" | 18 #include "ppapi/cpp/text_input_controller.h" |
19 #include "ppapi/cpp/var.h" | 19 #include "ppapi/cpp/var.h" |
20 #include "remoting/client/client_context.h" | 20 #include "remoting/client/client_context.h" |
21 #include "remoting/client/client_user_interface.h" | 21 #include "remoting/client/client_user_interface.h" |
22 #include "remoting/client/key_event_mapper.h" | 22 #include "remoting/client/key_event_mapper.h" |
23 #include "remoting/client/plugin/empty_cursor_filter.h" | 23 #include "remoting/client/plugin/empty_cursor_filter.h" |
24 #include "remoting/client/plugin/pepper_cursor_setter.h" | 24 #include "remoting/client/plugin/pepper_cursor_setter.h" |
25 #include "remoting/client/plugin/pepper_input_handler.h" | 25 #include "remoting/client/plugin/pepper_input_handler.h" |
26 #include "remoting/client/plugin/pepper_plugin_thread_delegate.h" | 26 #include "remoting/client/plugin/pepper_plugin_thread_delegate.h" |
27 #include "remoting/client/plugin/pepper_video_renderer.h" | 27 #include "remoting/client/plugin/pepper_video_renderer.h" |
| 28 #include "remoting/client/plugin/touch_input_scaler.h" |
28 #include "remoting/proto/event.pb.h" | 29 #include "remoting/proto/event.pb.h" |
29 #include "remoting/protocol/client_stub.h" | 30 #include "remoting/protocol/client_stub.h" |
30 #include "remoting/protocol/clipboard_stub.h" | 31 #include "remoting/protocol/clipboard_stub.h" |
31 #include "remoting/protocol/connection_to_host.h" | 32 #include "remoting/protocol/connection_to_host.h" |
32 #include "remoting/protocol/cursor_shape_stub.h" | 33 #include "remoting/protocol/cursor_shape_stub.h" |
33 #include "remoting/protocol/input_event_tracker.h" | 34 #include "remoting/protocol/input_event_tracker.h" |
34 #include "remoting/protocol/mouse_input_filter.h" | 35 #include "remoting/protocol/mouse_input_filter.h" |
35 #include "remoting/protocol/negotiating_client_authenticator.h" | 36 #include "remoting/protocol/negotiating_client_authenticator.h" |
36 #include "remoting/protocol/third_party_client_authenticator.h" | 37 #include "remoting/protocol/third_party_client_authenticator.h" |
37 | 38 |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 void HandleVideoControl(const base::DictionaryValue& data); | 189 void HandleVideoControl(const base::DictionaryValue& data); |
189 void HandlePauseAudio(const base::DictionaryValue& data); | 190 void HandlePauseAudio(const base::DictionaryValue& data); |
190 void HandleOnPinFetched(const base::DictionaryValue& data); | 191 void HandleOnPinFetched(const base::DictionaryValue& data); |
191 void HandleOnThirdPartyTokenFetched(const base::DictionaryValue& data); | 192 void HandleOnThirdPartyTokenFetched(const base::DictionaryValue& data); |
192 void HandleRequestPairing(const base::DictionaryValue& data); | 193 void HandleRequestPairing(const base::DictionaryValue& data); |
193 void HandleExtensionMessage(const base::DictionaryValue& data); | 194 void HandleExtensionMessage(const base::DictionaryValue& data); |
194 void HandleAllowMouseLockMessage(); | 195 void HandleAllowMouseLockMessage(); |
195 void HandleSendMouseInputWhenUnfocused(); | 196 void HandleSendMouseInputWhenUnfocused(); |
196 void HandleDelegateLargeCursors(); | 197 void HandleDelegateLargeCursors(); |
197 void HandleEnableDebugRegion(const base::DictionaryValue& data); | 198 void HandleEnableDebugRegion(const base::DictionaryValue& data); |
| 199 void HandleEnableTouchEvents(); |
198 | 200 |
199 void Disconnect(); | 201 void Disconnect(); |
200 | 202 |
201 // Helper method to post messages to the webapp. | 203 // Helper method to post messages to the webapp. |
202 void PostChromotingMessage(const std::string& method, | 204 void PostChromotingMessage(const std::string& method, |
203 const pp::VarDictionary& data); | 205 const pp::VarDictionary& data); |
204 | 206 |
205 // Same as above, but serializes messages to JSON before sending them. This | 207 // Same as above, but serializes messages to JSON before sending them. This |
206 // method is used for backward compatibility with older version of the webapp | 208 // method is used for backward compatibility with older version of the webapp |
207 // that expect to received most messages formatted using JSON. | 209 // that expect to received most messages formatted using JSON. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 // Contains the most-recently-reported desktop shape, if any. | 251 // Contains the most-recently-reported desktop shape, if any. |
250 scoped_ptr<webrtc::DesktopRegion> desktop_shape_; | 252 scoped_ptr<webrtc::DesktopRegion> desktop_shape_; |
251 | 253 |
252 scoped_ptr<DelegatingSignalStrategy> signal_strategy_; | 254 scoped_ptr<DelegatingSignalStrategy> signal_strategy_; |
253 | 255 |
254 scoped_ptr<ChromotingClient> client_; | 256 scoped_ptr<ChromotingClient> client_; |
255 | 257 |
256 // Input pipeline components, in reverse order of distance from input source. | 258 // Input pipeline components, in reverse order of distance from input source. |
257 protocol::MouseInputFilter mouse_input_filter_; | 259 protocol::MouseInputFilter mouse_input_filter_; |
258 protocol::InputEventTracker input_tracker_; | 260 protocol::InputEventTracker input_tracker_; |
| 261 TouchInputScaler touch_input_scaler_; |
259 KeyEventMapper key_mapper_; | 262 KeyEventMapper key_mapper_; |
260 scoped_ptr<protocol::InputFilter> normalizing_input_filter_; | 263 scoped_ptr<protocol::InputFilter> normalizing_input_filter_; |
261 PepperInputHandler input_handler_; | 264 PepperInputHandler input_handler_; |
262 | 265 |
263 // Cursor shape handling components, in reverse order to that in which they | 266 // Cursor shape handling components, in reverse order to that in which they |
264 // process cursor shape events. Note that |mouse_locker_| appears in the | 267 // process cursor shape events. Note that |mouse_locker_| appears in the |
265 // cursor pipeline since it is triggered by receipt of an empty cursor. | 268 // cursor pipeline since it is triggered by receipt of an empty cursor. |
266 PepperCursorSetter cursor_setter_; | 269 PepperCursorSetter cursor_setter_; |
267 scoped_ptr<PepperMouseLocker> mouse_locker_; | 270 scoped_ptr<PepperMouseLocker> mouse_locker_; |
268 EmptyCursorFilter empty_cursor_filter_; | 271 EmptyCursorFilter empty_cursor_filter_; |
269 | 272 |
270 // Used to control text input settings, such as whether to show the IME. | 273 // Used to control text input settings, such as whether to show the IME. |
271 pp::TextInputController text_input_controller_; | 274 pp::TextInputController text_input_controller_; |
272 | 275 |
273 // PIN Fetcher. | 276 // PIN Fetcher. |
274 bool use_async_pin_dialog_; | 277 bool use_async_pin_dialog_; |
275 protocol::SecretFetchedCallback secret_fetched_callback_; | 278 protocol::SecretFetchedCallback secret_fetched_callback_; |
276 | 279 |
277 base::WeakPtr<TokenFetcherProxy> token_fetcher_proxy_; | 280 base::WeakPtr<TokenFetcherProxy> token_fetcher_proxy_; |
278 | 281 |
279 // Weak reference to this instance, used for global logging and task posting. | 282 // Weak reference to this instance, used for global logging and task posting. |
280 base::WeakPtrFactory<ChromotingInstance> weak_factory_; | 283 base::WeakPtrFactory<ChromotingInstance> weak_factory_; |
281 | 284 |
282 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); | 285 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); |
283 }; | 286 }; |
284 | 287 |
285 } // namespace remoting | 288 } // namespace remoting |
286 | 289 |
287 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 290 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
OLD | NEW |