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