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/media/media_stream_center.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/media/media_stream_center.cc')
-rw-r--r-- | content/renderer/media/media_stream_center.cc | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/content/renderer/media/media_stream_center.cc b/content/renderer/media/media_stream_center.cc index c7b2f4c..b332c13 100644 --- a/content/renderer/media/media_stream_center.cc +++ b/content/renderer/media/media_stream_center.cc @@ -10,8 +10,9 @@ #include "base/memory/scoped_ptr.h" #include "base/string_number_conversions.h" #include "base/utf_string_conversions.h" -#include "content/renderer/media/media_stream_impl.h" #include "content/renderer/media/media_stream_extra_data.h" +#include "content/renderer/media/media_stream_dependency_factory.h" +#include "content/renderer/media/media_stream_impl.h" #include "content/renderer/render_view_impl.h" #include "third_party/libjingle/source/talk/app/webrtc/jsep.h" #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebICECandidateDescriptor.h" @@ -83,7 +84,10 @@ static webrtc::MediaStreamTrackInterface* GetNativeMediaStreamTrack( return NULL; } -MediaStreamCenter::MediaStreamCenter(WebKit::WebMediaStreamCenterClient*) {} +MediaStreamCenter::MediaStreamCenter(WebKit::WebMediaStreamCenterClient* client, + MediaStreamDependencyFactory* factory) + : rtc_factory_(factory) { +} void MediaStreamCenter::queryMediaStreamSources( const WebKit::WebMediaStreamSourcesRequest& request) { @@ -126,15 +130,9 @@ void MediaStreamCenter::didStopLocalMediaStream( void MediaStreamCenter::didCreateMediaStream( WebKit::WebMediaStreamDescriptor& stream) { - WebKit::WebFrame* web_frame = WebKit::WebFrame::frameForCurrentContext(); - if (!web_frame) + if (!rtc_factory_) return; - MediaStreamImpl* ms_impl = GetMediaStreamImpl(web_frame); - if (ms_impl) { - ms_impl->CreateMediaStream(web_frame, &stream); - return; - } - NOTREACHED(); + rtc_factory_->CreateNativeLocalMediaStream(&stream); } WebKit::WebString MediaStreamCenter::constructSDP( |