diff options
author | perkj@chromium.org <perkj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-13 09:01:53 +0000 |
---|---|---|
committer | perkj@chromium.org <perkj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-13 09:01:53 +0000 |
commit | 6ee10bdb81ef3c79e0eb34ce5ec120f6b467f308 (patch) | |
tree | 91a9570f71de3cbdcd3da41f82f55f053d872572 /content/renderer/render_thread_impl.cc | |
parent | 46fa1b83912c3a6dded66b41b994af7e46afb410 (diff) | |
download | chromium_src-6ee10bdb81ef3c79e0eb34ce5ec120f6b467f308.zip chromium_src-6ee10bdb81ef3c79e0eb34ce5ec120f6b467f308.tar.gz chromium_src-6ee10bdb81ef3c79e0eb34ce5ec120f6b467f308.tar.bz2 |
Move creation of PeerConnection from the RenderView to the RenderThreadImpl.
This is a proposed solution for the problem with using WebFrame* web_frame = WebFrame::frameForCurrentContext() in
renderer_webkitplatformsupport_impl.cc
https://chromiumcodereview.appspot.com/10703095/diff/13017/content/renderer/renderer_webkitplatformsupport_impl.cc
This should be seen as step 1 in refactoring how PeerConnections are created and used. If PeerConnections should be created in the RenderThreadImpl - so should all objects that it is dependent on such as the P2PSocketDispatcher that is currently created and owned by the RenderViewImpl.
BUG=
Review URL: https://chromiumcodereview.appspot.com/10919122
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156515 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_thread_impl.cc')
-rw-r--r-- | content/renderer/render_thread_impl.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index acb8532..cc93798 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -63,6 +63,7 @@ #include "content/renderer/media/audio_message_filter.h" #include "content/renderer/media/audio_renderer_mixer_manager.h" #include "content/renderer/media/media_stream_center.h" +#include "content/renderer/media/media_stream_dependency_factory.h" #include "content/renderer/media/video_capture_impl_manager.h" #include "content/renderer/media/video_capture_message_filter.h" #include "content/renderer/p2p/socket_dispatcher.h" @@ -1094,11 +1095,23 @@ WebKit::WebMediaStreamCenter* RenderThreadImpl::CreateMediaStreamCenter( WebKit::WebMediaStreamCenterClient* client) { #if defined(ENABLE_WEBRTC) if (!media_stream_center_) - media_stream_center_ = new content::MediaStreamCenter(client); + media_stream_center_ = new content::MediaStreamCenter( + client, GetMediaStreamDependencyFactory()); #endif return media_stream_center_; } +MediaStreamDependencyFactory* +RenderThreadImpl::GetMediaStreamDependencyFactory() { +#if defined(ENABLE_WEBRTC) + if (!media_stream_factory_.get()) { + media_stream_factory_.reset(new MediaStreamDependencyFactory( + vc_manager_, p2p_socket_dispatcher_)); + } +#endif + return media_stream_factory_.get(); +} + GpuChannelHost* RenderThreadImpl::GetGpuChannel() { if (!gpu_channel_.get()) return NULL; |