| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_MESSAGES_ANDROID_MESSAGE_ENUMS_H_ |
| #define COMPONENTS_MESSAGES_ANDROID_MESSAGE_ENUMS_H_ |
| |
| namespace messages { |
| |
| // List of constants describing the reasons why the message was dismissed. |
| // A Java counterpart will be generated for this enum. |
| // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.messages |
| // These values are persisted to logs. Entries should not be renumbered and |
| // numeric values should never be reused. |
| // TODO(crbug.com/40755174): Revisit enum values. TAB_SWITCHED is not currently |
| // used. Likely the same for TAB_DESTROYED and ACTIVITY_DESTROYED. We also need |
| // a dedicated value for message dismissed from feature code. |
| // |
| // LINT.IfChange(DismissReason) |
| enum class DismissReason { |
| // Dismiss reasons that are fully controlled by clients (i.e. are not used |
| // inside the Messages implementation are marked "Controlled by client" on |
| // comments. |
| |
| UNKNOWN = 0, |
| // A message was dismissed by clicking on the primary action button. |
| PRIMARY_ACTION = 1, |
| // Controlled by client: A message was dismissed by clicking on the secondary |
| // action button. |
| SECONDARY_ACTION = 2, |
| // A message was automatically dismissed based on timer. |
| TIMER = 3, |
| // A message was dismissed by user gesture. |
| GESTURE = 4, |
| // Controlled by client: A message was dismissed in response to switching |
| // tabs. |
| TAB_SWITCHED = 5, |
| // Controlled by client: A message was dismissed as a result of closing a tab. |
| TAB_DESTROYED = 6, |
| // Controlled by client: A message is dismissed because the activity is |
| // destroyed. |
| ACTIVITY_DESTROYED = 7, |
| // A message was dismissed due to the destruction of the corresponding scopes. |
| SCOPE_DESTROYED = 8, |
| // A message was dismissed explicitly in feature code. |
| DISMISSED_BY_FEATURE = 9, |
| // A message was dismissed by a close button click. |
| CLOSE_BUTTON = 10, |
| |
| // Insert new values before this line. |
| COUNT, |
| |
| kMaxValue = COUNT, |
| }; |
| // LINT.ThenChange(//tools/metrics/histograms/enums.xml:MessageDismissReason) |
| |
| // "Urgent" means the user should take actions ASAP, such as responding to |
| // permissions or safety warnings. |
| enum class MessagePriority { kUrgent, kNormal }; |
| |
| // The constants of message scope type. |
| // |
| // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.messages |
| enum class MessageScopeType { |
| WINDOW = 0, |
| WEB_CONTENTS = 1, |
| NAVIGATION = 2, |
| ORIGIN = 3 |
| }; |
| |
| // Enumerates unique identifiers for various messages. Used for recording |
| // messages related histograms. |
| // |
| // These values are persisted to logs. Entries should not be renumbered and |
| // numeric values should never be reused. |
| // |
| // When adding a new message identifier, make corresponding changes in the |
| // following locations: |
| // - tools/metrics/histograms/metadata/android/enums.xml: |
| // <enum name="MessageIdentifier"> |
| // - tools/metrics/histograms/metadata/android/histograms.xml: |
| // <variants name="MessageIdentifiers"> |
| // - MessagesMetrics.java: #messageIdentifierToHistogramSuffix() |
| // |
| // A Java counterpart is generated for this enum. |
| // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.messages |
| // |
| // LINT.IfChange(MessageIdentifier) |
| enum class MessageIdentifier { |
| INVALID_MESSAGE = 0, |
| SAVE_PASSWORD = 1, |
| UPDATE_PASSWORD = 2, |
| GENERATED_PASSWORD_SAVED = 3, |
| POPUP_BLOCKED = 4, |
| SAFETY_TIP = 5, |
| SAVE_ADDRESS_PROFILE = 6, |
| MERCHANT_TRUST = 7, |
| // Removed: ADD_TO_HOMESCREEN_IPH = 8, |
| // Removed: SEND_TAB_TO_SELF = 9, |
| READER_MODE = 10, |
| CHROME_SURVEY = 11, |
| SAVE_CARD = 12, |
| NOTIFICATION_BLOCKED = 13, |
| PERMISSION_UPDATE = 14, |
| ADS_BLOCKED = 15, |
| DOWNLOAD_PROGRESS = 16, |
| SYNC_ERROR = 17, |
| SHARED_HIGHLIGHTING = 18, |
| NEAR_OOM_REDUCTION = 19, |
| INSTALLABLE_AMBIENT_BADGE = 20, |
| AUTO_DARK_WEB_CONTENTS = 21, |
| TEST_MESSAGE = 22, |
| TAILORED_SECURITY_ENABLED = 23, |
| VR_SERVICES_UPGRADE = 24, |
| TAILORED_SECURITY_DISABLED = 25, |
| AR_CORE_UPGRADE = 26, |
| // Removed: INSTANT_APPS = 27, |
| ABOUT_THIS_SITE = 28, |
| TRANSLATE = 29, |
| OFFER_NOTIFICATION = 30, |
| EXTERNAL_NAVIGATION = 31, |
| FRAMEBUST_BLOCKED = 32, |
| DESKTOP_SITE_GLOBAL_DEFAULT_OPT_OUT = 33, |
| DESKTOP_SITE_GLOBAL_OPT_IN = 34, |
| PASSWORD_MANAGER_ERROR = 35, |
| DOWNLOAD_INCOGNITO_WARNING = 36, |
| // Removed: RESTORE_CUSTOM_TAB = 37, |
| // Removed: UNDO_CUSTOM_TAB_RESTORATION = 38, |
| CVC_SAVE = 39, |
| // Removed: TRACKING_PROTECTION_NOTICE = 40, |
| DESKTOP_SITE_WINDOW_SETTING = 41, |
| PROMPT_HATS_LOCATION_CUSTOM_INVITATION = 42, |
| PROMPT_HATS_LOCATION_GENERIC_INVITATION = 43, |
| PROMPT_HATS_CAMERA_CUSTOM_INVITATION = 44, |
| PROMPT_HATS_CAMERA_GENERIC_INVITATION = 45, |
| PROMPT_HATS_MICROPHONE_CUSTOM_INVITATION = 46, |
| PROMPT_HATS_MICROPHONE_GENERIC_INVITATION = 47, |
| PERMISSION_BLOCKED = 48, |
| SAVE_CARD_FAILURE = 49, |
| VIRTUAL_CARD_ENROLL_FAILURE = 50, |
| PROMPT_HATS_QUICK_DELETE = 51, |
| PROMPT_HATS_SAFETY_HUB = 52, |
| DEFAULT_BROWSER_PROMO = 53, |
| TAB_REMOVED_THROUGH_COLLABORATION = 54, |
| TAB_NAVIGATED_THROUGH_COLLABORATION = 55, |
| COLLABORATION_MEMBER_ADDED = 56, |
| COLLABORATION_REMOVED = 57, |
| CCT_ACCOUNT_MISMATCH_NOTICE = 58, |
| PROMPT_HATS_CLEAR_BROWSING_DATA = 59, |
| OS_ADVANCED_PROTECTION_SETTING_CHANGED_MESSAGE = 60, |
| MULTI_INSTANCE_RESTORATION_ON_DOWNGRADED_LIMIT = 61, |
| UPDATE_CHROME_FOR_TAB_GROUP_SHARE = 62, |
| // Insert new values before this line. |
| COUNT |
| }; |
| // LINT.ThenChange(//tools/metrics/histograms/metadata/android/histograms.xml:MessageIdentifier) |
| |
| // The behavior the message should follow when the primary button is clicked, |
| // after running the primary action callback. |
| // |
| // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.messages |
| enum class PrimaryActionClickBehavior { |
| DO_NOT_DISMISS = 0, |
| DISMISS_IMMEDIATELY = 1 |
| }; |
| |
| // The max size of the message secondary menu. |
| // |
| // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.messages |
| enum class SecondaryMenuMaxSize { |
| SMALL = 0, // default: 180dp -> @dimen/message_secondary_menu_max_size_small |
| MEDIUM = 1, // 250dp -> @dimen/message_secondary_menu_max_size_medium |
| LARGE = 2, // 300dp -> @dimen/message_secondary_menu_max_size_large |
| }; |
| |
| // The primary widget that should be shown in the message. |
| // |
| // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.messages |
| enum class PrimaryWidgetAppearance { |
| // Default value. Show the primary action button if non-empty text has been |
| // set for the primary action button, otherwise no primary widget is shown. |
| BUTTON_IF_TEXT_IS_SET = 0, |
| // Show a spinning progress indicator that isn't clickable. |
| PROGRESS_SPINNER = 1, |
| }; |
| |
| } // namespace messages |
| |
| #endif // COMPONENTS_MESSAGES_ANDROID_MESSAGE_ENUMS_H_ |