Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3234)

Unified Diff: chrome/browser/media/media_stream_devices_controller.cc

Issue 2254763002: Enable the optional permission prompt persistence toggle on grouped infobars (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permission-infobardelegate-clean
Patch Set: Add CL dependency; improve media impl Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698