Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1371)

Unified Diff: content/browser/renderer_host/media/media_stream_dispatcher_host.cc

Issue 287383002: Implement getMediaDevices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/media_stream_dispatcher_host.cc
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
index 51b3395be23a91b8da3da063fe6c5bda2e05de11..78372bb57b898774451f06f8c8c5c480feea543e 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
@@ -16,11 +16,13 @@ namespace content {
MediaStreamDispatcherHost::MediaStreamDispatcherHost(
int render_process_id,
const ResourceContext::SaltCallback& salt_callback,
- MediaStreamManager* media_stream_manager)
+ MediaStreamManager* media_stream_manager,
+ ResourceContext* resource_context)
: BrowserMessageFilter(MediaStreamMsgStart),
render_process_id_(render_process_id),
salt_callback_(salt_callback),
- media_stream_manager_(media_stream_manager) {
+ media_stream_manager_(media_stream_manager),
+ resource_context_(resource_context) {
}
void MediaStreamDispatcherHost::StreamGenerated(
@@ -178,9 +180,15 @@ void MediaStreamDispatcherHost::OnEnumerateDevices(
if (!IsURLAllowed(security_origin))
return;
+ DCHECK(type == MEDIA_DEVICE_AUDIO_CAPTURE ||
+ type == MEDIA_DEVICE_VIDEO_CAPTURE);
+ bool have_permission = type == MEDIA_DEVICE_AUDIO_CAPTURE ?
+ resource_context_->AllowMicAccess(security_origin) :
+ resource_context_->AllowCameraAccess(security_origin);
+
media_stream_manager_->EnumerateDevices(
this, render_process_id_, render_view_id, salt_callback_,
- page_request_id, type, security_origin);
+ page_request_id, type, security_origin, have_permission);
}
void MediaStreamDispatcherHost::OnCancelEnumerateDevices(

Powered by Google App Engine
This is Rietveld 408576698