| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_ASH_INPUT_METHOD_EDITOR_METRICS_ENUMS_H_ |
| #define CHROME_BROWSER_ASH_INPUT_METHOD_EDITOR_METRICS_ENUMS_H_ |
| |
| namespace ash::input_method { |
| |
| enum class EditorTone { |
| kUnset = 0, |
| kRephrase = 1, |
| kEmojify = 2, |
| kShorten = 3, |
| kElaborate = 4, |
| kFormalize = 5, |
| kFreeformRewrite = 6, |
| kUnknown = 7, |
| kMaxValue = kUnknown, |
| }; |
| |
| // Must match with IMEEditorStates in enums.xml |
| // |
| // These values are persisted to logs. Entries should not be renumbered and |
| // numeric values should never be reused. |
| enum class EditorStates { |
| // When a user right clicks on an eligible text field and the feature itself |
| // is enabled. |
| kNativeUIShowOpportunity = 0, |
| // When the native UI menu is shown. |
| kNativeUIShown = 1, |
| // For only the first request to the server of the session from the views UI. |
| // Refines are not counted here. |
| kNativeRequest = 2, |
| // When a response page is dismissed by user clicking elsewhere or explicitly |
| // clicking the close button. |
| kDismiss = 3, |
| // For each refine request and by editing the prompt directly at the top of |
| // the webUI. |
| kRefineRequest = 4, |
| // When response(s) are shown to the user. |
| kSuccessResponse = 5, |
| // When a error is shown to the user. |
| kErrorResponse = 6, |
| // When a thumbs up button is clicked. |
| kThumbsUp = 7, |
| // When a thumbs down button is clicked. |
| kThumbsDown = 8, |
| // When a response is inserted/replaced to the text field. |
| kInsert = 9, |
| |
| // Migrated to another histogram due to incorrect use |
| // kCharsInserted = 10, |
| // kCharsSelectedForInsert = 11, |
| // kFreeformCharsForInsert = 12, |
| |
| // When a user returns to previous in the webUI. |
| kReturnToPreviousSuggestions = 13, |
| // When a user directly clicks the WebUI close button to close the feature. |
| kClickCloseButton = 14, |
| // For the first request to the server of the session from the WebUI. This |
| // will happen right after a user initially consents, or if they get an error |
| // and try again. |
| kWebUIRequest = 15, |
| // Increase by 1 when a user clicks to approve the consent. |
| kApproveConsent = 16, |
| // Increase by 1 when a user clicks to decline the consent. |
| kDeclineConsent = 17, |
| // Increase by 1 when the feature is blocked. |
| kBlocked = 18, |
| // Increase by 1 when the feature is blocked because user is in an unsupported |
| // country. |
| kBlockedByUnsupportedRegion = 19, |
| // Increase by 1 when the feature is blocked because user is using a managed |
| // device. |
| kBlockedByManagedStatus = 20, |
| // Increase by 1 when the feature is blocked because the consent status does |
| // not satisfy. |
| kBlockedByConsent = 21, |
| // Increase by 1 when the feature is blocked because the setting toggle is |
| // switched off. |
| kBlockedBySetting = 22, |
| // Increase by 1 when the feature is blocked because the text is too long. |
| kBlockedByTextLength = 23, |
| // Increase by 1 when the feature is blocked because the focused text input |
| // residing in a url found in the url denylist. |
| kBlockedByUrl = 24, |
| // Increase by 1 when the feature is blocked because the focused text input |
| // residing in an app found in the app denylist. |
| kBlockedByApp = 25, |
| // Increase by 1 when the feature is blocked because the current active input |
| // method is not supported. |
| kBlockedByInputMethod = 26, |
| // Increase by 1 when the feature is blocked because the current active input |
| // type is not allowed. |
| kBlockedByInputType = 27, |
| // Increase by 1 when the feature is blocked because the current app type is |
| // not supported. |
| kBlockedByAppType = 28, |
| // Increase by 1 when the feature is blocked because the current form factor |
| // is not supported. |
| kBlockedByInvalidFormFactor = 29, |
| // Increase by 1 when the feature is blocked because user is not connected to |
| // internet. |
| kBlockedByNetworkStatus = 30, |
| // Increase by 1 when user receives unknown error from the server. |
| ErrorUnknown = 31, |
| // Increase by 1 when user receives invalid argument error from the server. |
| ErrorInvalidArgument = 32, |
| // Increase by 1 when user receives resource exhausted error from the server. |
| ErrorResourceExhausted = 33, |
| // Increase by 1 when user receives backend failure error from the server. |
| ErrorBackendFailure = 34, |
| // Increase by 1 when user receives internet connection error from the server. |
| ErrorNoInternetConnection = 35, |
| // Increase by 1 when user receives unsupported language error from the |
| // server. |
| ErrorUnsupportedLanguage = 36, |
| // Increase by 1 when user receives blocked output error from the server. |
| ErrorBlockedOutputs = 37, |
| // Increase by 1 when user receives restricted region error from the server. |
| ErrorRestrictedRegion = 38, |
| // Increase by 1 when the native promo card is shown. |
| kPromoCardImpression = 39, |
| // Increase by 1 when user clicks "Dismiss" on the promo card. |
| kPromoCardExplicitDismissal = 40, |
| // Increase by 1 when the webui consent screen is shown. |
| kConsentScreenImpression = 41, |
| // Increase by 1 when a text insertion has been requested.. |
| kTextInsertionRequested = 42, |
| // Increase by 1 when text has been queued for insertion. |
| kTextQueuedForInsertion = 43, |
| kMaxValue = kTextQueuedForInsertion, |
| }; |
| |
| } // namespace ash::input_method |
| |
| #endif // CHROME_BROWSER_ASH_INPUT_METHOD_EDITOR_METRICS_ENUMS_H_ |