Chromium Code Reviews| Index: chrome/browser/media/webrtc/media_stream_devices_controller.cc |
| diff --git a/chrome/browser/media/webrtc/media_stream_devices_controller.cc b/chrome/browser/media/webrtc/media_stream_devices_controller.cc |
| index 31119bf51972bb1ea041bc369056549fbc56bf6a..53a52371dcec184205990eb1e8b478124ac0a4b3 100644 |
| --- a/chrome/browser/media/webrtc/media_stream_devices_controller.cc |
| +++ b/chrome/browser/media/webrtc/media_stream_devices_controller.cc |
| @@ -15,9 +15,10 @@ |
| #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
| #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| #include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h" |
| -#include "chrome/browser/media/webrtc/media_permission.h" |
| #include "chrome/browser/media/webrtc/media_stream_capture_indicator.h" |
| #include "chrome/browser/media/webrtc/media_stream_device_permissions.h" |
| +#include "chrome/browser/permissions/permission_manager.h" |
| +#include "chrome/browser/permissions/permission_result.h" |
| #include "chrome/browser/permissions/permission_uma_util.h" |
| #include "chrome/browser/permissions/permission_util.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -716,6 +717,7 @@ ContentSetting MediaStreamDevicesController::GetContentSetting( |
| content::MediaStreamRequestResult* denial_reason) const { |
| DCHECK(content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || |
| content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); |
| + DCHECK(!request_.security_origin.is_empty()); |
| DCHECK(content::IsOriginSecure(request_.security_origin) || |
| request_.request_type == content::MEDIA_OPEN_DEVICE_PEPPER_ONLY); |
| if (!was_requested) { |
| @@ -733,10 +735,18 @@ ContentSetting MediaStreamDevicesController::GetContentSetting( |
| return CONTENT_SETTING_BLOCK; |
| } |
| - MediaPermission permission(content_type, request.security_origin, |
| - web_contents_->GetLastCommittedURL().GetOrigin(), |
| - profile_, web_contents_); |
| - return permission.GetPermissionStatus(denial_reason); |
| + PermissionResult result = |
| + PermissionManager::Get(profile_)->GetPermissionStatus( |
| + content_type, request.security_origin, |
| + web_contents_->GetLastCommittedURL().GetOrigin()); |
| + if (result.content_setting == CONTENT_SETTING_BLOCK) { |
| + if (result.source == PermissionStatusSource::KILL_SWITCH) |
| + *denial_reason = content::MEDIA_DEVICE_KILL_SWITCH_ON; |
|
Sergey Ulanov
2017/04/05 19:28:48
*denial_reason = (result.source == PermissionStatu
raymes
2017/04/09 23:55:05
Done.
|
| + else |
| + *denial_reason = content::MEDIA_DEVICE_PERMISSION_DENIED; |
| + } |
| + |
| + return result.content_setting; |
| } |
| ContentSetting MediaStreamDevicesController::GetNewSetting( |