| Index: chrome/browser/permissions/permission_util.h
|
| diff --git a/chrome/browser/permissions/permission_util.h b/chrome/browser/permissions/permission_util.h
|
| index 097203a73345aad369e072417c4a6caf2b399550..3f7c14c370c006a60c95e46e6098387d655914fa 100644
|
| --- a/chrome/browser/permissions/permission_util.h
|
| +++ b/chrome/browser/permissions/permission_util.h
|
| @@ -35,6 +35,33 @@ enum PermissionAction {
|
| PERMISSION_ACTION_NUM,
|
| };
|
|
|
| +// Identifies the source or reason for a permission status being returned. This
|
| +// enum backs an UMA histogram and must be treated as append-only.
|
| +enum class PermissionStatusSource {
|
| + // The reason for the status is not specified.
|
| + UNSPECIFIED,
|
| +
|
| + // The status is the result of being blocked due to the user dismissing a
|
| + // permission prompt multiple times.
|
| + MULTIPLE_DISMISSALS,
|
| +
|
| + // The status is the result of being blocked because the permission is on the
|
| + // safe browsing blacklist.
|
| + SAFE_BROWSING_BLACKLIST,
|
| +
|
| + // The status is the result of being blocked by the permissions kill switch.
|
| + KILL_SWITCH,
|
| +};
|
| +
|
| +struct PermissionResult {
|
| + PermissionResult(ContentSetting content_setting,
|
| + PermissionStatusSource source);
|
| + ~PermissionResult();
|
| +
|
| + ContentSetting content_setting;
|
| + PermissionStatusSource source;
|
| +};
|
| +
|
| // A utility class for permissions.
|
| class PermissionUtil {
|
| public:
|
|
|