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..ad0ad1f34646fad5cdcd3413d3872734d67a7264 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); |
} |
} |
@@ -541,10 +534,10 @@ PeerConnectionDependencyFactory::CreatePeerConnection( |
GURL(web_frame->document().url().spec()).GetOrigin(); |
scoped_refptr<P2PPortAllocatorFactory> pa_factory = |
- new P2PPortAllocatorFactory( |
- media_permission.Pass(), p2p_socket_dispatcher_, network_manager_, |
- socket_factory_.get(), port_config, requesting_origin, |
- chrome_worker_thread_.task_runner()); |
+ new P2PPortAllocatorFactory(media_permission, p2p_socket_dispatcher_, |
+ network_manager_, socket_factory_.get(), |
+ port_config, requesting_origin, |
+ chrome_worker_thread_.task_runner()); |
return GetPcFactory() |
->CreatePeerConnection(config, constraints, pa_factory.get(), |