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 0fecca7c3e8001fb5b3aa4d5a41e3bbcb92aeb83..0d5fec8d913a411022b32b12e32f3ee479e00176 100644 |
| --- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
| +++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
| @@ -122,12 +122,14 @@ class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface { |
| rtc::NetworkManager* network_manager, |
| rtc::PacketSocketFactory* socket_factory, |
| const GURL& origin, |
| - bool enable_multiple_routes) |
| + bool enable_multiple_routes, |
| + bool enable_udp_transport) |
|
pthatcher2
2015/08/25 23:12:34
Can we make some kind of struct to contain the var
guoweis_left_chromium
2015/08/26 14:43:40
origin is used for completely different things. I
pthatcher2
2015/08/26 18:25:39
Yeah, that would be nice. Why not just use P2PPor
|
| : socket_dispatcher_(socket_dispatcher), |
| network_manager_(network_manager), |
| socket_factory_(socket_factory), |
| origin_(origin), |
| - enable_multiple_routes_(enable_multiple_routes) {} |
| + enable_multiple_routes_(enable_multiple_routes), |
| + enable_udp_transport_(enable_udp_transport) {} |
|
pthatcher2
2015/08/25 23:12:34
Even if we make the Chrome flag "ForceThroughProxy
|
| cricket::PortAllocator* CreatePortAllocator( |
| const std::vector<StunConfiguration>& stun_servers, |
| @@ -149,6 +151,7 @@ class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface { |
| config.relays.push_back(relay_config); |
| } |
| config.enable_multiple_routes = enable_multiple_routes_; |
| + config.disable_udp_transport = !enable_udp_transport_; |
|
pthatcher2
2015/08/25 23:12:34
Can we keep it consistent across both (either enab
guoweis_left_chromium
2015/08/26 14:43:40
I also like disable more but if we looked at the o
|
| return new P2PPortAllocator( |
| socket_dispatcher_.get(), network_manager_, |
| @@ -170,6 +173,8 @@ class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface { |
| // When false, only 'any' address (all 0s) will be bound for address |
| // discovery. |
| bool enable_multiple_routes_; |
| + |
| + bool enable_udp_transport_; |
| }; |
| PeerConnectionDependencyFactory::PeerConnectionDependencyFactory( |
| @@ -406,19 +411,22 @@ PeerConnectionDependencyFactory::CreatePeerConnection( |
| if (!GetPcFactory().get()) |
| return NULL; |
| - // Copy the flag from Preference associated with this WebFrame. |
| - bool enable_multiple_routes = true; |
| rtc::scoped_ptr<PeerConnectionIdentityStore> identity_store( |
| new PeerConnectionIdentityStore( |
| GURL(web_frame->document().url()), |
| GURL(web_frame->document().firstPartyForCookies()))); |
| + // Copy the flag from Preference associated with this WebFrame. |
| + bool enable_multiple_routes = true; |
| + bool enable_udp_transport = false; |
| if (web_frame && web_frame->view()) { |
| RenderViewImpl* renderer_view_impl = |
| RenderViewImpl::FromWebView(web_frame->view()); |
| if (renderer_view_impl) { |
| enable_multiple_routes = renderer_view_impl->renderer_preferences() |
| .enable_webrtc_multiple_routes; |
| + enable_udp_transport = renderer_view_impl->renderer_preferences() |
| + .enable_webrtc_udp_transport; |
| } |
| } |
| @@ -426,7 +434,7 @@ PeerConnectionDependencyFactory::CreatePeerConnection( |
| new rtc::RefCountedObject<P2PPortAllocatorFactory>( |
| p2p_socket_dispatcher_.get(), network_manager_, socket_factory_.get(), |
| GURL(web_frame->document().url().spec()).GetOrigin(), |
| - enable_multiple_routes); |
| + enable_multiple_routes, enable_udp_transport); |
| return GetPcFactory()->CreatePeerConnection(config, |
| constraints, |