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 972906dbb59fb0d91845a9fc56c6c214416b6211..3e10d38733c5840f7d4b0863188ca0c9c4a39b4a 100644 |
--- a/chrome/browser/media/webrtc/media_stream_devices_controller.cc |
+++ b/chrome/browser/media/webrtc/media_stream_devices_controller.cc |
@@ -20,7 +20,6 @@ |
#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_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" |
@@ -34,6 +33,7 @@ |
#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" |
@@ -165,7 +165,7 @@ |
: web_contents_(web_contents), |
request_(request), |
callback_(callback), |
- persist_(true) { |
+ persist_permission_changes_(true) { |
if (request_.request_type == content::MEDIA_OPEN_DEVICE_PEPPER_ONLY) { |
MediaPermissionRequestLogger::LogRequest( |
web_contents, request.render_process_id, request.render_frame_id, |
@@ -257,18 +257,9 @@ |
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() { |
- base::AutoReset<bool> persist_permissions(&persist_, false); |
+ base::AutoReset<bool> persist_permissions( |
+ &persist_permission_changes_, false); |
// TODO(tsergeant): Determine whether it is appropriate to record permission |
// action metrics here, as this is a different sort of user action. |
RunCallback(CONTENT_SETTING_BLOCK, |
@@ -471,9 +462,9 @@ |
// If the kill switch is on we don't update the tab context or persist the |
// setting. |
- if (denial_reason != content::MEDIA_DEVICE_KILL_SWITCH_ON) { |
- if (persist()) |
- StorePermission(audio_setting, video_setting); |
+ if (persist_permission_changes_ && |
+ denial_reason != content::MEDIA_DEVICE_KILL_SWITCH_ON) { |
+ StorePermission(audio_setting, video_setting); |
UpdateTabSpecificContentSettings(audio_setting, video_setting); |
} |
@@ -588,8 +579,14 @@ |
return CONTENT_SETTING_BLOCK; |
} |
- content::PermissionType permission_type = |
- GetPermissionTypeForContentSettingsType(content_type); |
+ 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; |
+ } |
+ |
if (ContentTypeIsRequested(permission_type, request)) { |
DCHECK(content::IsOriginSecure(request_.security_origin) || |
request_.request_type == content::MEDIA_OPEN_DEVICE_PEPPER_ONLY); |