| 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 |