| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_CHROME_BROWSER_PERMISSIONS_UI_BUNDLED_PERMISSION_METRICS_UTIL_H_ |
| #define IOS_CHROME_BROWSER_PERMISSIONS_UI_BUNDLED_PERMISSION_METRICS_UTIL_H_ |
| |
| @class PermissionInfo; |
| |
| // PermissionEvent origins. |
| enum class PermissionEventOrigin { |
| // Event from the permission modal infobar. |
| PermissionEventOriginModalInfobar = 0, |
| // Event from the page info permission section. |
| PermissionEventOriginPageInfo = 1, |
| kMaxValue = PermissionEventOriginPageInfo, |
| }; |
| |
| // Values for UMA permission histograms. These values are persisted to logs. |
| // Entries should not be renumbered and numeric values should never be reused. |
| enum class PermissionEvent { |
| cameraPermissionDisabled = 0, |
| cameraPermissionEnabled = 1, |
| microphonePermissionDisabled = 2, |
| microphonePermissionEnabled = 3, |
| kMaxValue = microphonePermissionEnabled, |
| }; |
| |
| // Records metrics related to media permission events. |
| void RecordPermissionEventFromOrigin(PermissionInfo* permissionInfo, |
| PermissionEventOrigin permissionOrigin); |
| |
| // Records a metric when the user toggles a media permission. |
| void RecordPermissionToogled(); |
| |
| #endif // IOS_CHROME_BROWSER_PERMISSIONS_UI_BUNDLED_PERMISSION_METRICS_UTIL_H_ |