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..82791f7f91bbedab436d828328748b48316a5ce5 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::RecordPermissionEmbargoStatus( |
| + PermissionEmbargoStatus::PERMISSIONS_BLACKLISTING); |
| 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::RecordPermissionEmbargoStatus( |
| + PermissionEmbargoStatus::NOT_EMBARGOED); |
| } else if (content_setting == CONTENT_SETTING_BLOCK) { |
| PermissionUmaUtil::PermissionDenied(permission_type_, gesture_type, |
| requesting_origin, profile_); |
| + PermissionUmaUtil::RecordPermissionEmbargoStatus( |
| + PermissionEmbargoStatus::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_) |
| + ->RecordDismissAndEmbargo(requesting_origin, permission_type_)) { |
| + PermissionUmaUtil::RecordPermissionEmbargoStatus( |
| + PermissionEmbargoStatus::REPEATED_DISMISSALS); |
| + } else { |
| + PermissionUmaUtil::RecordPermissionEmbargoStatus( |
| + PermissionEmbargoStatus::NOT_EMBARGOED); |
| + } |
| + } |
|
rkaplow
2017/02/13 18:16:21
this looks like this might be simpler if you just
dominickn
2017/02/14 01:55:08
Done, thanks
|
| } |
| NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, |