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 4f25a33c3114cd212f221514ea19c4ed564da28d..95437bb4fee41c63029864d969fb95f5722dad9d 100644 |
| --- a/chrome/browser/media/media_stream_devices_controller.cc |
| +++ b/chrome/browser/media/media_stream_devices_controller.cc |
| @@ -19,6 +19,7 @@ |
| #include "chrome/browser/media/media_stream_capture_indicator.h" |
| #include "chrome/browser/media/media_stream_device_permissions.h" |
| #include "chrome/browser/permissions/permission_uma_util.h" |
| +#include "chrome/browser/permissions/permission_util.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/common/chrome_switches.h" |
| @@ -31,7 +32,6 @@ |
| #include "components/prefs/scoped_user_pref_update.h" |
| #include "components/url_formatter/elide_url.h" |
| #include "content/public/browser/browser_thread.h" |
| -#include "content/public/browser/permission_type.h" |
| #include "content/public/browser/render_frame_host.h" |
| #include "content/public/browser/render_process_host.h" |
| #include "content/public/browser/render_widget_host_view.h" |
| @@ -255,6 +255,16 @@ base::string16 MediaStreamDevicesController::GetMessageText() const { |
| GetOrigin(), url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC)); |
| } |
| +content::PermissionType |
| +MediaStreamDevicesController::GetPermissionTypeForContentSettingsType( |
| + ContentSettingsType content_type) const { |
| + DCHECK(content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || |
| + content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); |
| + content::PermissionType permission = content::PermissionType::NUM; |
| + DCHECK(PermissionUtil::GetPermissionType(content_type, &permission)); |
| + return permission; |
| +} |
| + |
| void MediaStreamDevicesController::ForcePermissionDeniedTemporarily() { |
| set_persist(false); |
| // TODO(tsergeant): Determine whether it is appropriate to record permission |
| @@ -464,8 +474,9 @@ void MediaStreamDevicesController::RunCallback( |
| // If the kill switch is on we don't update the tab context or persist the |
| // setting. |
| - if (persist() && denial_reason != content::MEDIA_DEVICE_KILL_SWITCH_ON) { |
| - StorePermission(audio_setting, video_setting); |
| + if (denial_reason != content::MEDIA_DEVICE_KILL_SWITCH_ON) { |
| + if (persist()) |
|
raymes
2016/08/22 04:37:19
I don't see persist/set_persist defined anywhere.
dominickn
2016/08/22 05:30:02
It's defined in PermissionRequest.
raymes
2016/08/22 05:35:23
Oh..it's in the dependent CL. I feel like it could
dominickn
2016/08/22 06:00:15
I considered that. The problem would be that Permi
raymes
2016/08/22 06:59:11
I think that's a reasonable argument. My main conc
dominickn
2016/08/22 07:08:44
MediaStreamDevicesController currently has the per
|
| + StorePermission(audio_setting, video_setting); |
| UpdateTabSpecificContentSettings(audio_setting, video_setting); |
|
raymes
2016/08/22 04:37:19
I'm not sure this should actually be in this block
dominickn
2016/08/22 05:30:02
Acknowledged. +kcarattini to look at.
kcarattini
2016/08/22 05:44:38
This was done to suppress the Page Action icon fro
dominickn
2016/08/22 06:00:15
Acknowledged.
|
| } |
| @@ -580,14 +591,8 @@ ContentSetting MediaStreamDevicesController::GetContentSetting( |
| return CONTENT_SETTING_BLOCK; |
| } |
| - content::PermissionType permission_type; |
| - if (content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) { |
| - permission_type = content::PermissionType::AUDIO_CAPTURE; |
| - } else { |
| - DCHECK(content_type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); |
| - permission_type = content::PermissionType::VIDEO_CAPTURE; |
| - } |
| - |
| + content::PermissionType permission_type = |
| + GetPermissionTypeForContentSettingsType(content_type); |
| if (ContentTypeIsRequested(permission_type, request)) { |
| DCHECK(content::IsOriginSecure(request_.security_origin) || |
| request_.request_type == content::MEDIA_OPEN_DEVICE_PEPPER_ONLY); |