<!--
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.
-->

<!--

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(CanDiscardResult) -->

<enum name="CanDiscardResult">
  <int value="0" label="Eligible"/>
  <int value="1" label="Protected"/>
  <int value="2" label="Disallowed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/performance_manager/policies/discard_eligibility_policy.h:CanDiscardResult) -->

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

<enum name="CannotDiscardReason">
  <int value="0" label="Not a Tab"/>
  <int value="1" label="Already Discarded"/>
  <int value="2" label="Discard Attempted"/>
  <int value="3" label="No Main Frame"/>
  <int value="4" label="Visible"/>
  <int value="5" label="Audible"/>
  <int value="6" label="Recently Audible"/>
  <int value="7" label="Recently Visible"/>
  <int value="8" label="Picture-in-Picture"/>
  <int value="9" label="PDF"/>
  <int value="10" label="Not Web or Internal"/>
  <int value="11" label="Invalid URL"/>
  <int value="12" label="Opted Out"/>
  <int value="13" label="Notifications Enabled"/>
  <int value="14" label="Extension Protected"/>
  <int value="15" label="Capturing Video"/>
  <int value="16" label="Capturing Audio"/>
  <int value="17" label="Being Mirrored"/>
  <int value="18" label="Capturing Window"/>
  <int value="19" label="Capturing Display"/>
  <int value="20" label="Connected to Bluetooth"/>
  <int value="21" label="Connected to USB"/>
  <int value="22" label="Active Tab"/>
  <int value="23" label="Pinned Tab"/>
  <int value="24" label="DevTools Open"/>
  <int value="25" label="Background Activity"/>
  <int value="26" label="Form Interactions"/>
  <int value="27" label="User Edits"/>
  <int value="28" label="GLIC Shared"/>
  <int value="29" label="Web App"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/performance_manager/policies/cannot_discard_reason.h:CannotDiscardReason) -->

<enum name="EfficiencyMode">
  <int value="0" label="Normal"/>
  <int value="1" label="High Efficiency"/>
  <int value="2" label="Battery Saver"/>
  <int value="3" label="Both"/>
  <int value="4" label="Mixed"/>
</enum>

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

<enum name="FrontEndHeapDebugOptionsOutcome">
  <int value="0" label="Cannot open the registry key"/>
  <int value="1" label="Cannot read the value in the registry key"/>
  <int value="2"
      label="Success - value is reported to
             PerformanceManager.RegistryStats.FrontEndHeapDebugOptionsValue"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/performance_manager/metrics/metrics_provider_desktop.cc:FrontEndHeapDebugOptionsOutcome) -->

<enum name="InputScenarioUpdateReason">
  <int value="0" label="Key Event"/>
  <int value="1" label="Tap Event"/>
  <int value="2" label="Scroll Start Event"/>
  <int value="3" label="Scroll End Event"/>
  <int value="4" label="Timeout"/>
  <int value="5" label="Node Removed"/>
</enum>

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

<enum name="TransientKeepAliveResult">
  <int value="0" label="Successful Reuse"/>
  <int value="1" label="Evicted Due To Count Limit"/>
  <int value="2" label="Timer Expired Without Reuse"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/performance_manager/policies/transient_keep_alive_policy.h:TransientKeepAliveResult) -->

</enums>

</histogram-configuration>
