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

<enum name="AndroidTabMediaState">
  <int value="0" label="None"/>
  <int value="1" label="Muted"/>
  <int value="2" label="Audible"/>
  <int value="3" label="PictureInPicture"/>
  <int value="4" label="Recording"/>
  <int value="5" label="Sharing"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/tab/media_state.h:AndroidTabMediaState) -->

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

<enum name="AnimationFreezeCheckerState">
  <int value="0" label="Started"/>
  <int value="1" label="Ended"/>
  <int value="2" label="Cancelled"/>
  <int value="3" label="Timed out"/>
  <int value="4" label="Cancelled or ended after timeout"/>
  <int value="5" label="Ended looped"/>
  <int value="6" label="Cancelled looped"/>
</enum>

<!-- LINT.ThenChange(//chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/AnimationFreezeChecker.java:AnimationState) -->

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

<enum name="AttemptFastKillForDiscardResult">
  <int value="0" label="Killed"/>
  <int value="1" label="Skipped"/>
  <int value="2" label="Killed without unload handlers"/>
  <int value="3" label="Killed without unload handlers or worker checks"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resource_coordinator/utils.h:AttemptFastKillForDiscardResult) -->

<enum name="BooleanFocusedTab">
  <int value="0" label="Not Focused"/>
  <int value="1" label="Focused"/>
</enum>

<enum name="BooleanHasTitle">
  <int value="0" label="Empty title"/>
  <int value="1" label="Non-empty title"/>
</enum>

<enum name="BooleanProtectedTab">
  <int value="0" label="Not Protected"/>
  <int value="1" label="Protected"/>
</enum>

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

<enum name="DeviceType">
  <int value="0" label="Unknown"/>
  <int value="1" label="Local"/>
  <int value="2" label="Windows"/>
  <int value="3" label="Mac"/>
  <int value="4" label="Linux"/>
  <int value="5" label="Chrome OS"/>
  <int value="6" label="Android Phone"/>
  <int value="7" label="Android Tablet"/>
  <int value="8" label="IOS Phone"/>
  <int value="9" label="IOS Tablet"/>
</enum>

<!-- LINT.ThenChange(//components/saved_tab_groups/internal/tab_group_sync_metrics_logger_impl.h:DeviceType) -->

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

<enum name="DiscardPageOnUIThreadOutcome">
  <int value="0" label="Success"/>
  <int value="1" label="NoContents"/>
  <int value="2" label="DiscardTabFailure"/>
  <int value="3" label="NoLifecycleUnit"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/performance_manager/mechanisms/page_discarder.cc:DiscardPageOnUIThreadOutcome) -->

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

<enum name="DiscardReason">
  <int value="0" label="OnDemand"/>
  <int value="1" label="AppendNavigation"/>
</enum>

<!-- LINT.ThenChange(//chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java:DiscardReason) -->

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

<enum name="DiscardTabOutcome">
  <int value="0" label="Success"/>
  <int value="1" label="NotInTabStripModel"/>
  <int value="2" label="AlreadyDiscarded"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resource_coordinator/tab_lifecycle_unit.cc:DiscardTabOutcome) -->

<enum name="ExternalLauncherOption">
  <int value="0" label="Cancel"/>
  <int value="1" label="Open"/>
</enum>

<enum name="FoundBuyableProductAnnotation">
  <summary>
    Whether a buyable product annotation was found in the response from an
    endpoint which provides page metadata in ShoppingPersistedTabData.
  </summary>
  <int value="0" label="NotFound"/>
  <int value="1" label="Found"/>
</enum>

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

<enum name="GracefulShutdownStatus">
  <int value="0" label="Launch Attempted"/>
  <int value="1" label="Launch Failed"/>
  <int value="2" label="Started"/>
  <int value="3" label="Start Foreground Failed"/>
  <int value="4" label="Timed Out"/>
</enum>

<!-- LINT.ThenChange(//chrome/android/java/src/org/chromium/chrome/browser/GracefulShutdownService.java:GracefulShutdownStatus) -->

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

<enum name="GroupClosingSource">
  <int value="0" label="Unknown"/>
  <int value="1" label="Closed by user"/>
  <int value="2" label="Deleted by user"/>
  <int value="3" label="Deleted from sync"/>
  <int value="4" label="Cleaned up on startup"/>
  <int value="5" label="Cleaned up on last instance closure"/>
  <int value="6" label="Group closed due to Close All Tabs operation"/>
  <int value="7"
      label="Group closed when Close Other Tabs option was selected"/>
  <int value="8"
      label="Group closed when the last tab in the strip was closed"/>
  <int value="9" label="Converted to shared group from UI"/>
  <int value="10" label="Converted to saved group from UI"/>
</enum>

<!-- LINT.ThenChange(//components/saved_tab_groups/public/types.h:ClosingSource) -->

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

<enum name="GroupOpeningSource">
  <int value="0" label="Unknown"/>
  <int value="1" label="Opened from revisit UI"/>
  <int value="2" label="Auto-opened from sync"/>
  <int value="3" label="Restored from tab restore UI"/>
  <int value="4" label="Opened after a undo close all tabs operation"/>
  <int value="5"
      label="Opened after closing the last tab in the strip was cancelled"/>
  <int value="6" label="Invoked from session restore after reconnect"/>
  <int value="7"
      label="Invoked from session restore after autosave of a V1 group"/>
  <int value="8" label="Group shared from UI"/>
  <int value="9" label="Group un-shared from UI"/>
  <int value="10" label="Open from toast action"/>
  <int value="11" label="Opened from projects panel"/>
</enum>

<!-- LINT.ThenChange(//components/saved_tab_groups/public/types.h:OpeningSource) -->

<enum name="HistoricalSaverCloseType">
  <int value="0" label="Tab"/>
  <int value="1" label="Group"/>
  <int value="2" label="Bulk"/>
</enum>

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

<enum name="HorizontalTabStripScrollSource">
  <int value="0" label="Buttons"/>
  <int value="1" label="Touchpad or Mouse Wheel"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/horizontal_tab_strip_metrics.h:HorizontalTabStripScrollSource) -->

<enum name="IOSAllOpenTabsAge">
  <int value="0" label="Less than 1 day"/>
  <int value="1" label="1-3 days"/>
  <int value="2" label="3-7 days"/>
  <int value="3" label="7-14 days"/>
  <int value="4" label="14-30 days"/>
  <int value="5" label="More than 30 days"/>
</enum>

<enum name="KeyboardTabSwitchMode">
  <int value="0" label="Standard"/>
  <int value="1" label="MRU"/>
</enum>

<enum name="NewTabType">
  <int value="0" label="New tab button"/>
  <int value="1" label="Regular menu option"/>
  <int value="2" label="Tab strip menu option"/>
  <int value="3" label="New tab button in toolbar for touch"/>
  <int value="4" label="New tab button in the WebUI tab strip"/>
  <int value="5" label="No user action taken"/>
</enum>

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

<enum name="PersistentStoreType">
  <int value="0" label="Invalid"/>
  <int value="1" label="Legacy"/>
  <int value="2" label="TabStateStore"/>
  <int value="3" label="Unknown"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/PersistentStoreMigrationManager.java:StoreType) -->

<enum name="PullDownGestureAction">
  <summary>The type of action performed on the overscroll UI.</summary>
  <int value="0" label="NewTab">The user selected the new tab action.</int>
  <int value="1" label="Refresh">The user selected the refresh action.</int>
  <int value="2" label="CloseTab">The user selected the close tab action.</int>
  <int value="3" label="Canceled">
    The user canceled the action by scrolling back up.
  </int>
</enum>

<enum name="RestoreTabStateException">
  <int value="0" label="File not found"/>
  <int value="1" label="Closed by interrupt exception"/>
  <int value="2" label="IO exception"/>
</enum>

<enum name="SadTabEvent">
  <int value="0" label="Displayed"/>
  <int value="1" label="Button clicked"/>
  <int value="2" label="Learn more clicked"/>
</enum>

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

<enum name="SavedTabGroupOpenedSubmenuDesktop">
  <int value="0"
      label="Opened from the tab group submenu from the bookmarks bar."/>
  <int value="1"
      label="Opened from the tab group submenu from the everything menu."/>
  <int value="2" label="Opened from the tab group submenu from the app menu."/>
  <int value="3"
      label="Opened from the tab group submenu from the mac system menu."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_metrics.h:SavedTabGroupOpenedSubmenuDesktop) -->

<!-- LINT.IfChange(SavedTabGroupSyncBridge.MigrationResult) -->

<enum name="SavedTabGroupSyncBridge.MigrationResult">
  <int value="0" label="Store creation failed"/>
  <int value="1" label="Store load started"/>
  <int value="2" label="Store load failed"/>
  <int value="3" label="Store load completed"/>
  <int value="4" label="Specifics to data migration started"/>
  <int value="5"
      label="Specifics to data migration parse failed at least once"/>
  <int value="6" label="Specifics to data migration write failed"/>
  <int value="7" label="Specifics to data migration success"/>
  <int value="8" label="Specifics to data migration already complete"/>
  <int value="9" label="Shared pref migration started"/>
  <int value="10" label="Shared pref migration parse failed at least once"/>
  <int value="11" label="Shared pref migration at least one entry migrated"/>
  <int value="12" label="Shared pref migration write failed"/>
  <int value="13" label="Shared pref migration success"/>
  <int value="14" label="Read all metadata failed"/>
  <int value="15" label="Read all metadata success"/>
</enum>

<!-- LINT.ThenChange(//components/saved_tab_groups/stats.h:MigrationResult) -->

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

<enum name="SharedTabGroupDataLoadFromDiskResult">
  <int value="0" label="Success"/>
  <int value="1" label="Failed to parse"/>
  <int value="2" label="Unexpected guid"/>
  <int value="3" label="Missing collaboration id"/>
  <int value="4" label="Missing group and tab"/>
</enum>

<!-- LINT.ThenChange(//components/saved_tab_groups/internal/stats.h:SharedTabGroupDataLoadFromDiskResult) -->

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

<enum name="SharedTabGroupManageTypeDesktop">
  <int value="0" label="Share group pressed"/>
  <int value="1" label="Manage group pressed"/>
  <int value="2" label="Delete group pressed"/>
  <int value="3" label="Recent Activity viewed"/>
  <int value="4" label="Manage group notification pressed after user joins"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_metrics.h:SharedTabGroupManageTypeDesktop) -->

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

<enum name="SharedTabGroupRecallTypeDesktop">
  <int value="0" label="Opened from the bookmarks bar."/>
  <int value="1" label="Opened from the everything menu."/>
  <int value="2"
      label="Opened from the tab groups sub menu. Replaced by additional
             entries to this histogram specifying the type of submenu."/>
  <int value="3" label="Closed from the tab group editor bubble."/>
  <int value="4"
      label="Opened from the tab group submenu from the bookmarks bar."/>
  <int value="5"
      label="Opened from the tab group submenu from the everything menu."/>
  <int value="6" label="Opened from the tab group submenu from the app menu."/>
  <int value="7"
      label="Opened from the tab group submenu from the mac system menu."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_metrics.h:SharedTabGroupRecallTypeDesktop) -->

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

<enum name="SplitTabCreatedSource">
  <int value="0" label="Toolbar button"/>
  <int value="1" label="Drag and drop link"/>
  <int value="2" label="Drag and drop tab"/>
  <int value="3" label="Bookmark context menu"/>
  <int value="4" label="Link context menu"/>
  <int value="5" label="Tab context menu"/>
  <int value="6" label="Duplicate split"/>
  <int value="7" label="Extensions API"/>
  <int value="8" label="What's new"/>
  <int value="9" label="Keyboard shortcut"/>
  <int value="10" label="New tab button"/>
  <int value="11" label="Link click shortcut"/>
  <int value="12" label="Mac menu bar"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/split_tab_metrics.h:SplitTabCreatedSource) -->

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

<enum name="SplitTabLayout">
  <int value="0" label="Side by side"/>
  <int value="1" label="Stacked"/>
</enum>

<!-- LINT.ThenChange(//components/split_tabs/split_tab_visual_data.h:SplitTabLayout) -->

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

<enum name="SplitViewMenuEntry">
  <summary>Entries from the split view menu.</summary>
  <int value="0" label="Reverse position"/>
  <int value="1" label="Close specified tab"/>
  <int value="2" label="Close start tab"/>
  <int value="3" label="Close end tab"/>
  <int value="4" label="Exit split"/>
  <int value="5" label="Send feedback"/>
  <int value="6" label="Toggle orientation"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/split_tab_menu_model.h:SplitViewMenuEntry) -->

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

<enum name="StorageLoadWarningCode">
  <int value="0" label="Unknown"/>
  <int value="1" label="Parse error"/>
  <int value="2" label="Multiple unique nodes error"/>
  <int value="3" label="Tree too deep error"/>
  <int value="4" label="Unknown collection type error"/>
  <int value="5" label="Missing root node with tabs error"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/tab/tab_storage_type.h:StorageLoadWarningCode) -->

<enum name="TabActivationTypes">
  <int value="0" label="Activate a tab"/>
  <int value="1" label="Activate the context menu of a tab"/>
</enum>

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

<enum name="TabDragDestination">
  <int value="0" label="Same window"/>
  <int value="1" label="New window"/>
  <int value="2" label="Existing window"/>
  <int value="3" label="Abandoned"/>
</enum>

<!-- LINT.ThenChange(chrome/browser/ui/views/tabs/dragging/tab_drag_controller.h:TabDragDestination) -->

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

<enum name="TabDragPinnedness">
  <int value="0" label="All unpinned"/>
  <int value="1" label="All pinned"/>
  <int value="2" label="Mixed"/>
</enum>

<!-- LINT.ThenChange(chrome/browser/ui/views/tabs/dragging/tab_drag_controller.h:TabDragPinnedness) -->

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

<enum name="TabGroupFocusEntryPoint">
  <int value="0" label="Editor bubble ('Focus group')"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/tab_enums.h:TabGroupFocusEntryPoint) -->

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

<enum name="TabGroupFocusExitReason">
  <int value="0" label="Editor bubble ('Unfocus group')"/>
  <int value="1" label="Tab strip back/unfocus button"/>
  <int value="2" label="Group closed or deleted"/>
  <int value="3" label="Group ungrouped"/>
  <int value="4" label="Last tab in focused group closed"/>
  <int value="5" label="Active tab unpinned"/>
  <int value="6" label="Tab group header dragged into window"/>
  <int value="7" label="Active tab group changed or ungrouped"/>
  <int value="8" label="Tab outside focused group closed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/tab_enums.h:TabGroupFocusExitReason) -->

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

<enum name="TabGroupingTransitionType">
  <int value="0" label="Invalid type"/>
  <int value="1" label="Active tab was ungrouped, new tab was left ungrouped"/>
  <int value="2" label="Active tab was ungrouped, new tab later grouped"/>
  <int value="3" label="Active tab was grouped, new tab left ungrouped"/>
  <int value="4" label="Active tab was grouped, new tab left in that group"/>
  <int value="5"
      label="Active tab was grouped, new tab put in different group"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/tab_creation_metrics_controller.h:TabGroupingTransitionType) -->

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

<enum name="TabGroupLoadedEmptiness">
  <int value="0" label="Not empty"/>
  <int value="1" label="Already empty"/>
  <int value="2" label="Became empty after removing duplicates"/>
</enum>

<!-- LINT.ThenChange(//components/saved_tab_groups/internal/stats.cc:TabGroupLoadedEmptiness) -->

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

<enum name="TabGroupShortcut">
  <int value="0" label="Create a new tab group"/>
  <int value="1" label="Close a tab group"/>
  <int value="2" label="Add a new tab to a tab group"/>
  <int value="3" label="Focus the first tab in the next tab group"/>
  <int value="4" label="Focus the first tab in the previous tab group"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/browser_commands.h:TabGroupShortcut) -->

<enum name="TabRestoreMethod">
  <int value="0" label="TabState"/>
  <int value="1" label="CriticalPersistedTabData"/>
  <int value="2" label="Create new Tab"/>
  <int value="3" label="Failed to restore"/>
  <int value="4" label="Skipped (NTP)"/>
  <int value="5" label="Skipped (Empty URL)"/>
</enum>

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

<enum name="TabSearchCloseAction">
  <int value="0" label="No action taken"/>
  <int value="1" label="Closed tab"/>
  <int value="2" label="Opened recent tab"/>
  <int value="3" label="Switched tab"/>
  <int value="4" label="Opened recent tab and closed tab"/>
  <int value="5" label="Switched tab and closed tab"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/webui/tab_search/tab_search_page_handler.h:TabSearchCloseAction) -->

<enum name="TabSearchOpenActions">
  <int value="0" label="User opened the Tab Search UI via a mouse click"/>
  <int value="1" label="User opened the Tab Search UI via keyboard navigation"/>
  <int value="2" label="User opened the Tab Search UI via keyboard shortcut"/>
  <int value="3" label="User opened the Tab Search UI via touch gesture"/>
</enum>

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

<enum name="TabSearchRecentlyClosedItemOpenAction">
  <int value="0"
      label="Opened a recently closed item from an unfiltered item list"/>
  <int value="1"
      label="Opened a recently closed item from a filtered item list"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/tab_search/tab_search_api_proxy.ts:TabSearchRecentlyClosedItemOpenAction) -->

<enum name="TabSearchRecentlyClosedToggleActions">
  <int value="0" label="Expand the recently closed items section"/>
  <int value="1" label="Collapse the recently closed items section"/>
</enum>

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

<enum name="TabSearchTabSwitchAction">
  <int value="0" label="Switch to tab from unfiltered tab list"/>
  <int value="1" label="Switch to tab from filtered search tab list"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/tab_search/tab_search_page.ts:TabSearchTabSwitchAction) -->

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

<enum name="TabSearchWebUIAction">
  <int value="0" label="Opened recently closed item from filtered list"/>
  <int value="1" label="Switched to tab from filtered list"/>
  <int value="2" label="Closed tab from filtered list"/>
  <int value="3" label="Opened recently closed item from unfiltered list"/>
  <int value="4" label="Switched to tab from unfiltered list"/>
  <int value="5" label="Closed tab from unfiltered list"/>
  <int value="6" label="Switched to other window tab from filtered list"/>
  <int value="7" label="Switched to other window tab from unfiltered list"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/tab_search/tab_search_page.ts:TabSearchUserAction) -->

<enum name="TabStateFlatBufferDeserializeResult">
  <int value="0" label="Success"/>
  <int value="1" label="Failure Unknown Reason"/>
  <int value="2" label="Failure IndexOutOfBoundsException"/>
  <int value="3" label="Failure IllegalArgumentException"/>
</enum>

<enum name="TabStateMigrationStatus">
  <int value="0" label="FlatBuffer TabState file only exists"/>
  <int value="1" label="Legacy TabState file only exists"/>
  <int value="2" label="Both FlatBuffer and legacy TabState files exist"/>
</enum>

<enum name="TabStateRestoreMethod">
  <int value="0" label="FlatBuffer Schema"/>
  <int value="1" label="Legacy hand written Schema"/>
  <int value="2" label="Failed to restore TabState"/>
</enum>

<enum name="TabStatus">
  <int value="0" label="Memory resident"/>
  <int value="1" label="Evicted and reloaded"/>
  <int value="2" label="Reloaded due to cold start"/>
  <int value="3" label="Partially evicted"/>
  <int value="4" label="Reloaded due to backgrounding"/>
  <int value="5" label="Reloaded due to incognito"/>
  <int value="6" label="Reloaded due to cold start (fg tab on start)"/>
  <int value="7" label="Reloaded due to cold start (bg tab on switch)"/>
  <int value="8" label="Lazy load for 'Open in new tab'"/>
  <int value="9" label="Stopped due to page loading when backgrounding"/>
  <int value="10" label="Evicted due to page loading when backgrounding"/>
  <int value="11" label="Evicted due to OS terminating the renderer."/>
</enum>

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

<enum name="VerticalTabsState">
  <int value="0" label="AllHorizontal"/>
  <int value="1" label="Mixed"/>
  <int value="2" label="AllVertical"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/tab_metrics_provider.h:VerticalTabsState) -->

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

<enum name="VerticalTabStripCollapseState">
  <int value="0" label="Expanded"/>
  <int value="1" label="Collapsed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/tab_enums.h:VerticalTabStripCollapseState) -->

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

<enum name="VerticalTabStripEntryPoint">
  <int value="0" label="AppMenu"/>
  <int value="1" label="Settings"/>
  <int value="2" label="SystemContextMenu"/>
  <int value="3" label="TabContextMenu"/>
  <int value="4" label="MacViewMenu"/>
  <int value="5" label="WhatsNew"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/ui/tabs/vertical_tab_strip_metrics.h:VerticalTabStripEntryPoint) -->

</enums>

</histogram-configuration>
