Chromium Code Reviews| Index: chrome/browser/media/media_stream_devices_controller.cc |
| diff --git a/chrome/browser/media/media_stream_devices_controller.cc b/chrome/browser/media/media_stream_devices_controller.cc |
| index cd2d2f2cfb6f1165d2a15f51d20a7360c5e6c2f7..e8c48c9b4ff28f383e366ee75607d20d556835c3 100644 |
| --- a/chrome/browser/media/media_stream_devices_controller.cc |
| +++ b/chrome/browser/media/media_stream_devices_controller.cc |
| @@ -84,6 +84,64 @@ enum DevicePermissionActions { |
| kPermissionActionsMax // Must always be last! |
| }; |
| +// This is a wrapper around the call to |
| +// TabSpecificContentSettings::OnMediaStreamPermissionSet, precomputing the |
| +// information from |request_permissions| to a form which is understood by |
| +// TabSpecificContentSettings. |
| +void OnMediaStreamPermissionSet( |
| + TabSpecificContentSettings* content_settings, |
| + content::WebContents* web_contents, |
| + const GURL& request_origin, |
| + const MediaStreamDevicesController::MediaStreamTypeSettingsMap& |
| + request_permissions) { |
| + TabSpecificContentSettings::MicrophoneCameraState microphone_camera_state = |
| + TabSpecificContentSettings::MICROPHONE_CAMERA_NOT_ACCESSED; |
| + std::string selected_audio_device; |
| + std::string selected_video_device; |
| + std::string requested_audio_device; |
| + std::string requested_video_device; |
| + |
| + PrefService* prefs = Profile::FromBrowserContext( |
| + web_contents->GetBrowserContext())->GetPrefs(); |
|
no longer working on chromium
2014/10/29 10:09:42
indentation.
vabr (Chromium)
2014/10/29 10:30:21
I believe this is indented correctly.
See "Argumen
no longer working on chromium
2014/10/30 09:59:19
In some cases git cl format is not inline with the
vabr (Chromium)
2014/10/30 10:28:39
My point here was that this particular formatting
|
| + MediaStreamDevicesController::MediaStreamTypeSettingsMap::const_iterator it = |
|
Bernhard Bauer
2014/10/29 09:35:17
This seems like a good place for auto :)
vabr (Chromium)
2014/10/29 10:30:21
Auto-awesome! :)
Done.
|
| + request_permissions.find(content::MEDIA_DEVICE_AUDIO_CAPTURE); |
| + if (it != request_permissions.end()) { |
| + requested_audio_device = it->second.requested_device_id; |
| + selected_audio_device = |
|
no longer working on chromium
2014/10/29 10:09:42
I think the correct format should be
selected_aud
vabr (Chromium)
2014/10/29 10:30:21
I'm yielding, because of consistency with the rest
|
| + requested_audio_device.empty() |
| + ? prefs->GetString(prefs::kDefaultAudioCaptureDevice) |
| + : requested_audio_device; |
| + DCHECK_NE(MediaStreamDevicesController::MEDIA_NONE, it->second.permission); |
| + bool mic_allowed = |
| + it->second.permission == MediaStreamDevicesController::MEDIA_ALLOWED; |
| + microphone_camera_state |= |
| + TabSpecificContentSettings::MICROPHONE_ACCESSED | |
| + (mic_allowed ? 0 : TabSpecificContentSettings::MICROPHONE_BLOCKED); |
| + } |
| + |
| + it = request_permissions.find(content::MEDIA_DEVICE_VIDEO_CAPTURE); |
| + if (it != request_permissions.end()) { |
| + requested_video_device = it->second.requested_device_id; |
| + selected_video_device = |
|
no longer working on chromium
2014/10/29 10:09:42
ditto
vabr (Chromium)
2014/10/29 10:30:21
Done.
|
| + requested_video_device.empty() |
| + ? prefs->GetString(prefs::kDefaultVideoCaptureDevice) |
| + : requested_video_device; |
| + DCHECK_NE(MediaStreamDevicesController::MEDIA_NONE, it->second.permission); |
| + bool cam_allowed = |
| + it->second.permission == MediaStreamDevicesController::MEDIA_ALLOWED; |
| + microphone_camera_state |= |
| + TabSpecificContentSettings::CAMERA_ACCESSED | |
| + (cam_allowed ? 0 : TabSpecificContentSettings::CAMERA_BLOCKED); |
| + } |
| + |
| + content_settings->OnMediaStreamPermissionSet(request_origin, |
| + microphone_camera_state, |
| + selected_audio_device, |
| + selected_video_device, |
| + requested_audio_device, |
| + requested_video_device); |
| +} |
| + |
| } // namespace |
| MediaStreamDevicesController::MediaStreamTypeSettings::MediaStreamTypeSettings( |
| @@ -579,8 +637,10 @@ void MediaStreamDevicesController::NotifyUIRequestAccepted() const { |
| if (!content_settings_) |
| return; |
| - content_settings_->OnMediaStreamPermissionSet(request_.security_origin, |
| - request_permissions_); |
| + OnMediaStreamPermissionSet(content_settings_, |
| + web_contents_, |
| + request_.security_origin, |
| + request_permissions_); |
| } |
| void MediaStreamDevicesController::NotifyUIRequestDenied() { |
| @@ -596,8 +656,10 @@ void MediaStreamDevicesController::NotifyUIRequestDenied() { |
| MEDIA_BLOCKED_BY_USER; |
| } |
| - content_settings_->OnMediaStreamPermissionSet(request_.security_origin, |
| - request_permissions_); |
| + OnMediaStreamPermissionSet(content_settings_, |
| + web_contents_, |
| + request_.security_origin, |
| + request_permissions_); |
| } |
| bool MediaStreamDevicesController::IsDeviceAudioCaptureRequestedAndAllowed() |