summaryrefslogtreecommitdiffstats
path: root/content/renderer/media/media_stream_center.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/media/media_stream_center.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/media/media_stream_center.cc')
-rw-r--r--content/renderer/media/media_stream_center.cc18
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(