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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/message_loop_proxy.h" | 8 #include "base/message_loop_proxy.h" |
9 #include "media/video/capture/screen/screen_capturer_fake.h" | 9 #include "media/video/capture/screen/screen_capturer_fake.h" |
10 #include "remoting/base/auto_thread_task_runner.h" | 10 #include "remoting/base/auto_thread_task_runner.h" |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 } // namespace | 63 } // namespace |
64 | 64 |
65 class MockIt2MeHostUserInterface : public It2MeHostUserInterface { | 65 class MockIt2MeHostUserInterface : public It2MeHostUserInterface { |
66 public: | 66 public: |
67 MockIt2MeHostUserInterface( | 67 MockIt2MeHostUserInterface( |
68 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, | 68 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, |
69 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); | 69 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); |
70 | 70 |
71 void InitFrom( | 71 void InitFrom( |
72 scoped_ptr<DisconnectWindow> disconnect_window, | 72 scoped_ptr<DisconnectWindow> disconnect_window, |
73 scoped_ptr<ContinueWindow> continue_window, | 73 scoped_ptr<ContinueWindow> continue_window); |
74 scoped_ptr<LocalInputMonitor> local_input_monitor); | |
75 | 74 |
76 // A test-only version of Start that does not register a HostStatusObserver. | 75 // A test-only version of Start that does not register a HostStatusObserver. |
77 // TODO(rmsousa): Make the unit tests work with the regular Start(). | 76 // TODO(rmsousa): Make the unit tests work with the regular Start(). |
78 virtual void Start(ChromotingHost* host, | 77 virtual void Start(ChromotingHost* host, |
79 const base::Closure& disconnect_callback) OVERRIDE; | 78 const base::Closure& disconnect_callback) OVERRIDE; |
80 }; | 79 }; |
81 | 80 |
82 MockIt2MeHostUserInterface::MockIt2MeHostUserInterface( | 81 MockIt2MeHostUserInterface::MockIt2MeHostUserInterface( |
83 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, | 82 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, |
84 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) | 83 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) |
85 : It2MeHostUserInterface(network_task_runner, ui_task_runner, UiStrings()) { | 84 : It2MeHostUserInterface(network_task_runner, ui_task_runner, UiStrings()) { |
86 } | 85 } |
87 | 86 |
88 void MockIt2MeHostUserInterface::InitFrom( | 87 void MockIt2MeHostUserInterface::InitFrom( |
89 scoped_ptr<DisconnectWindow> disconnect_window, | 88 scoped_ptr<DisconnectWindow> disconnect_window, |
90 scoped_ptr<ContinueWindow> continue_window, | 89 scoped_ptr<ContinueWindow> continue_window) { |
91 scoped_ptr<LocalInputMonitor> local_input_monitor) { | |
92 DCHECK(ui_task_runner()->BelongsToCurrentThread()); | 90 DCHECK(ui_task_runner()->BelongsToCurrentThread()); |
93 | 91 |
94 disconnect_window_ = disconnect_window.Pass(); | 92 disconnect_window_ = disconnect_window.Pass(); |
95 continue_window_ = continue_window.Pass(); | 93 continue_window_ = continue_window.Pass(); |
96 local_input_monitor_ = local_input_monitor.Pass(); | |
97 } | 94 } |
98 | 95 |
99 void MockIt2MeHostUserInterface::Start( | 96 void MockIt2MeHostUserInterface::Start( |
100 ChromotingHost* host, const base::Closure& disconnect_callback) { | 97 ChromotingHost* host, const base::Closure& disconnect_callback) { |
101 DCHECK(network_task_runner()->BelongsToCurrentThread()); | 98 DCHECK(network_task_runner()->BelongsToCurrentThread()); |
102 DCHECK(host_ == NULL); | 99 DCHECK(host_ == NULL); |
103 | 100 |
104 host_ = host; | 101 host_ = host; |
105 disconnect_callback_ = disconnect_callback; | 102 disconnect_callback_ = disconnect_callback; |
106 } | 103 } |
(...skipping 27 matching lines...) Expand all Loading... |
134 ui_task_runner_, // Audio | 131 ui_task_runner_, // Audio |
135 ui_task_runner_, // Input | 132 ui_task_runner_, // Input |
136 ui_task_runner_, // Video capture | 133 ui_task_runner_, // Video capture |
137 ui_task_runner_, // Video encode | 134 ui_task_runner_, // Video encode |
138 ui_task_runner_, // Network | 135 ui_task_runner_, // Network |
139 ui_task_runner_); // UI | 136 ui_task_runner_); // UI |
140 host_->AddStatusObserver(&host_status_observer_); | 137 host_->AddStatusObserver(&host_status_observer_); |
141 | 138 |
142 disconnect_window_ = new MockDisconnectWindow(); | 139 disconnect_window_ = new MockDisconnectWindow(); |
143 continue_window_ = new MockContinueWindow(); | 140 continue_window_ = new MockContinueWindow(); |
144 local_input_monitor_ = new MockLocalInputMonitor(); | |
145 it2me_host_user_interface_.reset( | 141 it2me_host_user_interface_.reset( |
146 new MockIt2MeHostUserInterface(ui_task_runner_, ui_task_runner_)); | 142 new MockIt2MeHostUserInterface(ui_task_runner_, ui_task_runner_)); |
147 it2me_host_user_interface_->InitFrom( | 143 it2me_host_user_interface_->InitFrom( |
148 scoped_ptr<DisconnectWindow>(disconnect_window_), | 144 scoped_ptr<DisconnectWindow>(disconnect_window_), |
149 scoped_ptr<ContinueWindow>(continue_window_), | 145 scoped_ptr<ContinueWindow>(continue_window_)); |
150 scoped_ptr<LocalInputMonitor>(local_input_monitor_)); | |
151 | 146 |
152 it2me_host_user_interface_->Start( | 147 it2me_host_user_interface_->Start( |
153 host_, base::Bind(&ChromotingHost::Shutdown, host_, base::Closure())); | 148 host_, base::Bind(&ChromotingHost::Shutdown, host_, base::Closure())); |
154 | 149 |
155 xmpp_login_ = "host@domain"; | 150 xmpp_login_ = "host@domain"; |
156 session1_ = new MockSession(); | 151 session1_ = new MockSession(); |
157 session2_ = new MockSession(); | 152 session2_ = new MockSession(); |
158 session_unowned1_.reset(new MockSession()); | 153 session_unowned1_.reset(new MockSession()); |
159 session_unowned2_.reset(new MockSession()); | 154 session_unowned2_.reset(new MockSession()); |
160 session_config1_ = SessionConfig::ForTest(); | 155 session_config1_ = SessionConfig::ForTest(); |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 scoped_ptr<MockSession> session_unowned2_; // Not owned by a connection. | 495 scoped_ptr<MockSession> session_unowned2_; // Not owned by a connection. |
501 SessionConfig session_unowned_config2_; | 496 SessionConfig session_unowned_config2_; |
502 std::string session_unowned_jid2_; | 497 std::string session_unowned_jid2_; |
503 protocol::Session::EventHandler* session_event_handler_; | 498 protocol::Session::EventHandler* session_event_handler_; |
504 scoped_ptr<protocol::CandidateSessionConfig> empty_candidate_config_; | 499 scoped_ptr<protocol::CandidateSessionConfig> empty_candidate_config_; |
505 scoped_ptr<protocol::CandidateSessionConfig> default_candidate_config_; | 500 scoped_ptr<protocol::CandidateSessionConfig> default_candidate_config_; |
506 | 501 |
507 // Owned by |host_|. | 502 // Owned by |host_|. |
508 MockDisconnectWindow* disconnect_window_; | 503 MockDisconnectWindow* disconnect_window_; |
509 MockContinueWindow* continue_window_; | 504 MockContinueWindow* continue_window_; |
510 MockLocalInputMonitor* local_input_monitor_; | |
511 | 505 |
512 MockConnectionToClient*& get_connection(int connection_index) { | 506 MockConnectionToClient*& get_connection(int connection_index) { |
513 return (connection_index == 0) ? connection1_ : connection2_; | 507 return (connection_index == 0) ? connection1_ : connection2_; |
514 } | 508 } |
515 | 509 |
516 ClientSession*& get_client(int connection_index) { | 510 ClientSession*& get_client(int connection_index) { |
517 return (connection_index == 0) ? client1_ : client2_; | 511 return (connection_index == 0) ? client1_ : client2_; |
518 } | 512 } |
519 | 513 |
520 const std::string& get_session_jid(int connection_index) { | 514 const std::string& get_session_jid(int connection_index) { |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
728 ExpectClientDisconnected(0, true, video_packet_sent, | 722 ExpectClientDisconnected(0, true, video_packet_sent, |
729 InvokeWithoutArgs(this, &ChromotingHostTest::ShutdownHost)); | 723 InvokeWithoutArgs(this, &ChromotingHostTest::ShutdownHost)); |
730 EXPECT_CALL(host_status_observer_, OnShutdown()); | 724 EXPECT_CALL(host_status_observer_, OnShutdown()); |
731 | 725 |
732 host_->Start(xmpp_login_); | 726 host_->Start(xmpp_login_); |
733 SimulateClientConnection(0, true, false); | 727 SimulateClientConnection(0, true, false); |
734 message_loop_.Run(); | 728 message_loop_.Run(); |
735 } | 729 } |
736 | 730 |
737 } // namespace remoting | 731 } // namespace remoting |
OLD | NEW |