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 #include "remoting/host/win/session_desktop_environment.h" | 5 #include "remoting/host/win/session_desktop_environment.h" |
6 | 6 |
| 7 #include <utility> |
| 8 |
7 #include "base/logging.h" | 9 #include "base/logging.h" |
8 #include "base/single_thread_task_runner.h" | 10 #include "base/single_thread_task_runner.h" |
9 #include "remoting/host/audio_capturer.h" | 11 #include "remoting/host/audio_capturer.h" |
10 #include "remoting/host/input_injector.h" | 12 #include "remoting/host/input_injector.h" |
11 #include "remoting/host/screen_controls.h" | 13 #include "remoting/host/screen_controls.h" |
12 #include "remoting/host/win/session_input_injector.h" | 14 #include "remoting/host/win/session_input_injector.h" |
13 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" | 15 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" |
14 | 16 |
15 namespace remoting { | 17 namespace remoting { |
16 | 18 |
17 SessionDesktopEnvironment::~SessionDesktopEnvironment() { | 19 SessionDesktopEnvironment::~SessionDesktopEnvironment() {} |
18 } | |
19 | 20 |
20 scoped_ptr<InputInjector> SessionDesktopEnvironment::CreateInputInjector() { | 21 scoped_ptr<InputInjector> SessionDesktopEnvironment::CreateInputInjector() { |
21 DCHECK(caller_task_runner()->BelongsToCurrentThread()); | 22 DCHECK(caller_task_runner()->BelongsToCurrentThread()); |
22 | 23 |
23 scoped_ptr<InputInjector> input_injector = InputInjector::Create( | 24 return make_scoped_ptr(new SessionInputInjectorWin( |
24 input_task_runner(), ui_task_runner()); | 25 input_task_runner(), |
25 input_injector.reset(new SessionInputInjectorWin(input_task_runner(), | 26 InputInjector::Create(input_task_runner(), ui_task_runner()), |
26 input_injector.Pass(), | 27 ui_task_runner(), inject_sas_)); |
27 ui_task_runner(), | |
28 inject_sas_)); | |
29 return input_injector.Pass(); | |
30 } | 28 } |
31 | 29 |
32 SessionDesktopEnvironment::SessionDesktopEnvironment( | 30 SessionDesktopEnvironment::SessionDesktopEnvironment( |
33 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 31 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
34 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 32 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
35 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, | 33 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, |
36 const base::Closure& inject_sas, | 34 const base::Closure& inject_sas, |
37 bool supports_touch_events) | 35 bool supports_touch_events) |
38 : Me2MeDesktopEnvironment(caller_task_runner, | 36 : Me2MeDesktopEnvironment(caller_task_runner, |
39 input_task_runner, | 37 input_task_runner, |
(...skipping 15 matching lines...) Expand all Loading... |
55 } | 53 } |
56 | 54 |
57 SessionDesktopEnvironmentFactory::~SessionDesktopEnvironmentFactory() { | 55 SessionDesktopEnvironmentFactory::~SessionDesktopEnvironmentFactory() { |
58 } | 56 } |
59 | 57 |
60 scoped_ptr<DesktopEnvironment> SessionDesktopEnvironmentFactory::Create( | 58 scoped_ptr<DesktopEnvironment> SessionDesktopEnvironmentFactory::Create( |
61 base::WeakPtr<ClientSessionControl> client_session_control) { | 59 base::WeakPtr<ClientSessionControl> client_session_control) { |
62 DCHECK(caller_task_runner()->BelongsToCurrentThread()); | 60 DCHECK(caller_task_runner()->BelongsToCurrentThread()); |
63 | 61 |
64 scoped_ptr<SessionDesktopEnvironment> desktop_environment( | 62 scoped_ptr<SessionDesktopEnvironment> desktop_environment( |
65 new SessionDesktopEnvironment(caller_task_runner(), | 63 new SessionDesktopEnvironment(caller_task_runner(), input_task_runner(), |
66 input_task_runner(), | 64 ui_task_runner(), inject_sas_, |
67 ui_task_runner(), | |
68 inject_sas_, | |
69 supports_touch_events())); | 65 supports_touch_events())); |
70 if (!desktop_environment->InitializeSecurity(client_session_control, | 66 if (!desktop_environment->InitializeSecurity(client_session_control, |
71 curtain_enabled())) { | 67 curtain_enabled())) { |
72 return nullptr; | 68 return nullptr; |
73 } | 69 } |
74 | 70 |
75 return desktop_environment.Pass(); | 71 return std::move(desktop_environment); |
76 } | 72 } |
77 | 73 |
78 } // namespace remoting | 74 } // namespace remoting |
OLD | NEW |