| 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 780fc5f809278832ec6c21b34e61f0a96d304878..8c210a42b21548ff33bb6faf8272fa5897aa0c1c 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"
|
| @@ -718,6 +719,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) {
|
| @@ -735,10 +737,17 @@ 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) {
|
| + *denial_reason = (result.source == PermissionStatusSource::KILL_SWITCH)
|
| + ? content::MEDIA_DEVICE_KILL_SWITCH_ON
|
| + : content::MEDIA_DEVICE_PERMISSION_DENIED;
|
| + }
|
| +
|
| + return result.content_setting;
|
| }
|
|
|
| ContentSetting MediaStreamDevicesController::GetNewSetting(
|
|
|