Chromium Code Reviews| Index: chrome/browser/permissions/permission_context_base.cc |
| diff --git a/chrome/browser/permissions/permission_context_base.cc b/chrome/browser/permissions/permission_context_base.cc |
| index c00f3e7aa503570ad94c778a64b0b4923857aa9d..c1df95b82be57784b6610c319a3315baecffc04e 100644 |
| --- a/chrome/browser/permissions/permission_context_base.cc |
| +++ b/chrome/browser/permissions/permission_context_base.cc |
| @@ -146,13 +146,14 @@ void PermissionContextBase::ContinueRequestPermission( |
| bool permission_blocked) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| if (permission_blocked) { |
| - // TODO(meredithl): Add UMA metrics here. |
| web_contents->GetMainFrame()->AddMessageToConsole( |
| content::CONSOLE_MESSAGE_LEVEL_INFO, |
| base::StringPrintf( |
| "%s permission has been auto-blocked.", |
| PermissionUtil::GetPermissionString(permission_type_).c_str())); |
| // Permission has been automatically blocked. |
| + PermissionUmaUtil::RecordPermissionEmbargoReason( |
| + PermissionEmbargoReason::BLACKLISTED); |
| callback.Run(CONTENT_SETTING_BLOCK); |
| return; |
| } |
| @@ -301,21 +302,26 @@ void PermissionContextBase::PermissionDecided( |
| if (content_setting == CONTENT_SETTING_ALLOW) { |
| PermissionUmaUtil::PermissionGranted(permission_type_, gesture_type, |
| requesting_origin, profile_); |
| + PermissionUmaUtil::RecordPermissionEmbargoReason( |
| + PermissionEmbargoReason::NOT_EMBARGOED); |
| } else if (content_setting == CONTENT_SETTING_BLOCK) { |
| PermissionUmaUtil::PermissionDenied(permission_type_, gesture_type, |
| requesting_origin, profile_); |
| + PermissionUmaUtil::RecordPermissionEmbargoReason( |
| + PermissionEmbargoReason::NOT_EMBARGOED); |
| } else { |
| PermissionUmaUtil::PermissionDismissed(permission_type_, gesture_type, |
| requesting_origin, profile_); |
| - } |
| - } |
| - if (content_setting == CONTENT_SETTING_DEFAULT && |
| - PermissionDecisionAutoBlocker::GetForProfile(profile_) |
| - ->RecordDismissAndEmbargo(requesting_origin, permission_type_)) { |
| - // The permission has been embargoed, so it is blocked for this permission |
| - // request, but not persisted. |
| - content_setting = CONTENT_SETTING_BLOCK; |
| + if (PermissionDecisionAutoBlocker::GetForProfile(profile_) |
|
dominickn
2017/02/09 00:54:11
All of this logic needs to be added to PermissionQ
meredithl
2017/02/09 02:58:28
Acknowledged.
meredithl
2017/02/09 05:06:24
Done.
|
| + ->RecordDismissAndEmbargo(requesting_origin, permission_type_)) { |
| + PermissionUmaUtil::RecordPermissionEmbargoReason( |
| + PermissionEmbargoReason::REPEATED_DISMISSALS); |
| + } else { |
| + PermissionUmaUtil::RecordPermissionEmbargoReason( |
| + PermissionEmbargoReason::NOT_EMBARGOED); |
| + } |
| + } |
| } |
| NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, |