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/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/message_loop_proxy.h" | 7 #include "base/message_loop_proxy.h" |
8 #include "remoting/jingle_glue/mock_objects.h" | 8 #include "remoting/jingle_glue/mock_objects.h" |
9 #include "remoting/host/capturer_fake.h" | 9 #include "remoting/host/capturer_fake.h" |
10 #include "remoting/host/chromoting_host.h" | 10 #include "remoting/host/chromoting_host.h" |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
97 | 97 |
98 host_ = new ChromotingHost( | 98 host_ = new ChromotingHost( |
99 &context_, &signal_strategy_, desktop_environment_.get(), | 99 &context_, &signal_strategy_, desktop_environment_.get(), |
100 protocol::NetworkSettings()); | 100 protocol::NetworkSettings()); |
101 | 101 |
102 disconnect_window_ = new MockDisconnectWindow(); | 102 disconnect_window_ = new MockDisconnectWindow(); |
103 continue_window_ = new MockContinueWindow(); | 103 continue_window_ = new MockContinueWindow(); |
104 local_input_monitor_ = new MockLocalInputMonitor(); | 104 local_input_monitor_ = new MockLocalInputMonitor(); |
105 it2me_host_user_interface_.reset(new It2MeHostUserInterface(host_, | 105 it2me_host_user_interface_.reset(new It2MeHostUserInterface(host_, |
106 &context_)); | 106 &context_)); |
107 it2me_host_user_interface_->InitFrom(disconnect_window_, continue_window_, | 107 it2me_host_user_interface_->InitFrom( |
108 local_input_monitor_); | 108 scoped_ptr<DisconnectWindow>(disconnect_window_), |
109 scoped_ptr<ContinueWindow>(continue_window_), | |
110 scoped_ptr<LocalInputMonitor>(local_input_monitor_)); | |
109 | 111 |
110 session_ = new MockSession(); | 112 session_ = new MockSession(); |
111 session2_ = new MockSession(); | 113 session2_ = new MockSession(); |
112 session_config_ = SessionConfig::GetDefault(); | 114 session_config_ = SessionConfig::GetDefault(); |
113 session_jid_ = "user@domain/rest-of-jid"; | 115 session_jid_ = "user@domain/rest-of-jid"; |
114 session_config2_ = SessionConfig::GetDefault(); | 116 session_config2_ = SessionConfig::GetDefault(); |
115 session2_jid_ = "user2@domain/rest-of-jid"; | 117 session2_jid_ = "user2@domain/rest-of-jid"; |
116 EXPECT_CALL(*session_, jid()) | 118 EXPECT_CALL(*session_, jid()) |
117 .WillRepeatedly(ReturnRef(session_jid_)); | 119 .WillRepeatedly(ReturnRef(session_jid_)); |
118 EXPECT_CALL(*session2_, jid()) | 120 EXPECT_CALL(*session2_, jid()) |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
171 owned_connection_.reset(); | 173 owned_connection_.reset(); |
172 owned_connection2_.reset(); | 174 owned_connection2_.reset(); |
173 host_ = NULL; | 175 host_ = NULL; |
174 // Run message loop before destroying because protocol::Session is | 176 // Run message loop before destroying because protocol::Session is |
175 // destroyed asynchronously. | 177 // destroyed asynchronously. |
176 message_loop_.RunAllPending(); | 178 message_loop_.RunAllPending(); |
177 } | 179 } |
178 | 180 |
179 // Helper method to pretend a client is connected to ChromotingHost. | 181 // Helper method to pretend a client is connected to ChromotingHost. |
180 void SimulateClientConnection(int connection_index, bool authenticate) { | 182 void SimulateClientConnection(int connection_index, bool authenticate) { |
181 protocol::ConnectionToClient* connection = (connection_index == 0) ? | 183 scoped_ptr<protocol::ConnectionToClient> connection = |
182 owned_connection_.release() : owned_connection2_.release(); | 184 ((connection_index == 0) ? owned_connection_ : owned_connection2_). |
185 PassAs<protocol::ConnectionToClient>(); | |
183 ClientSession* client = new ClientSession( | 186 ClientSession* client = new ClientSession( |
184 host_.get(), connection, event_executor_, | 187 host_.get(), connection.Pass(), event_executor_, |
185 desktop_environment_->capturer()); | 188 desktop_environment_->capturer()); |
186 connection->set_host_stub(client); | 189 connection->set_host_stub(client); |
187 | 190 |
188 context_.network_message_loop()->PostTask( | 191 context_.network_message_loop()->PostTask( |
189 FROM_HERE, base::Bind(&ChromotingHostTest::AddClientToHost, | 192 FROM_HERE, base::Bind(&ChromotingHostTest::AddClientToHost, |
190 host_, client)); | 193 host_, client)); |
191 if (authenticate) { | 194 if (authenticate) { |
192 context_.network_message_loop()->PostTask( | 195 context_.network_message_loop()->PostTask( |
193 FROM_HERE, base::Bind(&ClientSession::OnConnectionOpened, | 196 FROM_HERE, base::Bind(&ClientSession::OnConnectionOpened, |
194 base::Unretained(client), connection)); | 197 base::Unretained(client), connection.get())); |
Alpha Left Google
2012/03/20 18:56:40
Isn't this connection.get() will be NULL since con
Sergey Ulanov
2012/03/20 19:08:12
Done.
| |
195 } | 198 } |
196 | 199 |
197 if (connection_index == 0) { | 200 if (connection_index == 0) { |
198 client_ = client; | 201 client_ = client; |
199 } else { | 202 } else { |
200 client2_ = client; | 203 client2_ = client; |
201 } | 204 } |
202 } | 205 } |
203 | 206 |
204 // Helper method to remove a client connection from ChromotingHost. | 207 // Helper method to remove a client connection from ChromotingHost. |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
369 EXPECT_CALL(*connection_, Disconnect()) | 372 EXPECT_CALL(*connection_, Disconnect()) |
370 .RetiresOnSaturation(); | 373 .RetiresOnSaturation(); |
371 EXPECT_CALL(*connection2_, Disconnect()) | 374 EXPECT_CALL(*connection2_, Disconnect()) |
372 .RetiresOnSaturation(); | 375 .RetiresOnSaturation(); |
373 | 376 |
374 SimulateClientConnection(0, true); | 377 SimulateClientConnection(0, true); |
375 message_loop_.Run(); | 378 message_loop_.Run(); |
376 } | 379 } |
377 | 380 |
378 } // namespace remoting | 381 } // namespace remoting |
OLD | NEW |