<!--
Copyright 2025 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(ActiveRegionalProgram) -->

<enum name="ActiveRegionalProgram">
  <int value="0" label="Unknown">This value is not emitted by the client.</int>
  <int value="1" label="Default"/>
  <int value="2" label="Mixed">
    There is more than one non-Default program (eg. Waffle and Taiyaki). If
    there is one non-Default program then the value of that program is emitted.
  </int>
  <int value="3" label="Waffle"/>
  <int value="4" label="Taiyaki"/>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_metrics.h:ActiveRegionalProgram) -->

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

<enum name="AndroidProgramResolution">
  <int value="0" label="Success">
    The program obtained from Android was successfully applied to Chrome
  </int>
  <int value="1" label="DefaultForOutOfProgramCountry">
    The program obtained from Android is not consistent with the active country.
    Falling back to using the Default program in Chrome for this session.
  </int>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_metrics.h:AndroidProgramResolution) -->

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

<enum name="CountryMatchingStatus">
  <int value="1" label="CountryMissing"/>
  <int value="2" label="VariationsCountryMissing"/>
  <int value="3" label="MatchesVariationsLatest"/>
  <int value="4" label="DoesNotMatchVariationsLatest"/>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_metrics.cc:CountryMatchingStatus) -->

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

<enum name="LoadedCapabilitiesCountrySource">
  <int value="0" label="No country available"/>
  <int value="1" label="Only latest country available"/>
  <int value="2" label="Only persisted country available"/>
  <int value="3" label="Persisted and latest countries match"/>
  <int value="4" label="Persisted country selected"/>
  <int value="5"
      label="Persisted country selected over fallback current country"/>
  <int value="6" label="Current country selected"/>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_metrics.h:LoadedCountrySource) -->

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

<enum name="RegionalCapabilitiesFunnelStage">
  <int value="0" label="NotInRegionalScope"/>
  <int value="1" label="AlreadyCompleted"/>
  <int value="2" label="Eligible"/>
  <int value="3" label="NotEligible"/>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_metrics.h:FunnelStage) -->

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

<enum name="RegionalProgramAndLocationMatch">
  <int value="0" label="SameAsProfileCountry"/>
  <int value="1" label="SameRegionAsProgram"/>
  <int value="2" label="NoMatch"/>
</enum>

<!-- LINT.ThenChange(/components/regional_capabilities/regional_capabilities_metrics.h:ProgramAndLocationMatch) -->

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

<enum name="RegionalProgramSpecificExclusion">
  <int value="0" label="NotRecordingChoiceFromSettings">
    User choices made from the Chrome settings that will not result in a search
    engine choice being seen as valid choice. Recorded at the moment of the
    choice.
  </int>
  <int value="1" label="NotPreservingChoiceFromOtherProgram">
    Pre-existing user choices made in the context of a program that is not the
    currently active one, and that are not being seen as valid choices for this
    active program. Recorded on each evaluation of the validity of the choice.
  </int>
</enum>

<!-- LINT.ThenChange(//components/regional_capabilities/regional_capabilities_metrics.h:ProgramSpecificExclusion) -->

</enums>

</histogram-configuration>
