<!--
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(PrefetchPotentialCandidateCollectResult) -->

<enum name="PrefetchPotentialCandidateCollectResult">
  <int value="1" label="kAvailable"/>
  <int value="2" label="kUnavailablePrefetchIsNotInPrefetchService"/>
  <int value="3" label="kUnavailableNotServable"/>
  <int value="4"
      label="kUnavailableNavigationIsNotPrerenderAndPrefetchEligibilityNotGotYet"/>
  <int value="5" label="kUnavailablePrefetchIsDecoy"/>
  <int value="6" label="kUnavailablePrefetchStatusNotUsedCookiesChanged"/>
</enum>

<!-- LINT.ThenChange(//content/browser/preloading/prefetch/prefetch_match_resolver.h:PrefetchPotentialCandidateCollectResult) -->

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

<enum name="PrefetchPotentialCandidateServingResult">
  <int value="0" label="kServed"/>
  <int value="1" label="kNotServedOtherCandidatesAreMatched"/>
  <int value="2" label="kNotServedCookiesChanged"/>
  <int value="3" label="kNotServedPrefetchWillBeDestroyed"/>
  <int value="4" label="kNotServedIneligiblePrefetch"/>
<!-- Deprecated -->

<!-- <int value="5" label="kNotServedUnsatisfiedPrefetchServeableState"/> -->

  <int value="6" label="kNotServedPrefetchServiceWorkerStateMismatch"/>
  <int value="7" label="kNotServedDeterminedNVSHeaderMismatch"/>
  <int value="8" label="kNotServedBlockUntilHeadTimeout"/>
  <int value="9"
      label="kNotServedOnDeterminedHeadWithShouldBlockUntilHeadReceived"/>
  <int value="10" label="kNotServedOnDeterminedHeadWithServableExpired"/>
  <int value="11" label="kNotServedIneligibleRedirect"/>
  <int value="12" label="kNotServedLoadFailed"/>
<!-- Deprecated -->

<!-- <int value="13" label="kNotServedOnDeterminedHeadWithNotServableUnknown"/> -->

  <int value="14" label="kNotServedNoCandidates"/>
</enum>

<!-- LINT.ThenChange(//content/browser/preloading/prefetch/prefetch_match_resolver.h:PrefetchPotentialCandidateServingResult) -->

</enums>

</histogram-configuration>
