<!--
Copyright 2024 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<!--
This file describes the enumerations referenced by entries in histograms.xml for
this directory. Some enums may instead be listed in the central enums.xml file
at src/tools/metrics/histograms/enums.xml when multiple files use them.

For best practices on writing enumerations descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#Enum-Histograms

Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
chromium-metrics-reviews@google.com.
-->

<histogram-configuration>

<!-- Enum types -->

<enums>

<!-- LINT.IfChange(AmbientSearchEntryPoint) -->

<enum name="AmbientSearchEntryPoint">
  <summary>
    The entry point that initiated an ambient search query. (e.g. Context Menu
    Item)
  </summary>
  <int value="0"
      label="Context menu item for 'Search Image with Google Lens' (Image)"/>
  <int value="1" label="Context menu item for 'Search Image with Web' (Image)"/>
  <int value="2"
      label="Context menu item for 'Search Images with Google Lens' (Region)"/>
  <int value="3"
      label="Context menu item for 'Search Images with Web' (Region)"/>
  <int value="4" label="Context menu item for 'Search Web For'"/>
  <int value="5" label="Omnibox (Camera)"/>
  <int value="6" label="New Tab Page (Camera)"/>
  <int value="7" label="Quick Action Search Widget (Camera)"/>
  <int value="8" label="Keyboard (Camera)"/>
  <int value="9" label="App icon long press (Camera)"/>
  <int value="10" label="iOS Spotlight (Camera)"/>
  <int value="11" label="Plus Button (Camera)"/>
  <int value="12" label="Web Search Bar (Camera)"/>
  <int value="13" label="(Obsolete) Companion (Region) Deprecated 11/2024."/>
  <int value="14" label="Translate Onebox (Camera)"/>
  <int value="15" label="iOS Shortcuts App (Camera)"/>
  <int value="16" label="Web Images Search Bar (Camera)"/>
  <int value="17" label="What's New Promo (Camera)"/>
  <int value="18"
      label="Context menu item for 'Search Video Frame with Google Lens'
             (Video Frame)"/>
  <int value="19"
      label="Context menu item for 'Search Video Frame with Web' (Video
             Frame)"/>
  <int value="20" label="Lens Overlay Location Bar (Image)"/>
  <int value="21" label="Lens Overlay Overflow Menu (Image)"/>
  <int value="22"
      label="Context menu item for 'Search with Google Lens' that leads to
             Lens Overlay (Image)"/>
  <int value="23"
      label="Context menu item for 'Search with Google Lens' that leads to
             Lens Overlay (Region)"/>
  <int value="24"
      label="Context menu item for 'Search with Google Lens' that leads to
             Lens Overlay (Video)"/>
  <int value="25"
      label="Context menu item for 'Search with Google Lens', that leads to
             Lens Overlay, entered via keyboard (Image)"/>
  <int value="26"
      label="Context menu item for 'Search with Google Lens' that leads to
             Lens Overlay, entered via keyboard (Region)"/>
  <int value="27"
      label="Context menu item for 'Search with Google Lens' that leads to
             Lens Overlay, entered via keyboard (Video)"/>
  <int value="28"
      label="Lens Overlay Location Bar entry point that leads to Lens
             Overlay, entered via keyboard (Image)"/>
  <int value="29" label="Composebox"/>
</enum>

<!-- LINT.ThenChange(//components/lens/lens_metrics.h:AmbientSearchEntryPoint) -->

<enum name="AuxiliarySearchRequestStatus">
  <int value="0" label="Sent (overall number of requests issued)"/>
  <int value="1" label="Processed, Successful (data accepted by recipient)"/>
  <int value="2" label="Processed, Unsuccessful (recipient failure)"/>
  <int value="3" label="Not Processed (e.g. device not eligible)"/>
</enum>

<enum name="BooleanBottomSearchKind">
  <int value="0" label="Contextual Search"/>
  <int value="1" label="Related Searches"/>
</enum>

<enum name="BooleanIsTopLevel">
  <int value="0" label="Not Top Level"/>
  <int value="1" label="Top Level"/>
</enum>

<!-- LINT.IfChange(CameraOpenEntryPoint) -->

<enum name="CameraOpenEntryPoint">
  <int value="0" label="Omnibox"/>
  <int value="1" label="New Tab Page (NTP)"/>
  <int value="2" label="Widget"/>
  <int value="3" label="Tasks Surface"/>
  <int value="4" label="Keyboard"/>
  <int value="5" label="Spotlight"/>
  <int value="6" label="App Icon Long Press"/>
  <int value="7" label="Plus Button"/>
  <int value="8" label="Web Search Bar"/>
  <int value="9" label="Translate Onebox"/>
  <int value="10" label="iOS Shortcuts App"/>
  <int value="11" label="Web Images Search Bar"/>
  <int value="12" label="What's New Promo"/>
  <int value="13" label="Composebox"/>
</enum>

<!-- LINT.ThenChange(//components/lens/lens_metrics.h:CameraOpenEntryPoint) -->

<!-- LINT.IfChange(CameraResult) -->

<enum name="CameraResult">
  <int value="0" label="Success (Camera)"/>
  <int value="1" label="Success (Gallery Image)"/>
  <int value="2" label="Success (QR/Bar Code)"/>
  <int value="3" label="Dismissed"/>
</enum>

<!-- LINT.ThenChange(//components/lens/lens_metrics.h:CameraResult) -->

<enum name="ClickInfo">
  <summary>
    The type of the button that users clicked on the auxiliary search module
    card.
  </summary>
  <int value="0" label="Got it"/>
  <int value="1" label="No thanks"/>
  <int value="2" label="Go to settings"/>
  <int value="3" label="Turn on"/>
</enum>

<enum name="ContextualSearchCardTag">
  <int value="0" label="None"/>
  <int value="1" label="CT_OTHER"/>
  <int value="2" label="CT_HAS_ENTITY"/>
  <int value="3" label="CT_BUSINESS"/>
  <int value="4" label="CT_PRODUCT"/>
  <int value="5" label="CT_CONTACT"/>
  <int value="6" label="CT_EMAIL"/>
  <int value="7" label="CT_LOCATION"/>
  <int value="8" label="CT_URL"/>
  <int value="9" label="CT_DEFINITION"/>
  <int value="10" label="CT_TRANSLATE"/>
  <int value="11" label="CT_CONTEXTUAL_DEFINITION"/>
</enum>

<enum name="ContextualSearchCountedEvent">
  <int value="0" label="Unintelligent, counted"/>
  <int value="1" label="Intelligent, counted"/>
  <int value="2" label="Intelligent, not counted"/>
</enum>

<enum name="ContextualSearchGestureIsTap">
  <int value="0" label="Longpress"/>
  <int value="1" label="Tap"/>
</enum>

<enum name="ContextualSearchPermissions">
  <summary>The privacy permissions for the current user.</summary>
  <int value="0" label="None"/>
  <int value="1" label="Send URL"/>
  <int value="2" label="Send content"/>
  <int value="3" label="Send URL and content"/>
</enum>

<enum name="ContextualSearchPreferenceState">
  <int value="0" label="Uninitialized"/>
  <int value="1" label="Enabled"/>
  <int value="2" label="Disabled"/>
</enum>

<enum name="ContextualSearchQuickActionCategory">
  <int value="0" label="None"/>
  <int value="1" label="Address"/>
  <int value="2" label="Email"/>
  <int value="3" label="Event"/>
  <int value="4" label="Phone"/>
  <int value="5" label="Website"/>
</enum>

<enum name="ContextualSearchQuickActionIntentResolution">
  <int value="0" label="No matching apps or resolve failed"/>
  <int value="1" label="One matching app"/>
  <int value="2" label="Multiple matching apps"/>
</enum>

<enum name="ContextualSearchResultsSeen">
  <int value="0" label="Seen"/>
  <int value="1" label="Unseen"/>
</enum>

<enum name="ContextualSearchSeenByGesture">
  <int value="0" label="Seen, from Tap"/>
  <int value="1" label="Not seen, from Tap"/>
  <int value="2" label="Seen, from Long-press"/>
  <int value="3" label="Not seen, from Long-press"/>
</enum>

<!-- LINT.IfChange(CurrentDefaultPropagationOutcome) -->

<enum name="CurrentDefaultPropagationOutcome">
  <int value="0" label="PropagatedCurrentDefault"/>
  <int value="1" label="SkippedDueToPolicies"/>
  <int value="2" label="SkippedIsFallback"/>
  <int value="3" label="SkippedIsExtension"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/search_engine_choice/search_engine_choice_dialog_service.h:CurrentDefaultPropagationOutcome) -->

<enum name="DonateResult">
  <int value="0" label="No favicons available"/>
  <int value="1" label="Failed"/>
  <int value="2" label="Succeed"/>
</enum>

<enum name="EntryClickedPosition">
  <int value="0" label="1st position"/>
  <int value="1" label="2nd position"/>
  <int value="2" label="3rd position"/>
  <int value="3" label="4th position"/>
  <int value="4" label="5th position"/>
  <int value="5" label="6th position"/>
  <int value="6" label="7th position"/>
  <int value="7" label="8th position"/>
  <int value="8" label="9th position"/>
  <int value="9" label="10th position"/>
</enum>

<enum name="KeywordTableHashValidationStatus">
  <int value="0" label="Hash was validated successfully"/>
  <int value="1" label="Decryption failed"/>
  <int value="2" label="Hash format was invalid"/>
  <int value="3" label="Hash did not match expected value"/>
  <int value="4"
      label="Hash was not verified as decryption services were not available"/>
  <int value="5"
      label="Hash was not verified as hash verification is disabled"/>
  <int value="6"
      label="Hash was rejected as it was encrypted with a weak algorithm
             (Added May 2026)"/>
</enum>

<!-- LINT.IfChange(LaunchOsChoiceScreenTapHandlingStatus) -->

<enum name="LaunchOsChoiceScreenTapHandlingStatus">
  <int value="0" label="Initial tap"/>
  <int value="1" label="Suppressed tap"/>
  <int value="2" label="Repeated tap"/>
</enum>

<!-- LINT.ThenChange() -->

<!-- LINT.IfChange(LensRegionSearchAspectRatio) -->

<enum name="LensRegionSearchAspectRatio">
  <summary>
    Enum describing the aspect ratio of the captured region. The aspect ratios
    are defined arbitrarly as follows: SQUARE: [0.8, 1.2] WIDE: (1.2, 1.7]
    VERY_WIDE: (1.7, infinity] TALL: [0.3, 0.8) VERY_TALL: [0, 0.3)
  </summary>
  <int value="0" label="Undefined Aspect Ratio"/>
  <int value="1" label="Square Aspect Ratio"/>
  <int value="2" label="Wide Aspect Ratio"/>
  <int value="3" label="Very Wide Aspect Ratio"/>
  <int value="4" label="Tall Aspect Ratio"/>
  <int value="5" label="Very Tall Aspect Ratio"/>
</enum>

<!-- LINT.ThenChange(//components/lens/lens_metrics.h:LensRegionSearchAspectRatio) -->

<!-- LINT.IfChange(LensRegionSearchCaptureResult) -->

<enum name="LensRegionSearchCaptureResult">
  <summary>Result of Lens Region Search feature.</summary>
  <int value="0" label="Success"/>
  <int value="1" label="Failed to open results in a new tab"/>
  <int value="2" label="Error capturing image from selected region"/>
  <int value="3" label="User exited the capture mode via the escape key."/>
  <int value="4"
      label="User exited the capture mode via the close button on the
             instructional bubble."/>
  <int value="5"
      label="User navigated away from the page while capture mode was open,
             closing the capture mode."/>
</enum>

<!-- LINT.ThenChange(//components/lens/lens_metrics.h:LensRegionSearchCaptureResult) -->

<!-- LINT.IfChange(OsDefaultsChoiceDialogStatus) -->

<enum name="OsDefaultsChoiceDialogStatus">
  <int value="0" label="Unknown: Dialog dismissed or abandoned before showing"/>
  <int value="1" label="Pending (Deprecated 06/2025)"/>
  <int value="2" label="ChoiceLaunch"/>
  <int value="3" label="ChoiceConfirmation"/>
</enum>

<!-- LINT.ThenChange(/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/choice_screen/ChoiceDialogMediator.java:DialogType) -->

<!-- LINT.IfChange(OsDefaultsChoiceDialogSuppressionStatus) -->

<enum name="OsDefaultsChoiceDialogSuppressionStatus">
  <int value="0" label="Can show"/>
  <int value="1" label="Suppressed: Dark Launch (Deprecated 06/2025)"/>
  <int value="2" label="Suppressed: Escape Hatch"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/choice_screen/ChoiceDialogCoordinator.java:DialogSuppressionStatus) -->

<!-- LINT.IfChange(PendingChoiceScreenDisplayStateStatus) -->

<enum name="PendingChoiceScreenDisplayStateStatus">
  <int value="0" label="ParseError">
    Terminal state, the pending data seems corrupted and will be wiped
  </int>
  <int value="1" label="TimedOut">
    Terminal state, the mismatch was not resolved within the time limit. The
    pending data will be wiped
  </int>
  <int value="2" label="Uploaded">
    Terminal state, the pending data was logged to metrics, the local cache will
    be wiped
  </int>
  <int value="3" label="StayPending">
    Intermediate state, the pending data processing will be re-attempted later
  </int>
  <int value="4" label="ProgramMismatch">
    Terminal state, the program has changed and the pending data will be wiped
  </int>
</enum>

<!-- LINT.ThenChange(//components/search_engines/search_engine_choice/search_engine_choice_service.cc:PendingDisplayStateStatus) -->

<enum name="ScrollAndClickStatus">
  <int value="0" label="NO_SCROLL_NO_CLICK"/>
  <int value="1" label="NO_SCROLL_CLICKED"/>
  <int value="2" label="SCROLLED_NO_CLICK"/>
  <int value="3" label="SCROLLED_CLICKED"/>
</enum>

<enum name="SearchDuplicateKeyword">
  <int value="0" label="No Duplicates"/>
  <int value="1" label="Non-default keyword duplicated"/>
  <int value="2" label="Default keyword duplicated"/>
  <int value="3" label="Both Default and non-default duplicates"/>
</enum>

<enum name="SearchEngineChoiceDate">
  <summary>Year-Month</summary>
  <int value="100001" label="Before 2022"/>
  <int value="202201" label="2022-01"/>
  <int value="202202" label="2022-02"/>
  <int value="202203" label="2022-03"/>
  <int value="202204" label="2022-04"/>
  <int value="202205" label="2022-05"/>
  <int value="202206" label="2022-06"/>
  <int value="202207" label="2022-07"/>
  <int value="202208" label="2022-08"/>
  <int value="202209" label="2022-09"/>
  <int value="202210" label="2022-10"/>
  <int value="202211" label="2022-11"/>
  <int value="202212" label="2022-12"/>
  <int value="202301" label="2023-01"/>
  <int value="202302" label="2023-02"/>
  <int value="202303" label="2023-03"/>
  <int value="202304" label="2023-04"/>
  <int value="202305" label="2023-05"/>
  <int value="202306" label="2023-06"/>
  <int value="202307" label="2023-07"/>
  <int value="202308" label="2023-08"/>
  <int value="202309" label="2023-09"/>
  <int value="202310" label="2023-10"/>
  <int value="202311" label="2023-11"/>
  <int value="202312" label="2023-12"/>
  <int value="202401" label="2024-01"/>
  <int value="202402" label="2024-02"/>
  <int value="202403" label="2024-03"/>
  <int value="202404" label="2024-04"/>
  <int value="202405" label="2024-05"/>
  <int value="202406" label="2024-06"/>
  <int value="202407" label="2024-07"/>
  <int value="202408" label="2024-08"/>
  <int value="202409" label="2024-09"/>
  <int value="202410" label="2024-10"/>
  <int value="202411" label="2024-11"/>
  <int value="202412" label="2024-12"/>
  <int value="202501" label="2025-01"/>
  <int value="202502" label="2025-02"/>
  <int value="202503" label="2025-03"/>
  <int value="202504" label="2025-04"/>
  <int value="202505" label="2025-05"/>
  <int value="202506" label="2025-06"/>
  <int value="202507" label="2025-07"/>
  <int value="202508" label="2025-08"/>
  <int value="202509" label="2025-09"/>
  <int value="202510" label="2025-10"/>
  <int value="202511" label="2025-11"/>
  <int value="202512" label="2025-12"/>
  <int value="202601" label="2026-01"/>
  <int value="202602" label="2026-02"/>
  <int value="202603" label="2026-03"/>
  <int value="202604" label="2026-04"/>
  <int value="202605" label="2026-05"/>
  <int value="202606" label="2026-06"/>
  <int value="202607" label="2026-07"/>
  <int value="202608" label="2026-08"/>
  <int value="202609" label="2026-09"/>
  <int value="202610" label="2026-10"/>
  <int value="202611" label="2026-11"/>
  <int value="202612" label="2026-12"/>
  <int value="300001" label="After 2050"/>
</enum>

<enum name="SearchEngineChoiceReprompt">
  <int value="0" label="Reprompt"/>
  <int value="1" label="No reprompt: invalid dictionary"/>
  <int value="2" label="No reprompt: no dictionary key"/>
  <int value="3" label="No reprompt: invalid version"/>
  <int value="4" label="No reprompt: Chrome too old"/>
  <int value="5" label="No reprompt: recent choice"/>
  <int value="6" label="No reprompt: no reprompt parameter set"/>
</enum>

<!-- LINT.IfChange(SearchEngineChoiceScreenConditions) -->

<enum name="SearchEngineChoiceScreenConditions">
  <int value="0" label="HasCustomSearchEngine">
    Ineligible due to having a custom search engine set as DSE.
  </int>
  <int value="1" label="SearchProviderOverride">
    Ineligible due to having search provider overrides defined on the device.
  </int>
  <int value="2" label="NotInRegionalScope">
    Ineligible due to the profile not being considered in scope for a choice
    program.
  </int>
  <int value="3" label="ControlledByPolicy">
    A policy sets the default search engine or disables search altogether.
  </int>
  <int value="4" label="ProfileOutOfScope">
    Deprecated, used to refer to profiles excluded by the experiment set up.
  </int>
  <int value="5" label="ExtensionControlled">
    An extension controls the default search engine.
  </int>
  <int value="6" label="Eligible"/>
  <int value="7" label="AlreadyCompleted">
    A choice has already been made, so not eligible anymore for a choice screen.
    Note: Choices imported through Backup &amp; Restore or carry-over mechanisms
    are reported as AlreadyCompletedImported.
  </int>
  <int value="8" label="UnsupportedBrowserType">
    The browser type is unsupported: PWA, Kiosk, unsupported platform, etc.
  </int>
  <int value="9" label="FeatureSuppressed">
    Choice Screen feature suppressed or disabled.
  </int>
  <int value="10" label="SuppressedByOtherDialog">
    Is suppressed by another already triggered dialog.
  </int>
  <int value="11" label="BrowserWindowTooSmall">
    Browser window is too small to fit the dialog.
  </int>
  <int value="12" label="HasDistributionCustomSearchEngine">
    Has a distribution custom search engine as default.
  </int>
  <int value="13" label="HasRemovedPrepopulatedSearchEngine">
    Has a removed prepopulated search engine as default.
  </int>
  <int value="14" label="HasNonGoogleSearchEngine">
    Does not have Google as the default search engine.
  </int>
  <int value="15" label="AppStartedByExternalIntent">
    Choice Screen dialog skipped as app stared by external intent.
  </int>
  <int value="16" label="AlreadyBeingShown">
    Dialog is already shown in the same browser.
  </int>
  <int value="17" label="UsingPersistedGuestSessionChoice">
    Skipped by using a choice persisted across guest sessions.
  </int>
  <int value="18" label="IncompatibleCurrentLocation">
    Skipped because the current location does not match the active program's
    requirement to be in one of the associated countries.
  </int>
  <int value="19" label="AccountNotEligible">
    The account is not eligible based on its account capabilities. See
    go/capability-registry/chrome/canmakechromesearchenginechoicescreenchoice.
  </int>
  <int value="20" label="IneligibleSurface">
    The choice screen could not be presented because program settings require it
    to not be shown on the UI surface that triggered it. Currently recorded on
    iOS only, when triggering the Dialog version of the choice screen is skipped
    for programs where the choice screen is enabled only in the First Run
    Experience.
  </int>
  <int value="21" label="Managed">
    There is device-level management, and the regional program does not treat
    managed profiles as eligible for the choice screen.
  </int>
  <int value="22" label="EligibleForRestore">
    Although a choice had already been made, this profile is eligible due to
    having been requested by the program for devices that can be identified has
    having had this choice imported, for example from backup and restore flows.
  </int>
  <int value="23" label="HasNonHighlightablePrepopulatedSearchEngine">
    The user has a prepopulated engine that's not in the list of engines to be
    offered on the choice screen set as default, while the program settings
    require to highlight the current default.
  </int>
  <int value="24" label="UnavailableCurrentLocation">
    The user's current location is unknown or invalid *and* the regional program
    requires restricting to its associated countries. Note: it can be affected
    by the client state (e.g. Desktop first run), leading to not emitting this
    condition.
  </int>
  <int value="25" label="AlreadyCompletedImported">
    A choice has already been made **on another device** and applied to this
    profile, so this one is not eligible anymore for a choice screen.
  </int>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/enums.h:SearchEngineChoiceScreenConditions) -->

<!-- LINT.IfChange(SearchEngineChoiceScreenEvents) -->

<enum name="SearchEngineChoiceScreenEvents">
  <int value="0" label="Unknown"/>
  <int value="1" label="[Dialog] Choice Screen Was Displayed"/>
  <int value="2" label="[FRE] Choice Screen Was Displayed"/>
  <int value="3" label="[Dialog] Default Was Set"/>
  <int value="4" label="[FRE] Default Was Set"/>
  <int value="5" label="[Dialog] Learn More Screen Was Displayed"/>
  <int value="6" label="[FRE] Learn More Screen Was Displayed"/>
  <int value="7"
      label="[Profile Creation] Choice Screen Was Displayed (Desktop only)"/>
  <int value="8" label="[Profile Creation] Default Was Set (Desktop only)"/>
  <int value="9"
      label="[Profile Creation] Learn More Screen Was Displayed (Desktop
             only)"/>
  <int value="10" label="[Dialog] More button was clicked"/>
  <int value="11" label="[FRE] More button was clicked"/>
  <int value="12" label="[Profile Creation] More button was clicked"/>
</enum>

<!-- LINT.ThenChange(/components/search_engines/search_engine_choice/search_engine_choice_utils.h:SearchEngineChoiceScreenEvents) -->

<!-- LINT.IfChange(SearchEngineChoiceScrollState) -->

<enum name="SearchEngineChoiceScrollState">
  <int value="0" label="Scrolled to the bottom"/>
  <int value="1" label="Scrolled to the bottom with error margin"/>
  <int value="2" label="Failed scrolling to the bottom"/>
</enum>

<!-- LINT.ThenChange(/chrome/browser/ui/webui/search_engine_choice/search_engine_choice.mojom:ScrollState) -->

<!-- LINT.IfChange(SearchEngineChoiceStatus) -->

<enum name="SearchEngineChoiceStatus">
  <int value="0" label="Valid"/>
  <int value="1" label="NotMade"/>
  <int value="2" label="FromRestoredDevice"/>
  <int value="3" label="DefaultSearchDisabled"/>
  <int value="4" label="CurrentIsSetByPolicy"/>
  <int value="5" label="CurrentIsSetByExtension"/>
  <int value="6" label="CurrentIsNonGooglePrepopulated"/>
  <int value="7" label="CurrentIsNotPrepopulated"/>
  <int value="8" label="CurrentIsDistributionCustom"/>
  <int value="9" label="CurrentIsUnknownPrepopulated"/>
  <int value="10" label="AccountNotEligible"/>
  <int value="11" label="Managed"/>
  <int value="12" label="CurrentCannotBeHighlighted"/>
  <int value="13" label="ValidAndImported"/>
</enum>

<!-- LINT.ThenChange(/components/search_engines/search_engine_choice/search_engine_choice_service.h:ChoiceStatus) -->

<enum name="SearchEngineChoiceWipeReason">
  <int value="0" label="Profile wipe"/>
  <int value="1" label="Invalid choice metadata: Missing version"/>
  <int value="2" label="Invalid choice metadata: Invalid version"/>
  <int value="3" label="Finch-based reprompt"/>
  <int value="4" label="Command line flag"/>
  <int value="5" label="Device restore (iOS only)"/>
  <int value="6" label="Invalid choice metadata: Other"/>
  <int value="7" label="Missing default search engine"/>
  <int value="8" label="Choice remade after import"/>
  <int value="9" label="Program changed"/>
</enum>

<!-- LINT.IfChange(SearchPromotionDefaultBrowserType) -->

<enum name="SearchPromotionDefaultBrowserType">
  <int value="0" label="Unknown"/>
  <int value="1" label="Chrome"/>
  <int value="2" label="Edge"/>
  <int value="3" label="Safari"/>
  <int value="4" label="Firefox"/>
  <int value="5" label="Other"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/search_promotion/search_promotion_manager.cc:DefaultBrowserType) -->

<!-- LINT.IfChange(SearchPromotionExitCode) -->

<enum name="SearchPromotionExitCode">
  <int value="100" label="Invalid Extension ID"/>
  <int value="101" label="Invalid Post-Install URL"/>
  <int value="102" label="Registry Write Failed"/>
  <int value="103" label="URL Launch Failed (Open)"/>
  <int value="104" label="URL Launch Success (Open)"/>
  <int value="105" label="Timeout (Install)"/>
  <int value="106" label="Success Background (Install)"/>
  <int value="107" label="Success With Foreground Fallback (Install)"/>
  <int value="108" label="Foreground Fallback Launch Failed (Install)"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/search_promotion/register_search_promotion_task.h:SearchPromotionExitCode) -->

<enum name="SearchProviderOverrideStatus">
  <int value="0" label="kNoPref"/>
  <int value="1" label="kEmptyPref"/>
  <int value="2" label="kPrefHasValidUrls"/>
  <int value="3" label="kIgnoredPref"/>
</enum>

<enum name="SearchReferralParam">
  <int value="0" label="PC"/>
  <int value="1" label="clid"/>
  <int value="2" label="client"/>
  <int value="3" label="fr"/>
  <int value="4" label="gp"/>
  <int value="5" label="sourceid"/>
  <int value="6" label="t"/>
  <int value="7" label="tt"/>
</enum>

<!-- LINT.IfChange(UnknownCountryIdStored) -->

<enum name="UnknownCountryIdStored">
  <int value="0" label="ValidStaticCountryId">
    Valid country stored in the static pref
  </int>
  <int value="1" label="DontClearInvalidCountry">
    Clearing feature disabled (Deprecated 07/2025)
  </int>
  <int value="2" label="InvalidStaticPref">
    Invalid country in static prefs, clearing it
  </int>
  <int value="3" label="ValidDynamicCountryId">
    Valid country stored in the dynamic pref
  </int>
  <int value="4" label="InvalidDynamicPref">
    Invalid country in dynamic pref, using legacy static prefs as fallback, and
    clearing the dynamic pref
  </int>
  <int value="5" label="NoPersistedValue">
    There is no persisted country ID in the prefs
  </int>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_service.cc:CountryIdStoreStatus) -->

</enums>

</histogram-configuration>
