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