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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 void HandlePauseVideo(const base::DictionaryValue& data); | 186 void HandlePauseVideo(const base::DictionaryValue& data); |
186 void HandleVideoControl(const base::DictionaryValue& data); | 187 void HandleVideoControl(const base::DictionaryValue& data); |
187 void HandlePauseAudio(const base::DictionaryValue& data); | 188 void HandlePauseAudio(const base::DictionaryValue& data); |
188 void HandleOnPinFetched(const base::DictionaryValue& data); | 189 void HandleOnPinFetched(const base::DictionaryValue& data); |
189 void HandleOnThirdPartyTokenFetched(const base::DictionaryValue& data); | 190 void HandleOnThirdPartyTokenFetched(const base::DictionaryValue& data); |
190 void HandleRequestPairing(const base::DictionaryValue& data); | 191 void HandleRequestPairing(const base::DictionaryValue& data); |
191 void HandleExtensionMessage(const base::DictionaryValue& data); | 192 void HandleExtensionMessage(const base::DictionaryValue& data); |
192 void HandleAllowMouseLockMessage(); | 193 void HandleAllowMouseLockMessage(); |
193 void HandleSendMouseInputWhenUnfocused(); | 194 void HandleSendMouseInputWhenUnfocused(); |
194 void HandleDelegateLargeCursors(); | 195 void HandleDelegateLargeCursors(); |
| 196 void HandleEnableTouchEvents(); |
195 | 197 |
196 void Disconnect(); | 198 void Disconnect(); |
197 | 199 |
198 // Helper method to post messages to the webapp. | 200 // Helper method to post messages to the webapp. |
199 void PostChromotingMessage(const std::string& method, | 201 void PostChromotingMessage(const std::string& method, |
200 const pp::VarDictionary& data); | 202 const pp::VarDictionary& data); |
201 | 203 |
202 // Same as above, but serializes messages to JSON before sending them. This | 204 // Same as above, but serializes messages to JSON before sending them. This |
203 // method is used for backward compatibility with older version of the webapp | 205 // method is used for backward compatibility with older version of the webapp |
204 // that expect to received most messages formatted using JSON. | 206 // that expect to received most messages formatted using JSON. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 // Contains the most-recently-reported desktop shape, if any. | 245 // Contains the most-recently-reported desktop shape, if any. |
244 scoped_ptr<webrtc::DesktopRegion> desktop_shape_; | 246 scoped_ptr<webrtc::DesktopRegion> desktop_shape_; |
245 | 247 |
246 scoped_ptr<DelegatingSignalStrategy> signal_strategy_; | 248 scoped_ptr<DelegatingSignalStrategy> signal_strategy_; |
247 | 249 |
248 scoped_ptr<ChromotingClient> client_; | 250 scoped_ptr<ChromotingClient> client_; |
249 | 251 |
250 // Input pipeline components, in reverse order of distance from input source. | 252 // Input pipeline components, in reverse order of distance from input source. |
251 protocol::MouseInputFilter mouse_input_filter_; | 253 protocol::MouseInputFilter mouse_input_filter_; |
252 protocol::InputEventTracker input_tracker_; | 254 protocol::InputEventTracker input_tracker_; |
| 255 TouchInputScaler touch_input_scaler_; |
253 KeyEventMapper key_mapper_; | 256 KeyEventMapper key_mapper_; |
254 scoped_ptr<protocol::InputFilter> normalizing_input_filter_; | 257 scoped_ptr<protocol::InputFilter> normalizing_input_filter_; |
255 PepperInputHandler input_handler_; | 258 PepperInputHandler input_handler_; |
256 | 259 |
257 // Cursor shape handling components, in reverse order to that in which they | 260 // Cursor shape handling components, in reverse order to that in which they |
258 // process cursor shape events. Note that |mouse_locker_| appears in the | 261 // process cursor shape events. Note that |mouse_locker_| appears in the |
259 // cursor pipeline since it is triggered by receipt of an empty cursor. | 262 // cursor pipeline since it is triggered by receipt of an empty cursor. |
260 PepperCursorSetter cursor_setter_; | 263 PepperCursorSetter cursor_setter_; |
261 scoped_ptr<PepperMouseLocker> mouse_locker_; | 264 scoped_ptr<PepperMouseLocker> mouse_locker_; |
262 EmptyCursorFilter empty_cursor_filter_; | 265 EmptyCursorFilter empty_cursor_filter_; |
263 | 266 |
264 // Used to control text input settings, such as whether to show the IME. | 267 // Used to control text input settings, such as whether to show the IME. |
265 pp::TextInputController text_input_controller_; | 268 pp::TextInputController text_input_controller_; |
266 | 269 |
267 // PIN Fetcher. | 270 // PIN Fetcher. |
268 bool use_async_pin_dialog_; | 271 bool use_async_pin_dialog_; |
269 protocol::SecretFetchedCallback secret_fetched_callback_; | 272 protocol::SecretFetchedCallback secret_fetched_callback_; |
270 | 273 |
271 base::WeakPtr<TokenFetcherProxy> token_fetcher_proxy_; | 274 base::WeakPtr<TokenFetcherProxy> token_fetcher_proxy_; |
272 | 275 |
273 // Weak reference to this instance, used for global logging and task posting. | 276 // Weak reference to this instance, used for global logging and task posting. |
274 base::WeakPtrFactory<ChromotingInstance> weak_factory_; | 277 base::WeakPtrFactory<ChromotingInstance> weak_factory_; |
275 | 278 |
276 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); | 279 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); |
277 }; | 280 }; |
278 | 281 |
279 } // namespace remoting | 282 } // namespace remoting |
280 | 283 |
281 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 284 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
OLD | NEW |