| // 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. |
| |
| #include "chrome/browser/ash/ownership/ownership_histograms.h" |
| |
| #include "base/metrics/histogram_functions.h" |
| |
| namespace ash { |
| namespace { |
| |
| OwnerKeyUmaEvent ConvertToUmaEvent(OwnerKeyEvent event, bool success) { |
| if (success) { |
| switch (event) { |
| case OwnerKeyEvent::kDeviceSettingsServiceIsNull: |
| return OwnerKeyUmaEvent::kDeviceSettingsServiceIsNull; |
| case OwnerKeyEvent::kManagedDevice: |
| return OwnerKeyUmaEvent::kManagedDeviceSuccess; |
| case OwnerKeyEvent::kOwnerHasKeys: |
| return OwnerKeyUmaEvent::kOwnerHasKeysSuccess; |
| case OwnerKeyEvent::kEstablishingConsumerOwnership: |
| return OwnerKeyUmaEvent::kEstablishingConsumerOwnershipSuccess; |
| case OwnerKeyEvent::kRegeneratingOwnerKeyBasedOnPolicy: |
| return OwnerKeyUmaEvent::kRegeneratingOwnerKeyBasedOnPolicySuccess; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnPolicy: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnPolicySuccess; |
| case OwnerKeyEvent::kRegeneratingOwnerKeyBasedOnLocalState: |
| return OwnerKeyUmaEvent::kRegeneratingOwnerKeyBasedOnLocalStateSuccess; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnLocalState: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnLocalStateSuccess; |
| case OwnerKeyEvent::kUnsureUserNotAnOwner: |
| return OwnerKeyUmaEvent::kUnsureUserNotAnOwnerSuccess; |
| case OwnerKeyEvent::kOwnerKeyGenerated: |
| return OwnerKeyUmaEvent::kOwnerKeyGeneratedSuccess; |
| case OwnerKeyEvent::kFailedToGenerateOwnerKey: |
| return OwnerKeyUmaEvent::kFailedToGenerateOwnerKeySuccess; |
| case OwnerKeyEvent::kStartSigningPolicy: |
| return OwnerKeyUmaEvent::kStartSigningPolicySuccess; |
| case OwnerKeyEvent::kSignedPolicy: |
| return OwnerKeyUmaEvent::kSignedPolicySuccess; |
| case OwnerKeyEvent::kStoredPolicy: |
| return OwnerKeyUmaEvent::kStoredPolicySuccess; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnUserType: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnUserTypeSuccess; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnEmptyUsername: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnEmptyUsernameSuccess; |
| case OwnerKeyEvent::kUnsureTakeOwnership: |
| return OwnerKeyUmaEvent::kUnsureTakeOwnership; |
| case OwnerKeyEvent::kPrivateSlotKeyGeneration: |
| return OwnerKeyUmaEvent::kPrivateSlotKeyGenerationSuccess; |
| case OwnerKeyEvent::kPublicSlotKeyGeneration: |
| return OwnerKeyUmaEvent::kPublicSlotKeyGenerationSuccess; |
| case OwnerKeyEvent::kMigrationToPrivateSlotStarted: |
| return OwnerKeyUmaEvent::kMigrationToPrivateSlotStarted; |
| case OwnerKeyEvent::kMigrationToPublicSlotStarted: |
| return OwnerKeyUmaEvent::kMigrationToPublicSlotStarted; |
| case OwnerKeyEvent::kOwnerKeySet: |
| return OwnerKeyUmaEvent::kOwnerKeySetSuccess; |
| case OwnerKeyEvent::kOldOwnerKeyCleanUpStarted: |
| return OwnerKeyUmaEvent::kOldOwnerKeyCleanUpStarted; |
| case OwnerKeyEvent::kOwnerKeyInPublicSlot: |
| return OwnerKeyUmaEvent::kOwnerKeyInPublicSlotTrue; |
| } |
| } else { |
| switch (event) { |
| case OwnerKeyEvent::kDeviceSettingsServiceIsNull: |
| return OwnerKeyUmaEvent::kDeviceSettingsServiceIsNull; |
| case OwnerKeyEvent::kManagedDevice: |
| return OwnerKeyUmaEvent::kManagedDeviceFail; |
| case OwnerKeyEvent::kOwnerHasKeys: |
| return OwnerKeyUmaEvent::kOwnerHasKeysFail; |
| case OwnerKeyEvent::kEstablishingConsumerOwnership: |
| return OwnerKeyUmaEvent::kEstablishingConsumerOwnershipFail; |
| case OwnerKeyEvent::kRegeneratingOwnerKeyBasedOnPolicy: |
| return OwnerKeyUmaEvent::kRegeneratingOwnerKeyBasedOnPolicyFail; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnPolicy: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnPolicyFail; |
| case OwnerKeyEvent::kRegeneratingOwnerKeyBasedOnLocalState: |
| return OwnerKeyUmaEvent::kRegeneratingOwnerKeyBasedOnLocalStateFail; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnLocalState: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnLocalStateFail; |
| case OwnerKeyEvent::kUnsureUserNotAnOwner: |
| return OwnerKeyUmaEvent::kUnsureUserNotAnOwnerFail; |
| case OwnerKeyEvent::kOwnerKeyGenerated: |
| return OwnerKeyUmaEvent::kOwnerKeyGeneratedFail; |
| case OwnerKeyEvent::kFailedToGenerateOwnerKey: |
| return OwnerKeyUmaEvent::kFailedToGenerateOwnerKeyFail; |
| case OwnerKeyEvent::kStartSigningPolicy: |
| return OwnerKeyUmaEvent::kStartSigningPolicyFail; |
| case OwnerKeyEvent::kSignedPolicy: |
| return OwnerKeyUmaEvent::kSignedPolicyFail; |
| case OwnerKeyEvent::kStoredPolicy: |
| return OwnerKeyUmaEvent::kStoredPolicyFail; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnUserType: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnUserTypeFail; |
| case OwnerKeyEvent::kUserNotAnOwnerBasedOnEmptyUsername: |
| return OwnerKeyUmaEvent::kUserNotAnOwnerBasedOnEmptyUsernameFail; |
| case OwnerKeyEvent::kUnsureTakeOwnership: |
| return OwnerKeyUmaEvent::kUnsureTakeOwnership; |
| case OwnerKeyEvent::kPrivateSlotKeyGeneration: |
| return OwnerKeyUmaEvent::kPrivateSlotKeyGenerationFail; |
| case OwnerKeyEvent::kPublicSlotKeyGeneration: |
| return OwnerKeyUmaEvent::kPublicSlotKeyGenerationFail; |
| case OwnerKeyEvent::kMigrationToPrivateSlotStarted: |
| return OwnerKeyUmaEvent::kMigrationToPrivateSlotStarted; |
| case OwnerKeyEvent::kMigrationToPublicSlotStarted: |
| return OwnerKeyUmaEvent::kMigrationToPublicSlotStarted; |
| case OwnerKeyEvent::kOwnerKeySet: |
| return OwnerKeyUmaEvent::kOwnerKeySetFail; |
| case OwnerKeyEvent::kOldOwnerKeyCleanUpStarted: |
| return OwnerKeyUmaEvent::kOldOwnerKeyCleanUpStarted; |
| case OwnerKeyEvent::kOwnerKeyInPublicSlot: |
| return OwnerKeyUmaEvent::kOwnerKeyInPublicSlotFalse; |
| } |
| } |
| } |
| |
| } // namespace |
| |
| void RecordOwnerKeyEvent(OwnerKeyEvent event, bool success) { |
| base::UmaHistogramEnumeration(kOwnerKeyHistogramName, |
| ConvertToUmaEvent(event, success)); |
| } |
| |
| } // namespace ash |