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 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 scoped_ptr<MockSession> session_unowned2_; // Not owned by a connection. | 487 scoped_ptr<MockSession> session_unowned2_; // Not owned by a connection. |
493 SessionConfig session_unowned_config2_; | 488 SessionConfig session_unowned_config2_; |
494 std::string session_unowned_jid2_; | 489 std::string session_unowned_jid2_; |
495 protocol::Session::EventHandler* session_event_handler_; | 490 protocol::Session::EventHandler* session_event_handler_; |
496 scoped_ptr<protocol::CandidateSessionConfig> empty_candidate_config_; | 491 scoped_ptr<protocol::CandidateSessionConfig> empty_candidate_config_; |
497 scoped_ptr<protocol::CandidateSessionConfig> default_candidate_config_; | 492 scoped_ptr<protocol::CandidateSessionConfig> default_candidate_config_; |
498 | 493 |
499 // Owned by |host_|. | 494 // Owned by |host_|. |
500 MockDisconnectWindow* disconnect_window_; | 495 MockDisconnectWindow* disconnect_window_; |
501 MockContinueWindow* continue_window_; | 496 MockContinueWindow* continue_window_; |
502 MockLocalInputMonitor* local_input_monitor_; | |
503 | 497 |
504 MockConnectionToClient*& get_connection(int connection_index) { | 498 MockConnectionToClient*& get_connection(int connection_index) { |
505 return (connection_index == 0) ? connection1_ : connection2_; | 499 return (connection_index == 0) ? connection1_ : connection2_; |
506 } | 500 } |
507 | 501 |
508 ClientSession*& get_client(int connection_index) { | 502 ClientSession*& get_client(int connection_index) { |
509 return (connection_index == 0) ? client1_ : client2_; | 503 return (connection_index == 0) ? client1_ : client2_; |
510 } | 504 } |
511 | 505 |
512 const std::string& get_session_jid(int connection_index) { | 506 const std::string& get_session_jid(int connection_index) { |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 ExpectClientDisconnected(0, true, video_packet_sent, | 714 ExpectClientDisconnected(0, true, video_packet_sent, |
721 InvokeWithoutArgs(this, &ChromotingHostTest::ShutdownHost)); | 715 InvokeWithoutArgs(this, &ChromotingHostTest::ShutdownHost)); |
722 EXPECT_CALL(host_status_observer_, OnShutdown()); | 716 EXPECT_CALL(host_status_observer_, OnShutdown()); |
723 | 717 |
724 host_->Start(xmpp_login_); | 718 host_->Start(xmpp_login_); |
725 SimulateClientConnection(0, true, false); | 719 SimulateClientConnection(0, true, false); |
726 message_loop_.Run(); | 720 message_loop_.Run(); |
727 } | 721 } |
728 | 722 |
729 } // namespace remoting | 723 } // namespace remoting |
OLD | NEW |