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 4d20f5ec6e0f1ba2ba4fec1330ba1d0c803b0728..457e2616ff0e97066cd2634ff525cf7d48f48bb4 100644 |
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
@@ -139,14 +139,14 @@ class P2PPortAllocatorFactory |
: public rtc::RefCountedObject<webrtc::PortAllocatorFactoryInterface> { |
public: |
P2PPortAllocatorFactory( |
- scoped_ptr<media::MediaPermission> media_permission, |
+ media::MediaPermission* media_permission, |
const scoped_refptr<P2PSocketDispatcher>& socket_dispatcher, |
rtc::NetworkManager* network_manager, |
rtc::PacketSocketFactory* socket_factory, |
const P2PPortAllocator::Config& config, |
const GURL& origin, |
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) |
- : media_permission_(media_permission.Pass()), |
+ : media_permission_(media_permission), |
socket_dispatcher_(socket_dispatcher), |
network_manager_(network_manager), |
socket_factory_(socket_factory), |
@@ -176,11 +176,10 @@ class P2PPortAllocatorFactory |
scoped_ptr<rtc::NetworkManager> network_manager; |
if (config.enable_multiple_routes) { |
- media::MediaPermission* media_permission = media_permission_.get(); |
FilteringNetworkManager* filtering_network_manager = |
new FilteringNetworkManager(network_manager_, origin_, |
- media_permission_.Pass()); |
- if (media_permission) { |
+ media_permission_); |
+ if (media_permission_) { |
// Start permission check earlier to reduce any impact to call set up |
// time. It's safe to use Unretained here since both destructor and |
// Initialize can only be called on the worker thread. |
@@ -201,18 +200,14 @@ class P2PPortAllocatorFactory |
~P2PPortAllocatorFactory() override {} |
private: |
- // Ownership of |media_permission_| will be passed to FilteringNetworkManager |
- // during CreatePortAllocator. |
- scoped_ptr<media::MediaPermission> media_permission_; |
- |
+ media::MediaPermission* media_permission_; |
scoped_refptr<P2PSocketDispatcher> socket_dispatcher_; |
rtc::NetworkManager* network_manager_; |
rtc::PacketSocketFactory* socket_factory_; |
P2PPortAllocator::Config config_; |
GURL origin_; |
- // This is the worker thread where |media_permission_| and |network_manager_| |
- // live on. |
+ // This is the worker thread where |network_manager_| live on. |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
}; |
@@ -471,7 +466,7 @@ PeerConnectionDependencyFactory::CreatePeerConnection( |
// which means the permission will be granted automatically. This could be the |
// case when either the experiment is not enabled or the preference is not |
// enforced. |
- scoped_ptr<media::MediaPermission> media_permission; |
+ media::MediaPermission* media_permission = nullptr; |
if (!GetContentClient() |
->renderer() |
->ShouldEnforceWebRTCRoutingPreferences()) { |
@@ -528,10 +523,8 @@ PeerConnectionDependencyFactory::CreatePeerConnection( |
if (create_media_permission) { |
content::RenderFrameImpl* render_frame = |
content::RenderFrameImpl::FromWebFrame(web_frame); |
- if (render_frame) { |
- media_permission = render_frame->CreateMediaPermissionProxy( |
- chrome_worker_thread_.task_runner()); |
- } |
+ if (render_frame) |
+ media_permission = render_frame->GetMediaPermission(); |
DCHECK(media_permission); |
} |
} |
@@ -542,7 +535,7 @@ PeerConnectionDependencyFactory::CreatePeerConnection( |
scoped_refptr<P2PPortAllocatorFactory> pa_factory = |
new P2PPortAllocatorFactory( |
- media_permission.Pass(), p2p_socket_dispatcher_, network_manager_, |
+ media_permission, p2p_socket_dispatcher_, network_manager_, |
socket_factory_.get(), port_config, requesting_origin, |
chrome_worker_thread_.task_runner()); |