Chromium Code Reviews| Index: content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
| diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
| index 34a949b750d9181e6f154e2032cf1fef8db721cb..9605801cf4952ec8cd11dc85f8aeacdececb1541 100644 |
| --- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
| +++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
| @@ -656,8 +656,6 @@ void PeerConnectionDependencyFactory::TryScheduleStunProbeTrial() { |
| if (!cmd_line->HasSwitch(switches::kWebRtcStunProbeTrialParameter)) |
| return; |
| - GetPcFactory(); |
| - |
| // The underneath IPC channel has to be connected before sending any IPC |
| // message. |
| if (!p2p_socket_dispatcher_->connected()) { |
| @@ -669,6 +667,12 @@ void PeerConnectionDependencyFactory::TryScheduleStunProbeTrial() { |
| return; |
| } |
| + // GetPcFactory could trigger an IPC message. If done before |
| + // |p2p_socket_dispatcher_| is connected, that'll put the |
| + // |p2p_socket_dispatcher_| in a bad state that no other IPC message can be |
| + // processed. |
|
pthatcher2
2015/10/29 14:13:13
that => such that (?)
guoweis_webrtc
2015/10/29 21:45:29
Done.
|
| + GetPcFactory(); |
| + |
| const std::string params = |
| cmd_line->GetSwitchValueASCII(switches::kWebRtcStunProbeTrialParameter); |
| @@ -682,10 +686,10 @@ void PeerConnectionDependencyFactory::TryScheduleStunProbeTrial() { |
| void PeerConnectionDependencyFactory::StartStunProbeTrialOnWorkerThread( |
| const std::string& params) { |
| + DCHECK(network_manager_); |
| DCHECK(chrome_worker_thread_.task_runner()->BelongsToCurrentThread()); |
| - rtc::NetworkManager::NetworkList networks; |
| - network_manager_->GetNetworks(&networks); |
| - stun_prober_ = StartStunProbeTrial(networks, params, socket_factory_.get()); |
| + stun_trial_.reset( |
| + new StunProberTrial(network_manager_, params, socket_factory_.get())); |
| } |
| void PeerConnectionDependencyFactory::CreateIpcNetworkManagerOnWorkerThread( |