summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_thread_impl.cc
diff options
context:
space:
mode:
authorperkj@chromium.org <perkj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 09:01:53 +0000
committerperkj@chromium.org <perkj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 09:01:53 +0000
commit6ee10bdb81ef3c79e0eb34ce5ec120f6b467f308 (patch)
tree91a9570f71de3cbdcd3da41f82f55f053d872572 /content/renderer/render_thread_impl.cc
parent46fa1b83912c3a6dded66b41b994af7e46afb410 (diff)
downloadchromium_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.cc15
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;