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

<enum name="AntiFingerprintingBlockListResult">
  <summary>
    The possible results from checking a network resource URL against the
    anti-fingerprinting blocklist.
  </summary>
  <int value="0" label="Third-party resource Blocked"/>
  <int value="1" label="Third-party resource Allowed"/>
  <int value="2" label="First-party resource Allowed"/>
</enum>

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

<enum name="ContentSettingPatternScope">
  <int value="0" label="Origin scoped"/>
  <int value="1" label="With domain wildcard"/>
  <int value="2" label="With port wildcard"/>
  <int value="3" label="With scheme wildcard"/>
  <int value="4" label="With scheme and port wildcard"/>
  <int value="5" label="With domain and port wildcard"/>
  <int value="6" label="With domain and scheme wildcard"/>
  <int value="7" label="With domain and scheme and port wildcard"/>
  <int value="8" label="Full wildcard"/>
  <int value="9" label="File path"/>
  <int value="10" label="Custom scope"/>
</enum>

<!-- LINT.ThenChange(//components/content_settings/core/common/content_settings_pattern.h:Scope) -->

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

<enum name="CookieControlsMode">
  <int value="0" label="Off"/>
  <int value="1" label="BlockThirdParty"/>
  <int value="2" label="IncognitoOnly"/>
</enum>

<!-- LINT.ThenChange(//components/content_settings/core/browser/cookie_settings.h:CookieControlsMode, //chrome/browser/resources/settings/site_settings/constants.ts:CookieControlsMode) -->

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

<enum name="DeleteBrowsingDataAction">
  <int value="0" label="CBD dialog"/>
  <int value="1" label="Clear on exit"/>
  <int value="2" label="Close Incognito tabs"/>
  <int value="3" label="Cookies in use dialog"/>
  <int value="4" label="Site settings page"/>
  <int value="5" label="History Page Entries"/>
  <int value="6" label="Quick delete"/>
  <int value="7" label="Page info permission reset"/>
  <int value="8" label="RWS delete all data"/>
</enum>

<!-- LINT.ThenChange(
  //chrome/browser/resources/settings/metrics_browser_proxy.ts:DeleteBrowsingDataAction,
  //components/browsing_data/core/browsing_data_utils.h:DeleteBrowsingDataAction
) -->

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

<enum name="DeleteBrowsingDataDialogAction">
  <int value="0" label="Browsing History Toggled On"/>
  <int value="1" label="Browsing History Toggled Off"/>
  <int value="2" label="Tabs Toggled On"/>
  <int value="3" label="Tabs Toggled Off"/>
  <int value="4" label="Site Data Toggled On"/>
  <int value="5" label="Site Data Toggled Off"/>
  <int value="6" label="Cache Toggled On"/>
  <int value="7" label="Cache Toggled Off"/>
  <int value="8" label="Passwords Toggled On"/>
  <int value="9" label="Passwords Toggled Off"/>
  <int value="10" label="Autofill Toggled On"/>
  <int value="11" label="Autofill Toggled Off"/>
  <int value="12" label="Confirm data type selection changes"/>
  <int value="13" label="Cancel data type selection changes"/>
  <int value="14" label="Sign out footer link opened"/>
  <int value="15" label="Last 15 Minutes selected"/>
  <int value="16" label="Last Hour selected"/>
  <int value="17" label="Last day selected"/>
  <int value="18" label="Last week selected"/>
  <int value="19" label="Last four weeks selected"/>
  <int value="20" label="Older than 30 days selected"/>
  <int value="21" label="All time selected"/>
  <int value="22" label="Browsing data row selected"/>
  <int value="23" label="Search history link opened"/>
  <int value="24" label="My Activity link opened"/>
  <int value="25" label="Deletion selected"/>
  <int value="26" label="Cancel selected"/>
  <int value="27" label="Dialog dismissed implicitly"/>
  <int value="28" label="Menu item entry point (i.e. three dot menu) selected"/>
  <int value="29" label="History page entry point selected"/>
  <int value="30" label="Privacy page entry point selected"/>
  <int value="31" label="Keyboard entry point selected"/>
</enum>

<!--LINT.ThenChange(//components/browsing_data/core/browsing_data_utils.h:DeleteBrowsingDataDialogAction) -->

<enum name="DIPSDeletionAction">
  <int value="0" label="Disallowed"/>
  <int value="1" label="ExceptedAs1p"/>
  <int value="2" label="ExceptedAs3p"/>
  <int value="3" label="Enforced"/>
  <int value="4" label="Ignored: Due to empty site."/>
  <int value="5" label="Excepted"/>
</enum>

<enum name="DIPSErrorCode">
  <int value="0" label="No DIPSDatabase::Read error was encountered"/>
  <int value="1"
      label="DIPSDatabase::Read Error: A range in the db has an open-range
             (NULL, end]."/>
  <int value="2"
      label="DIPSDatabase::Read Error: A range in the db has an open-range
             [start, NULL)."/>
  <int value="3"
      label="DIPSDatabase::Read Error: `bounce_times` doesn't fully contain
             `stateful_bounce_times`."/>
  <int value="4"
      label="DIPSDatabase::Read Error: A query was made for an empty `site`;
             db has an entry with an empty `site`."/>
  <int value="5"
      label="DIPSDatabase::Read Error: A query was made for an empty `site`;
             db does not have an entry with an empty `site`."/>
  <int value="6" label="No DIPSDatabase::Write error was encountered"/>
  <int value="7" label="DIPSDatabase::Write Error: `site` is empty."/>
</enum>

<enum name="DIPSRedirectCategory">
  <int value="0" label="No cookies accessed; no previous site engagement"/>
  <int value="1" label="Cookies only read; no previous site engagement"/>
  <int value="2" label="Cookies only written; no previous site engagement"/>
  <int value="3" label="Cookies read and written; no previous site engagement"/>
  <int value="4" label="No cookies accessed; site has previous engagement"/>
  <int value="5" label="Cookies only read; site has previous engagement"/>
  <int value="6" label="Cookies only written; site has previous engagement"/>
  <int value="7"
      label="Cookies read and written; site has previous engagement"/>
  <int value="8" label="Unknown cookie access; no previous site engagement"/>
  <int value="9" label="Unknown cookie access; site has previous engagement"/>
</enum>

<enum name="DIPSRedirectType">
  <int value="0" label="Client redirect"/>
  <int value="1" label="Server redirect"/>
</enum>

<enum name="PrivacySandboxApiAllowed">
  <int value="0" label="Allowed"/>
  <int value="1" label="Restricted"/>
  <int value="2" label="Incognito profile"/>
  <int value="3" label="Apis disabled"/>
  <int value="4" label="Site data access blocked"/>
  <int value="5" label="Mismatched Consent"/>
  <int value="6" label="Attestation failed"/>
  <int value="7"
      label="Deprecated. Component installer has not yet checked the
             attestations file, or attestations file not present"/>
  <int value="8" label="Attestations downloaded, not yet loaded"/>
  <int value="9" label="Attestations file corrupt"/>
  <int value="10" label="Protected Audience joining blocked due to top frame"/>
  <int value="11"
      label="Disabled by third-party cookie deprecation experiment"/>
  <int value="12"
      label="Component installer has not yet checked the attestations file"/>
  <int value="13" label="Attestations file not present"/>
</enum>

<enum name="PrivacySandboxAttestationLoadAPKAssetStatus">
  <int value="0" label="Success"/>
  <int value="1" label="Fail to open the attestations list from APK assets"/>
  <int value="2"
      label="Fail to create a memory mapped file of the attestations list
             from APK assets"/>
  <int value="3" label="Fail to parse the content of the attestations list"/>
</enum>

<enum name="PrivacySandboxAttestationParsingStatus">
  <int value="0" label="Success"/>
  <int value="1" label="NotNewerVersion"/>
  <int value="2" label="FileNotExist"/>
  <int value="3" label="SentinelFilePresent"/>
  <int value="4" label="CannotCreateSentinel"/>
  <int value="5" label="CannotRemoveSentinel"/>
  <int value="6" label="CannotParseFile"/>
</enum>

<enum name="PrivacySandboxAttestationsFileSource">
  <int value="0" label="Pre-installed"/>
  <int value="1" label="Downloaded"/>
</enum>

<enum name="QuickDeleteAction">
  <int value="0" label="Entry from menu item clicked"/>
  <int value="1" label="Delete button on dialog clicked"/>
  <int value="2" label="Cancel button on dialog clicked"/>
  <int value="3"
      label="Dialog dismissed due to reasons other than Cancel or Delete"/>
  <int value="4" label="Entry from tab switcher menu item clicked"/>
  <int value="5" label="More options button on dialog clicked"/>
  <int value="6" label="My activity link on dialog clicked"/>
  <int value="7" label="Search history link on dialog clicked"/>
  <int value="8" label="last 15 minutes deletion time range selected"/>
  <int value="9" label="last hour minutes deletion time range selected"/>
  <int value="10" label="last day minutes deletion time range selected"/>
  <int value="11" label="last week minutes deletion time range selected"/>
  <int value="12" label="last four weeks deletion time range selected"/>
  <int value="13" label="All time deletion time range selected"/>
</enum>

<enum name="ThirdPartySiteDataAccessType">
  <int value="0" label="Any blocked third-party site data accesses"/>
  <int value="1" label="Any allowed third-party site data accesses"/>
  <int value="2" label="No third-party site data accesses"/>
</enum>

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

<enum name="UniversalOptOutEligibilitySystem">
  <int value="0" label="Eligible via Account capabilities"/>
  <int value="1" label="Ineligible via Account capabilities"/>
  <int value="2" label="Eligible via Finch"/>
  <int value="3" label="Ineligible via Finch"/>
</enum>

<!-- LINT.ThenChange(//components/universal_optout/universal_optout_service.h:UniversalOptOutEligibilitySystem) -->

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

<enum name="UniversalOptOutEligibilityTransition">
  <int value="0" label="Ineligible to Eligible"/>
  <int value="1" label="Eligible to Ineligible"/>
</enum>

<!-- LINT.ThenChange(//components/universal_optout/universal_optout_service.h:UniversalOptOutEligibilityTransition) -->

</enums>

</histogram-configuration>
