OLD | NEW |
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/single_window_desktop_environment.h" | 5 #include "remoting/host/single_window_desktop_environment.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 ~SingleWindowDesktopEnvironment() override; | 22 ~SingleWindowDesktopEnvironment() override; |
23 | 23 |
24 // DesktopEnvironment interface. | 24 // DesktopEnvironment interface. |
25 scoped_ptr<webrtc::DesktopCapturer> CreateVideoCapturer() override; | 25 scoped_ptr<webrtc::DesktopCapturer> CreateVideoCapturer() override; |
26 scoped_ptr<InputInjector> CreateInputInjector() override; | 26 scoped_ptr<InputInjector> CreateInputInjector() override; |
27 | 27 |
28 protected: | 28 protected: |
29 friend class SingleWindowDesktopEnvironmentFactory; | 29 friend class SingleWindowDesktopEnvironmentFactory; |
30 SingleWindowDesktopEnvironment( | 30 SingleWindowDesktopEnvironment( |
31 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 31 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
| 32 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner, |
32 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 33 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
33 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, | 34 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, |
34 webrtc::WindowId window_id, | 35 webrtc::WindowId window_id, |
35 bool supports_touch_events); | 36 bool supports_touch_events); |
36 | 37 |
37 private: | 38 private: |
38 webrtc::WindowId window_id_; | 39 webrtc::WindowId window_id_; |
39 | 40 |
40 DISALLOW_COPY_AND_ASSIGN(SingleWindowDesktopEnvironment); | 41 DISALLOW_COPY_AND_ASSIGN(SingleWindowDesktopEnvironment); |
41 }; | 42 }; |
(...skipping 21 matching lines...) Expand all Loading... |
63 | 64 |
64 scoped_ptr<InputInjector> input_injector( | 65 scoped_ptr<InputInjector> input_injector( |
65 InputInjector::Create(input_task_runner(), | 66 InputInjector::Create(input_task_runner(), |
66 ui_task_runner())); | 67 ui_task_runner())); |
67 return SingleWindowInputInjector::CreateForWindow( | 68 return SingleWindowInputInjector::CreateForWindow( |
68 window_id_, std::move(input_injector)); | 69 window_id_, std::move(input_injector)); |
69 } | 70 } |
70 | 71 |
71 SingleWindowDesktopEnvironment::SingleWindowDesktopEnvironment( | 72 SingleWindowDesktopEnvironment::SingleWindowDesktopEnvironment( |
72 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 73 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
| 74 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner, |
73 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 75 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
74 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, | 76 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, |
75 webrtc::WindowId window_id, | 77 webrtc::WindowId window_id, |
76 bool supports_touch_events) | 78 bool supports_touch_events) |
77 : BasicDesktopEnvironment(caller_task_runner, | 79 : BasicDesktopEnvironment(caller_task_runner, |
| 80 video_capture_task_runner, |
78 input_task_runner, | 81 input_task_runner, |
79 ui_task_runner, | 82 ui_task_runner, |
80 supports_touch_events), | 83 supports_touch_events), |
81 window_id_(window_id) { | 84 window_id_(window_id) {} |
82 } | |
83 | 85 |
84 SingleWindowDesktopEnvironmentFactory::SingleWindowDesktopEnvironmentFactory( | 86 SingleWindowDesktopEnvironmentFactory::SingleWindowDesktopEnvironmentFactory( |
85 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 87 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
| 88 scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner, |
86 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 89 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
87 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, | 90 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, |
88 webrtc::WindowId window_id) | 91 webrtc::WindowId window_id) |
89 : BasicDesktopEnvironmentFactory(caller_task_runner, | 92 : BasicDesktopEnvironmentFactory(caller_task_runner, |
| 93 video_capture_task_runner, |
90 input_task_runner, | 94 input_task_runner, |
91 ui_task_runner), | 95 ui_task_runner), |
92 window_id_(window_id) { | 96 window_id_(window_id) {} |
93 } | |
94 | 97 |
95 SingleWindowDesktopEnvironmentFactory:: | 98 SingleWindowDesktopEnvironmentFactory:: |
96 ~SingleWindowDesktopEnvironmentFactory() { | 99 ~SingleWindowDesktopEnvironmentFactory() { |
97 } | 100 } |
98 | 101 |
99 scoped_ptr<DesktopEnvironment> SingleWindowDesktopEnvironmentFactory::Create( | 102 scoped_ptr<DesktopEnvironment> SingleWindowDesktopEnvironmentFactory::Create( |
100 base::WeakPtr<ClientSessionControl> client_session_control) { | 103 base::WeakPtr<ClientSessionControl> client_session_control) { |
101 DCHECK(caller_task_runner()->BelongsToCurrentThread()); | 104 DCHECK(caller_task_runner()->BelongsToCurrentThread()); |
102 | 105 |
103 scoped_ptr<SingleWindowDesktopEnvironment> desktop_environment( | 106 return make_scoped_ptr(new SingleWindowDesktopEnvironment( |
104 new SingleWindowDesktopEnvironment(caller_task_runner(), | 107 caller_task_runner(), video_capture_task_runner(), input_task_runner(), |
105 input_task_runner(), | 108 ui_task_runner(), window_id_, supports_touch_events())); |
106 ui_task_runner(), | |
107 window_id_, | |
108 supports_touch_events())); | |
109 return std::move(desktop_environment); | |
110 } | 109 } |
111 | 110 |
112 } // namespace remoting | 111 } // namespace remoting |
OLD | NEW |