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( |