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

<enum name="ChromeRelativePosition">
  <int value="0" label="Above Left"/>
  <int value="1" label="Center Left"/>
  <int value="2" label="Below Left"/>
  <int value="3" label="Above Center"/>
  <int value="4" label="Overlap"/>
  <int value="5" label="Below Center"/>
  <int value="6" label="Above Right"/>
  <int value="7" label="Center Right"/>
  <int value="8" label="Below Right"/>
  <int value="9" label="Chrome window on other display"/>
  <int value="10" label="No Visible Chrome Browser"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:ChromeRelativePosition) -->

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

<enum name="CopyFromSurfaceError">
  <int value="0" label="Unknown"/>
  <int value="1" label="Not Implemented"/>
  <int value="2" label="Frame Gone"/>
  <int value="3" label="Timeout"/>
  <int value="4" label="Embedding Token Changed"/>
  <int value="5" label="Viz sent empty bitmap"/>
  <int value="6" label="Unknown viz error"/>
</enum>

<!-- LINT.ThenChange(//content/public/browser/render_widget_host_view.h:CopyFromSurfaceError) -->

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

<enum name="DisplayPosition">
  <int value="0" label="Top Left"/>
  <int value="1" label="Center Left"/>
  <int value="2" label="Bottom Left"/>
  <int value="3" label="Top Center"/>
  <int value="4" label="Center Center"/>
  <int value="5" label="Bottom Center"/>
  <int value="6" label="Top Right"/>
  <int value="7" label="Center Right"/>
  <int value="8" label="Bottom Right"/>
  <int value="9" label="Unknown"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:DisplayPosition) -->

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

<enum name="GeminiNavigationCaptureResult">
  <int value="0" label="Success"/>
  <int value="1" label="Failure: Invalid URL"/>
  <int value="2" label="Failure: Non-HTTPS scheme"/>
  <int value="3" label="Failure: CID too long"/>
  <int value="4" label="Failure: Target URL too long"/>
  <int value="5" label="Failure: No target URL"/>
  <int value="6" label="Failure: Turn ID too long"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_enums.h:GeminiNavigationCaptureResult) -->

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

<enum name="GlicAnchoredDespiteEligibilityReason">
  <int value="0" label="Feature Flag Disabled"/>
  <int value="1" label="Country Disabled"/>
  <int value="2" label="Locale Disabled"/>
  <int value="3" label="System Requirement Not Met"/>
  <int value="4" label="OS Version Not Supported"/>
  <int value="5" label="Primary Account Not Capable"/>
  <int value="6" label="Disallowed By Chrome Policy"/>
  <int value="7" label="Disallowed By Remote Admin"/>
  <int value="8" label="Disallowed By Remote Other"/>
  <int value="9" label="Not Regular Profile"/>
  <int value="10" label="Not Rolled Out"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/glic_enabling.h:AnchoredDespiteEligibilityReason) -->

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

<enum name="GlicBrowserActiveState">
  <int value="0" label="Browser active"/>
  <int value="1" label="Browser recently active 1 to 5s"/>
  <int value="2" label="Browser recently active 5 to 10s"/>
  <int value="3" label="Browser recently active 10 to 30s"/>
  <int value="4" label="Browser inactive"/>
  <int value="5" label="Browser hidden"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.cc:BrowserActiveState) -->

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

<enum name="GlicCheckAuthBeforeLoadOutcome">
  <int value="0" label="Skipped sync: test automation is enabled"/>
  <int value="1" label="Skipped sync: user must manually sign in"/>
  <int value="2"
      label="Skipped sync: GlicCookieSyncOnTokenChange is on and sync is not
             needed"/>
  <int value="3" label="Skipped sync: GlicSkipCookieSyncOnOpen is on"/>
  <int value="4" label="Cookie sync was attempted"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/auth_controller.h:CheckAuthBeforeLoadOutcome) -->

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

<enum name="GlicClientErrorDialogType">
  <int value="0" label="Unknown"/>
  <int value="1" label="Disabled By Organization"/>
  <int value="2" label="Generic Availability"/>
  <int value="3" label="Ineligible Account"/>
  <int value="4" label="Signout"/>
  <int value="5" label="Unsupported Location"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:ClientErrorDialogType) -->

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

<enum name="GlicContainerCreationReason">
  <int value="0" label="InitialColdWarming"/>
  <int value="1" label="UserTriggeredColdStart"/>
  <int value="2" label="Refill"/>
  <int value="3" label="ReloadAfterExpiry"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic_web_contents_warming_pool.h:GlicContainerCreationReason) -->

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

<enum name="GlicCookieSyncResult">
  <int value="0" label="Success"/>
  <int value="1" label="Destroyed With Pending Callbacks"/>
  <int value="2" label="No Storage Partition"/>
  <int value="3" label="Dev Sync Failure"/>
  <int value="4" label="User Not Signed In"/>
  <int value="5" label="Auth Transient Error"/>
  <int value="6" label="Auth Persistent Error"/>
  <int value="7" label="Timeout"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic_cookie_synchronizer.h:GlicCookieSyncResult) -->

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

<enum name="GlicCookieSyncTrigger">
  <int value="0" label="CheckAuthBeforeLoad"/>
  <int value="1" label="CheckAuthBeforeLoadForced"/>
  <int value="2" label="OnPrimaryAccountChanged"/>
  <int value="3" label="OnRefreshTokenUpdated"/>
  <int value="4" label="MaybeSyncCookiesOnError"/>
  <int value="5" label="GlicClient"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/auth_controller.h:GlicCookieSyncTrigger) -->

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

<enum name="GlicCuiOutcome">
  <int value="0" label="Success"/>
  <int value="1" label="Unknown Cancel"/>
  <int value="2" label="Abandoned (User closed UI before load)"/>
  <int value="3" label="Failed"/>
  <int value="4" label="Failed Latency"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/glic_cui_tracker.h:GlicCuiOutcome) -->

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

<enum name="GlicDaisyChainFirstAction">
  <int value="0" label="No Action"/>
  <int value="1" label="Input Submitted"/>
  <int value="2" label="Switched Conversation"/>
  <int value="3" label="Recursive Daisy Chain"/>
  <int value="4" label="Side Panel Closed"/>
  <int value="5" label="Tab Switched"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/glic_instance_helper_metrics.h:DaisyChainFirstAction) -->

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

<enum name="GlicDetailedWebClientState">
  <int value="0" label="Bootstrap pending"/>
  <int value="1" label="Web client not created"/>
  <int value="2" label="Web client initialize failed"/>
  <int value="3" label="Web client created but not initialized"/>
  <int value="4" label="(Obsolete) Temporary unresponsive"/>
  <int value="5" label="(Obsolete) Permanent unresponsive"/>
  <int value="6" label="Responsive"/>
  <int value="7" label="(Obsolete) Responsive Inactive"/>
  <int value="8" label="(Obsolete) Unresponsive Inactive"/>
  <int value="9" label="(Obsolete) Mojo pipe closed unexpectedly"/>
  <int value="10" label="Mojo pipe closed unexpectedly before initialize"/>
  <int value="11" label="Mojo pipe closed unexpectedly after initialization"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/glic_api_impl/host/glic_api_host.ts:DetailedWebClientState) -->

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

<enum name="GlicDragAndDropContentType">
  <int value="0" label="Unknown"/>
  <int value="1" label="Image"/>
  <int value="2" label="Text"/>
  <int value="3" label="HTML Markup"/>
  <int value="4" label="URL / Link"/>
  <int value="5" label="Generic File"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:GlicDragAndDropContentType) -->

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

<enum name="GlicDragAndDropValidationResult">
  <int value="0" label="Success"/>
  <int value="1" label="Blocked by feature flag"/>
  <int value="2" label="Invalid drag ID"/>
  <int value="3" label="Cross-profile drag blocked"/>
  <int value="4" label="Source WebContents destroyed"/>
  <int value="5" label="Source Tab closed"/>
  <int value="6" label="Target WebContents destroyed"/>
  <int value="7" label="Source frame navigated before context fetched"/>
  <int value="8" label="Context fetch failed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:GlicDragAndDropValidationResult) -->

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

<enum name="GlicEntryPointStatus">
  <int value="0" label="Not eligible and FRE not started."/>
  <int value="1" label="Eligible and FRE not started."/>
  <int value="2" label="Not Eligible and FRE incomplete."/>
  <int value="3" label="Eligible and FRE incomplete."/>
  <int value="4" label="OS entry point disabled."/>
  <int value="5" label="Tabstrip button disabled."/>
  <int value="6" label="Both Tabstrip and OS entrypoints enabled."/>
  <int value="7" label="Only three-dot menu entry enabled."/>
  <int value="8" label="Completed the FRE and not eligible."/>
  <int value="9" label="Anchored but technically ineligible."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:EntryPointStatus) -->

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

<enum name="GlicExperimentalTriggeringErrorType">
  <int value="0" label="Generic Error"/>
  <int value="1" label="Offline"/>
  <int value="2" label="Cookie Sync Failed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/experimental_opt_in/experimental_opt_in.ts:GlicExperimentalTriggeringErrorType) -->

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

<enum name="GlicExperimentalTriggeringIncomingMessageResult">
  <int value="0" label="Success"/>
  <int value="1" label="Missing Task Metadata"/>
  <int value="2" label="Version Mismatch Or Unavailable"/>
  <int value="3" label="Missing Server Channel"/>
  <int value="4" label="Missing Payload"/>
  <int value="5" label="Coordinator Unavailable"/>
  <int value="6" label="User Not Opted In"/>
  <int value="7" label="No Browser Window"/>
  <int value="8" label="Glic Service Unavailable"/>
  <int value="9" label="No Instance"/>
  <int value="10" label="Triggering Manager Unavailable"/>
  <int value="11" label="No Web Contents For Opt-In"/>
  <int value="12" label="Android Opt-In Unsupported"/>
  <int value="13" label="No Actionable Request"/>
  <int value="14" label="Unexpected Request Payload"/>
  <int value="15" label="Result Not Set (instrumentation gap)"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/experimental_triggering/glic_experimental_triggering_metrics.h:GlicExperimentalTriggeringIncomingMessageResult) -->

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

<enum name="GlicExperimentalTriggeringState">
  <int value="0" label="Unavailable"/>
  <int value="1" label="Needs Opt-In"/>
  <int value="2" label="Ready"/>
</enum>

<!-- LINT.ThenChange(//components/sync_device_info/device_info.h:GlicExperimentalTriggeringState) -->

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

<enum name="GlicFeatureDisabledReason">
  <int value="0" label="Feature Flag Disabled"/>
  <int value="1" label="Country Disabled"/>
  <int value="2" label="Locale Disabled"/>
  <int value="3" label="System Requirement Not Met"/>
  <int value="4" label="OS Version Not Supported"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/glic_enabling.h:FeatureDisabledReason) -->

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

<enum name="GlicFilteringResult">
  <int value="0" label="Allowed - filtering disabled">
    Allowed as the filtering feature is disabled by flag.
  </int>
  <int value="1" label="Blocked - in exclusion list">
    Blocked as the item is in the exclusion list.
  </int>
  <int value="2" label="Allowed - wildcard inclusion">
    Allowed as the inclusion list is set to the wildcard character '*'.
  </int>
  <int value="3" label="Allowed - in inclusion list">
    Allowed as the item is in the inclusion list.
  </int>
  <int value="4" label="Blocked - not in inclusion list">
    Blocked as the item is not in the inclusion list.
  </int>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_enums.h:GlicFilteringResult) -->

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

<enum name="GlicGetContextFromTabError">
  <int value="0" label="Unknown">Unknown error</int>
  <int value="1" label="(Obsolete) PermissionDeniedWindowNotShowing">
    (Obsolete) Can't request context while the window is hidden. Removed in
    2025/08.
  </int>
  <int value="2" label="TabNotFound">Tab was not found</int>
  <int value="3" label="PermissionDeniedContextPermissionNotEnabled">
    Tab context permission was not granted
  </int>
  <int value="4" label="PermissionDenied">
    Permission denied to access tab contents
  </int>
  <int value="5" label="WebContentsChanged">Tab's web contents changed</int>
  <int value="6" label="PageContextNotEligible">
    The tab contents are not eligible for context
  </int>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_enums.h:GlicGetContextFromTabError) -->

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

<enum name="GlicHostApiRequestType">
  <int value="1" label="WebClientCreated"/>
  <int value="2" label="WebClientInitialized"/>
  <int value="3" label="CreateTab"/>
  <int value="4" label="OpenGlicSettingsPage"/>
  <int value="5" label="ClosePanel"/>
  <int value="6" label="ClosePanelAndShutdown"/>
  <int value="7" label="ShowProfilePicker"/>
  <int value="8" label="GetModelQualityClientId"/>
  <int value="9" label="GetContextFromFocusedTab"/>
  <int value="10" label="GetContextFromTab"/>
  <int value="11" label="GetContextForActorFromTab"/>
  <int value="12" label="SetMaximumNumberOfPinnedTabs"/>
  <int value="13" label="StopActorTask"/>
  <int value="14" label="PauseActorTask"/>
  <int value="15" label="ResumeActorTask"/>
  <int value="16" label="CaptureScreenshot"/>
  <int value="17" label="ResizeWindow"/>
  <int value="18" label="EnableDragResize"/>
  <int value="19" label="(Obsolete) SetWindowDraggableAreas"/>
  <int value="20" label="SetMinimumWidgetSize"/>
  <int value="21" label="SetMicrophonePermissionState"/>
  <int value="22" label="SetLocationPermissionState"/>
  <int value="23" label="SetTabContextPermissionState"/>
  <int value="24" label="SetContextAccessIndicator"/>
  <int value="25" label="GetUserProfileInfo"/>
  <int value="26" label="RefreshSignInCookies"/>
  <int value="27" label="AttachPanel"/>
  <int value="28" label="DetachPanel"/>
  <int value="29" label="SetAudioDucking"/>
  <int value="30" label="LogBeginAsyncEvent"/>
  <int value="31" label="LogEndAsyncEvent"/>
  <int value="32" label="LogInstantEvent"/>
  <int value="33" label="JournalClear"/>
  <int value="34" label="JournalSnapshot"/>
  <int value="35" label="JournalStart"/>
  <int value="36" label="JournalStop"/>
  <int value="37" label="JournalRecordFeedback"/>
  <int value="38" label="OnUserInputSubmitted"/>
  <int value="39" label="OnResponseRated"/>
  <int value="40" label="OnResponseStarted"/>
  <int value="41" label="OnResponseStopped"/>
  <int value="42" label="OnSessionTerminated"/>
  <int value="43" label="OnTurnCompleted"/>
  <int value="44" label="(Obsolete) OnModelChanged"/>
  <int value="45" label="ScrollTo"/>
  <int value="46" label="SetSyntheticExperimentState"/>
  <int value="47" label="OpenOsPermissionSettingsMenu"/>
  <int value="48" label="GetOsMicrophonePermissionStatus"/>
  <int value="49" label="PinTabs"/>
  <int value="50" label="UnpinTabs"/>
  <int value="51" label="UnpinAllTabs"/>
  <int value="52" label="SubscribeToPinCandidates"/>
  <int value="53" label="(Obsolete) UnsubscribeFromPinCandidates"/>
  <int value="54" label="GetZeroStateSuggestionsForFocusedTab"/>
  <int value="55" label="(Obsolete) GetZeroStateSuggestionsAndSubscribe"/>
  <int value="56" label="SetClosedCaptioningSetting"/>
  <int value="57" label="DropScrollToHighlight"/>
  <int value="58" label="MaybeRefreshUserStatus"/>
  <int value="59" label="OnClosedCaptionsShown"/>
  <int value="60" label="CreateTask"/>
  <int value="61" label="PerformActions"/>
  <int value="62" label="(Obsolete) OnViewChanged"/>
  <int value="63" label="SubscribeToPageMetadata"/>
  <int value="64" label="SwitchConversation"/>
  <int value="65" label="RegisterConversation"/>
  <int value="66" label="OnReaction"/>
  <int value="67" label="OnContextUploadCompleted"/>
  <int value="68" label="OnContextUploadStarted"/>
  <int value="69" label="SetActuationOnWebSetting"/>
  <int value="70" label="OnModeChange"/>
  <int value="71" label="SubscribeToCaptureRegion"/>
  <int value="72" label="(Obsolete) UnsubscribeFromCaptureRegion"/>
  <int value="73" label="(Obsolete) OnRecordUseCounter"/>
  <int value="74" label="InterruptActorTask"/>
  <int value="75" label="UninterruptActorTask"/>
  <int value="76" label="ActivateTab"/>
  <int value="77" label="CreateActorTab"/>
  <int value="78" label="OpenPasswordManagerSettingsPage"/>
  <int value="80" label="SetOnboardingCompleted"/>
  <int value="81" label="SubscribeToTabData"/>
  <int value="82" label="CreateSkill"/>
  <int value="83" label="UpdateSkill"/>
  <int value="84" label="GetSkill"/>
  <int value="85" label="CancelActions"/>
  <int value="86" label="ShowManageSkillsUi"/>
  <int value="87" label="AutofillSuggestionDialogOnFormPresented"/>
  <int value="88" label="AutofillSuggestionDialogOnFormPreviewChanged"/>
  <int value="89" label="AutofillSuggestionDialogOnFormConfirmed"/>
  <int value="90" label="OnMicrophoneStatusChange"/>
  <int value="91" label="RecordSkillsWebClientEvent"/>
  <int value="92" label="DeleteCapturedRegion"/>
  <int value="93" label="OnActionSubmitted"/>
  <int value="94" label="SubscribeToTabFavicon"/>
  <int value="95" label="ShowBrowseSkillsUi"/>
  <int value="96" label="SubscribeToZoomLevel"/>
  <int value="97" label="UnsubscribeFromZoomLevel"/>
  <int value="98" label="OnExperimentalTriggeringUpdate"/>
  <int value="99" label="OnOptinImpression"/>
  <int value="100" label="ProcessCounterAbuseVerdict"/>
  <int value="101" label="GetImageBytesFromTab"/>
  <int value="102" label="ActivateTabWithUrl"/>
  <int value="103" label="UpdateActorTaskStepProgress"/>
  <int value="104" label="OpenPinnedTabPicker"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/glic_api_impl/request_types.ts:ApiRequestType) -->

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

<enum name="GlicHotkeyUsage">
  <int value="0" label="Default"/>
  <int value="1" label="Custom"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/background/glic/glic_background_mode_manager.h:HotkeyUsage) -->

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

<enum name="GlicInputModesUsed">
  <int value="0" label="No input submitted"/>
  <int value="1" label="Only text input submitted"/>
  <int value="2" label="Only audio input submitted"/>
  <int value="3" label="Text and Audio input submitted"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:GlicInputModesUsed) -->

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

<enum name="GlicInstanceEvent">
  <int value="0" label="Instance Created"/>
  <int value="1" label="Warmed Instance Created"/>
  <int value="2" label="Instance Created Without Warming"/>
  <int value="3" label="Warmed Instance Promoted"/>
  <int value="4" label="Side Panel Shown"/>
  <int value="5" label="Floaty Shown"/>
  <int value="6" label="Detached To Floaty"/>
  <int value="7" label="Tab Bound"/>
  <int value="8" label="Tab Bound Via Daisy Chain"/>
  <int value="9" label="Daisy Chain Failed"/>
  <int value="10" label="Conversation Switched From Floaty"/>
  <int value="11" label="Conversation Switched From Side Panel"/>
  <int value="12" label="Conversation Switched To Floaty"/>
  <int value="13" label="Conversation Switched To Side Panel"/>
  <int value="14" label="Register Conversation"/>
  <int value="15" label="Instance Hidden"/>
  <int value="16" label="Close"/>
  <int value="17" label="Toggle"/>
  <int value="18" label="Bound Tab Destroyed"/>
  <int value="19" label="Create Tab"/>
  <int value="20" label="Create Task"/>
  <int value="21" label="Perform Actions"/>
  <int value="22" label="Stop Actor Task"/>
  <int value="23" label="Pause Actor Task"/>
  <int value="24" label="Resume Actor Task"/>
  <int value="25" label="Interrupt Actor Task"/>
  <int value="26" label="Uninterrupt Actor Task"/>
  <int value="27" label="WebUI State Uninitialized"/>
  <int value="28" label="WebUI State Begin Load"/>
  <int value="29" label="WebUI State Show Loading"/>
  <int value="30" label="WebUI State Hold Loading"/>
  <int value="31" label="WebUI State Finish Loading"/>
  <int value="32" label="WebUI State Error"/>
  <int value="33" label="WebUI State Offline"/>
  <int value="34" label="WebUI State Unavailable"/>
  <int value="35" label="WebUI State Ready"/>
  <int value="36" label="WebUI State Unresponsive"/>
  <int value="37" label="WebUI State Sign In"/>
  <int value="38" label="WebUI State Guest Error"/>
  <int value="39" label="WebUI State Disabled By Admin"/>
  <int value="40" label="Unbind Embedder From Instance"/>
  <int value="41" label="User Input Submitted"/>
  <int value="42" label="Context Requested"/>
  <int value="43" label="Response Started"/>
  <int value="44" label="Response Stopped"/>
  <int value="45" label="Turn Completed"/>
  <int value="46" label="Reaction Logged on Response"/>
  <int value="47" label="Shown"/>
  <int value="48" label="Open"/>
  <int value="49" label="WebUI State Warmed"/>
  <int value="50" label="(Obsolete) Open2"/>
  <int value="51" label="WebUI State Location Mismatch"/>
  <int value="52" label="WebUI State Ineligible Account"/>
  <int value="53" label="Client Ready"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:GlicInstanceEvent) -->

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

<enum name="GlicInstanceMetricsError">
  <int value="0" label="Response start without input."/>
  <int value="1" label="Response stop without input."/>
  <int value="2" label="Response start while hiding or hidden."/>
  <int value="3" label="Input submitted while response in progress."/>
  <int value="4" label="Side panel opened while already open."/>
  <int value="5" label="Floaty opened while already open."/>
  <int value="6" label="Input submitted while hidden."/>
  <int value="7" label="Tab unbind without open."/>
  <int value="8" label="Side panel closed without open."/>
  <int value="9" label="Floaty closed without open."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:GlicInstanceMetricsError) -->

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

<enum name="GlicInvocationSource">
  <int value="0" label="Button in the OS"/>
  <int value="1" label="Menu from button in the OS"/>
  <int value="2" label="OS-level hotkey"/>
  <int value="3" label="Button in top-chrome"/>
  <int value="4" label="First run experience"/>
  <int value="5" label="From the profile picker"/>
  <int value="6" label="From tab strip nudge"/>
  <int value="7" label="From 3-dot menu"/>
  <int value="8" label="An unsupported/unknown source"/>
  <int value="9" label="From the What's New page"/>
  <int value="10" label="User clicked sign-in and signed in"/>
  <int value="11" label="User shared a tab"/>
  <int value="12" label="From the actor task icon"/>
  <int value="13" label="User shared an image"/>
  <int value="14" label="From the handoff button"/>
  <int value="15" label="From invoking skills"/>
  <int value="16" label="Automatically opened by contextual cueing"/>
  <int value="17" label="User clicked the summarize button in the PDF viewer"/>
  <int value="18" label="From navigation capture"/>
  <int value="19" label="Automatically opened for a PDF"/>
  <int value="20" label="From capture region hotkey"/>
  <int value="21" label="In-product help"/>
  <int value="22" label="User clicked an anchored contextual cue chip"/>
  <int value="23" label="Context menu"/>
  <int value="24" label="Text selection nudge"/>
  <int value="25" label="Text selection widget"/>
  <int value="26" label="(Obsolete) Zero-state Auto-summarize"/>
  <int value="27" label="From the universal cart"/>
  <int value="28" label="Experimental triggering"/>
  <int value="29" label="Password change"/>
  <int value="30" label="From an Autofill action"/>
  <int value="31" label="Button in the toolbar"/>
  <int value="32" label="Indigo page action"/>
  <int value="33" label="Web Drag and Drop"/>
  <int value="34" label="From the promotion page"/>
  <int value="35" label="Daisy chain on new tab"/>
  <int value="36" label="Daisy chain on follow link"/>
  <int value="37" label="Conversation switch"/>
  <int value="38" label="Detach/Attach button"/>
  <int value="39" label="Tab restore"/>
  <int value="40" label="Reshow inactive"/>
  <int value="41" label="Tab context menu"/>
  <int value="42" label="Web Continuity"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:InvocationSource) -->

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

<enum name="GlicInvokeResult">
  <int value="0" label="Success"/>
  <int value="1" label="Unknown error"/>
  <int value="2" label="Timeout"/>
  <int value="3" label="Invalid conversation ID"/>
  <int value="4" label="Invalid tab"/>
  <int value="5" label="Tab closed"/>
  <int value="6" label="Instance destroyed"/>
  <int value="7" label="Invoke in progress"/>
  <int value="8" label="Invalid configuration"/>
  <int value="9" label="Additional context saw navigation"/>
  <int value="10" label="Additional context failed copy policy"/>
  <int value="11" label="Additional context failed paste policy"/>
  <int value="12" label="Additional context no source frame"/>
  <int value="13" label="Additional context no client frame"/>
  <int value="14" label="Additional context no clipboard metadata"/>
  <int value="15" label="Instance not found"/>
  <int value="16" label="Profile not enabled"/>
  <int value="17" label="Cancelled"/>
  <int value="18" label="Superseded by another invocation"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/glic_invoke_options.h:GlicInvokeError) -->

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

<enum name="GlicMetricsError">
  <int value="0" label="Response start without input."/>
  <int value="1" label="Response stop without input."/>
  <int value="2" label="Response start while hiding or hidden."/>
  <int value="3" label="Window close without window open."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:Error) -->

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

<enum name="GlicMultiInstanceSessionEndReason">
  <summary>The reason a Glic multi-instance session ended.</summary>
  <int value="0" label="Inactivity">
    The session ended due to user inactivity.
  </int>
  <int value="1" label="Hidden">
    The session ended because the UI was hidden for too long.
  </int>
  <int value="2" label="OwnerDestroyed">
    The session ended because the GlicInstance was destroyed.
  </int>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/glic_metrics_session_manager.h:GlicMultiInstanceSessionEndReason) -->

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

<enum name="GlicOnboardingFunnelStep">
  <int value="0" label="NewUserOpen"/>
  <int value="1" label="FreOptInShown"/>
  <int value="2" label="FreOptInAccepted"/>
  <int value="3" label="FirstPromptSubmitted"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:GlicOnboardingFunnelStep) -->

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

<enum name="GlicOnboardingStatus">
  <int value="0" label="NoInteraction"/>
  <int value="1" label="OptedInButNotInvoked"/>
  <int value="2" label="NotOptedInButInvoked"/>
  <int value="3" label="OptedInAndInvoked"/>
  <int value="4" label="PromptWithNoOptIn"/>
  <int value="5" label="PromptAndOptIn"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/glic_onboarding_tracker.h:OnboardingStatus) -->

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

<enum name="GlicOptInFlowSource">
  <int value="0" label="Glic Flow (Side Panel / Floaty)"/>
  <int value="1" label="Experimental Triggering Opt-In Modal"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:OptInFlow) -->

<enum name="GlicPasteFailedEligibilityReason">
  <int value="0" label="PageContextIneligible"/>
  <int value="1" label="PageContextInvalidated"/>
  <int value="2" label="CrossProfile"/>
</enum>

<enum name="GlicPasteFormat">
  <int value="0" label="PlainText"/>
  <int value="1" label="Html"/>
  <int value="2" label="Bitmap"/>
  <int value="3" label="Filenames"/>
  <int value="4" label="Other"/>
</enum>

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

<enum name="GlicPinTrigger">
  <int value="0" label="Unknown"/>
  <int value="1" label="Instance Creation"/>
  <int value="2" label="Daisy Chain"/>
  <int value="3" label="New Tab Daisy Chain"/>
  <int value="4" label="Conversation Change"/>
  <int value="5" label="Restore"/>
  <int value="6" label="Context Menu"/>
  <int value="7" label="Candidates Toggle"/>
  <int value="8" label="At Mention"/>
  <int value="9" label="Actuation"/>
  <int value="10" label="Web Client Unknown"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/context/glic_sharing_manager.h:GlicPinTrigger) -->

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

<enum name="GlicPrewarmingChecksResult">
  <int value="0" label="Success"/>
  <int value="1" label="Warming Disabled"/>
  <int value="2" label="Profile Gone"/>
  <int value="3" label="Profile Not Ready (Unknown)"/>
  <int value="4" label="Profile Requires Sign In"/>
  <int value="5" label="Profile Not Eligible"/>
  <int value="6" label="Profile Not Rolled Out"/>
  <int value="7" label="Profile Disallowed By Admin"/>
  <int value="8" label="Profile Not Enabled (Other)"/>
  <int value="9" label="Profile Is Last Loaded"/>
  <int value="10" label="Profile Is Last Active"/>
  <int value="11" label="Blocked By Shown Glic"/>
  <int value="12" label="Under Memory Pressure"/>
  <int value="13" label="Cellular Connection"/>
  <int value="14" label="Browser app is shutting down"/>
  <int value="15" label="User already went through the FRE"/>
  <int value="16" label="Invalid - Disabled for testing."/>
  <int value="17" label="Not Pinned To Tabstrip"/>
  <int value="18" label="Profile Not Eligible (Location Mismatch)"/>
  <int value="19" label="Profile Not Eligible (Account Capabilities)"/>
  <int value="20" label="Device low memory"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_warming_checks.h:GlicPrewarmingChecksResult) -->

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

<enum name="GlicPrewarmingFreSource">
  <int value="0" label="What's New"/>
  <int value="1" label="Nudge"/>
  <int value="2" label="IPH"/>
  <int value="3" label="Test"/>
  <int value="4" label="Browser Command"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/glic_keyed_service.h:GlicPrewarmingFreSource) -->

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

<enum name="GlicPrivateApiStatusCodeHistogramValue">
  <int value="0" label="Success"/>
  <int value="1" label="LocalInvalidInvocationSource"/>
  <int value="2" label="LocalMissingPromptId"/>
  <int value="3" label="ServerMissingPrompt"/>
  <int value="4" label="HttpError"/>
  <int value="5" label="ParseError"/>
  <int value="6" label="LocalNoActiveTab"/>
  <int value="7" label="LocalGlicNotEnabled"/>
  <int value="8" label="LocalGlicNotReady"/>
  <int value="9" label="LocalGlicActuationNotAllowed"/>
  <int value="10" label="LocalGlicNotEnabledAndConsented"/>
  <int value="11" label="LocalAccountMismatch"/>
  <int value="12" label="LocalInvalidDocumentId"/>
  <int value="13" label="LocalConversationNotFound"/>
  <int value="14" label="LocalNoBoundTabs"/>
  <int value="15" label="LocalTabNotInWindow"/>
  <int value="16" label="LocalGlicAccessFromPageDisabled"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/extensions/api/glic_private/glic_private_api.cc:GlicPrivateApiStatusCodeHistogramValue) -->

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

<enum name="GlicProcessCounterAbuseVerdictResult">
  <int value="0" label="Success: Interstitial displayed"/>
  <int value="1" label="Failed: Invalid verdict payload"/>
  <int value="2" label="Ignored: No interstitial requested"/>
  <int value="3" label="Failed: URL mismatch"/>
  <int value="4" label="Failed: Unsupported threat type"/>
  <int value="5" label="Skipped: URL is already allowlisted"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_enums.h:GlicProcessCounterAbuseVerdictResult) -->

<enum name="GlicProfileEnablementReason">
  <int value="0" label="Feature disabled"/>
  <int value="1" label="Not regular profile"/>
  <int value="2" label="Not rolled out"/>
  <int value="3" label="Primary account not capable"/>
  <int value="4" label="Disallowed by chrome policy"/>
  <int value="5" label="Disallowed by remote admin"/>
  <int value="6" label="Disallowed by remote other"/>
</enum>

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

<enum name="GlicProfileReadyState">
  <int value="0" label="Unknown Error"/>
  <int value="1" label="Sign-In Required"/>
  <int value="2" label="Ready"/>
  <int value="3" label="Ineligible"/>
  <int value="4" label="Disabled by Admin"/>
  <int value="5" label="Location Mismatch"/>
  <int value="6" label="Ineligible Account"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:ProfileReadyState) -->

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

<enum name="GlicProfilesAllSomeNone">
  <int value="0" label="All"/>
  <int value="1" label="Some"/>
  <int value="2" label="None"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics_provider.h:GlicProfilesAllSomeNone) -->

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

<enum name="GlicPromptType">
  <int value="0" label="Unspecified"/>
  <int value="1" label="Typed Text"/>
  <int value="2" label="Zero State Suggestions"/>
  <int value="3" label="Auto Prompt"/>
  <int value="4" label="Audio"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:PromptType) -->

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

<enum name="GlicReloadAfterExpiryStatus">
  <int value="0" label="Reloaded"/>
  <int value="1" label="Not reloaded: Feature disabled"/>
  <int value="2" label="Not reloaded: Limit reached"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic_web_contents_warming_pool.h:ReloadAfterExpiryStatus) -->

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

<enum name="GlicRequestEvent">
  <int value="0" label="Received">The request was received.</int>
  <int value="1" label="Responded">A response for the request was sent.</int>
  <int value="2" label="Exception caught">
    An exception was caught while handling the request.
  </int>
  <int value="3" label="(Obsolete) Hidden; replaced by Inactive">
    (Obsolete) Request received while hidden (whether or not this is expected).
    Replaced by Inactive in 2026/04
  </int>
  <int value="4" label="Inactive">
    Request received while the panel was inactive (whether or not this is
    expected).
  </int>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/glic_api_impl/host/glic_api_host.ts:GlicRequestEvent, //chrome/browser/glic/glic_metrics.h:GlicRequestEvent) -->

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

<enum name="GlicRequiredExperimentalOptIn">
  <int value="0" label="Glic FRE"/>
  <int value="1" label="Actuation"/>
  <int value="2" label="Experimental Triggering"/>
  <int value="3" label="Not Needed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/glic_enabling.h:RequiredExperimentalOptIn) -->

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

<enum name="GlicResponseSegmentation">
  <int value="0" label="Unknown"/>
  <int value="1" label="Button in the OS, attached, text mode."/>
  <int value="2" label="Button in the OS, attached, audio mode."/>
  <int value="3" label="Button in the OS, detached, text mode."/>
  <int value="4" label="Button in the OS, detached, audio mode."/>
  <int value="5" label="Menu from button in the OS, attached, text mode."/>
  <int value="6" label="Menu from button in the OS, attached, audio mode."/>
  <int value="7" label="Menu from button in the OS, detached, text mode."/>
  <int value="8" label="Menu from button in the OS, detached, audio mode."/>
  <int value="9" label="OS hotkey, attached, text mode."/>
  <int value="10" label="OS hotkey, attached, audio mode."/>
  <int value="11" label="OS hotkey, detached, text mode."/>
  <int value="12" label="OS hotkey, detached, audio mode."/>
  <int value="13" label="Button in top-chrome, attached, text mode."/>
  <int value="14" label="Button in top-chrome, attached, audio mode."/>
  <int value="15" label="Button in top-chrome, detached, text mode."/>
  <int value="16" label="Button in top-chrome, detached, audio mode."/>
  <int value="17" label="First run experience, attached, text mode."/>
  <int value="18" label="First run experience, attached, audio mode."/>
  <int value="19" label="First run experience, detached, text mode."/>
  <int value="20" label="First run experience, detached, audio mode."/>
  <int value="21" label="Profile picker, attached, text mode."/>
  <int value="22" label="Profile picker, attached, audio mode."/>
  <int value="23" label="Profile picker, detached, text mode."/>
  <int value="24" label="Profile picker, detached, audio mode."/>
  <int value="25" label="Nudge, attached, text mode."/>
  <int value="26" label="Nudge, attached, audio mode."/>
  <int value="27" label="Nudge, detached, text mode."/>
  <int value="28" label="Nudge, detached, audio mode."/>
  <int value="29" label="3-dot menu, attached, text mode."/>
  <int value="30" label="3-dot menu, attached, audio mode."/>
  <int value="31" label="3-dot menu, detached, text mode."/>
  <int value="32" label="3-dot menu, detached, audio mode."/>
  <int value="33" label="Unsupported/unknown, attached, text mode."/>
  <int value="34" label="Unsupported/unknown, attached, audio mode."/>
  <int value="35" label="Unsupported/unknown, detached, text mode."/>
  <int value="36" label="Unsupported/unknown, detached, audio mode."/>
  <int value="37" label="What's New page, attached, text mode."/>
  <int value="38" label="What's New page, attached, audio mode."/>
  <int value="39" label="What's New page, detached, text mode."/>
  <int value="40" label="What's New page, detached, audio mode."/>
  <int value="41"
      label="User clicked sign-in and signed in, attached, text mode."/>
  <int value="42"
      label="User clicked sign-in and signed in, attached, audio mode."/>
  <int value="43"
      label="User clicked sign-in and signed in, detached, text mode."/>
  <int value="44"
      label="User clicked sign-in and signed in, detached, audio mode."/>
  <int value="45" label="User shared a tab, attached, text mode."/>
  <int value="46" label="User shared a tab, attached, audio mode."/>
  <int value="47" label="User shared a tab, detached, text mode."/>
  <int value="48" label="User shared a tab, detached, audio mode."/>
  <int value="49" label="Actor task icon, attached, text mode."/>
  <int value="50" label="Actor task icon, attached, audio mode."/>
  <int value="51" label="Actor task icon, detached, text mode."/>
  <int value="52" label="Actor task icon, detached, audio mode."/>
  <int value="53" label="User shared an image, attached, text mode."/>
  <int value="54" label="User shared an image, attached, audio mode."/>
  <int value="55" label="User shared an image, detached, text mode."/>
  <int value="56" label="User shared an image, detached, audio mode."/>
  <int value="57" label="Handoff button, attached, text mode."/>
  <int value="58" label="Handoff button, attached, audio mode."/>
  <int value="59" label="Handoff button, detached, text mode."/>
  <int value="60" label="Handoff button, detached, audio mode."/>
  <int value="61" label="skills, attached, text mode."/>
  <int value="62" label="skills, attached, audio mode."/>
  <int value="63" label="skills, detached, text mode."/>
  <int value="64" label="skills, detached, audio mode."/>
  <int value="65" label="Auto-opened by contextual cue, attached, text mode."/>
  <int value="66" label="Auto-opened by contextual cue, attached, audio mode."/>
  <int value="67" label="Auto-opened by contextual cue, detached, text mode."/>
  <int value="68" label="Auto-opened by contextual cue, detached, audio mode."/>
  <int value="69" label="PDF summarize button, attached, text mode."/>
  <int value="70" label="PDF summarize button, attached, audio mode."/>
  <int value="71" label="PDF summarize button, detached, text mode."/>
  <int value="72" label="PDF summarize button, detached, audio mode."/>
  <int value="73" label="navigation capture, attached, text mode."/>
  <int value="74" label="navigation capture, attached, audio mode."/>
  <int value="75" label="navigation capture, detached, text mode."/>
  <int value="76" label="navigation capture, detached, audio mode."/>
  <int value="77" label="Auto-opened for PDF, attached, text mode."/>
  <int value="78" label="Auto-opened for PDF, attached, audio mode."/>
  <int value="79" label="Auto-opened for PDF, detached, text mode."/>
  <int value="80" label="Auto-opened for PDF, detached, audio mode."/>
  <int value="81" label="Capture Region hotkey, attached, text mode."/>
  <int value="82" label="Capture Region hotkey, attached, audio mode."/>
  <int value="83" label="Capture Region hotkey, detached, text mode."/>
  <int value="84" label="Capture Region hotkey, detached, audio mode."/>
  <int value="85" label="IPH, attached, text mode."/>
  <int value="86" label="IPH, attached, audio mode."/>
  <int value="87" label="IPH, detached, text mode."/>
  <int value="88" label="IPH, detached, audio mode."/>
  <int value="89" label="Anchored contextual cue, attached, text mode."/>
  <int value="90" label="Anchored contextual cue, attached, audio mode."/>
  <int value="91" label="Anchored contextual cue, detached, text mode."/>
  <int value="92" label="Anchored contextual cue, detached, audio mode."/>
  <int value="93" label="Context menu, attached, text mode."/>
  <int value="94" label="Context menu, attached, audio mode."/>
  <int value="95" label="Context menu, detached, text mode."/>
  <int value="96" label="Context menu, detached, audio mode."/>
  <int value="97" label="Text selection nudge, attached, text mode."/>
  <int value="98" label="Text selection nudge, attached, audio mode."/>
  <int value="99" label="Text selection nudge, detached, text mode."/>
  <int value="100" label="Text selection nudge, detached, audio mode."/>
  <int value="101" label="Text selection widget, attached, text mode."/>
  <int value="102" label="Text selection widget, attached, audio mode."/>
  <int value="103" label="Text selection widget, detached, text mode."/>
  <int value="104" label="Text selection widget, detached, audio mode."/>
  <int value="105"
      label="(Obsolete) Zero-state Auto-summarize, attached, text mode."/>
  <int value="106"
      label="(Obsolete) Zero-state Auto-summarize, attached, audio mode."/>
  <int value="107"
      label="(Obsolete) Zero-state Auto-summarize, detached, text mode."/>
  <int value="108"
      label="(Obsolete) Zero-state Auto-summarize, detached, audio mode."/>
  <int value="109" label="Universal cart, attached, text mode."/>
  <int value="110" label="Universal cart, attached, audio mode."/>
  <int value="111" label="Universal cart, detached, text mode."/>
  <int value="112" label="Universal cart, detached, audio mode."/>
  <int value="113" label="Experimental triggering, attached, text mode."/>
  <int value="114" label="Experimental triggering, attached, audio mode."/>
  <int value="115" label="Experimental triggering, detached, text mode."/>
  <int value="116" label="Experimental triggering, detached, audio mode."/>
  <int value="117" label="Password Change, attached, text mode."/>
  <int value="118" label="Password Change, attached, audio mode."/>
  <int value="119" label="Password Change, detached, text mode."/>
  <int value="120" label="Password Change, detached, audio mode."/>
  <int value="121" label="Autofill, attached, text mode."/>
  <int value="122" label="Autofill, attached, audio mode."/>
  <int value="123" label="Autofill, detached, text mode."/>
  <int value="124" label="Autofill, detached, audio mode."/>
  <int value="125" label="Toolbar button, attached, text mode."/>
  <int value="126" label="Toolbar button, attached, audio mode."/>
  <int value="127" label="Toolbar button, detached, text mode."/>
  <int value="128" label="Toolbar button, detached, audio mode."/>
  <int value="129" label="Indigo page action, attached, text mode."/>
  <int value="130" label="Indigo page action, attached, audio mode."/>
  <int value="131" label="Indigo page action, detached, text mode."/>
  <int value="132" label="Indigo page action, detached, audio mode."/>
  <int value="133" label="Web Drag and Drop, attached, text mode."/>
  <int value="134" label="Web Drag and Drop, attached, audio mode."/>
  <int value="135" label="Web Drag and Drop, detached, text mode."/>
  <int value="136" label="Web Drag and Drop, detached, audio mode."/>
  <int value="137" label="From the promotion page, attached, text mode."/>
  <int value="138" label="From the promotion page, attached, audio mode."/>
  <int value="139" label="From the promotion page, detached, text mode."/>
  <int value="140" label="From the promotion page, detached, audio mode."/>
  <int value="141" label="Daisy chain on new tab, attached, text mode."/>
  <int value="142" label="Daisy chain on new tab, attached, audio mode."/>
  <int value="143" label="Daisy chain on new tab, detached, text mode."/>
  <int value="144" label="Daisy chain on new tab, detached, audio mode."/>
  <int value="145" label="Daisy chain on follow link, attached, text mode."/>
  <int value="146" label="Daisy chain on follow link, attached, audio mode."/>
  <int value="147" label="Daisy chain on follow link, detached, text mode."/>
  <int value="148" label="Daisy chain on follow link, detached, audio mode."/>
  <int value="149" label="Conversation switch, attached, text mode."/>
  <int value="150" label="Conversation switch, attached, audio mode."/>
  <int value="151" label="Conversation switch, detached, text mode."/>
  <int value="152" label="Conversation switch, detached, audio mode."/>
  <int value="153" label="Detach/Attach button, attached, text mode."/>
  <int value="154" label="Detach/Attach button, attached, audio mode."/>
  <int value="155" label="Detach/Attach button, detached, text mode."/>
  <int value="156" label="Detach/Attach button, detached, audio mode."/>
  <int value="157" label="Tab restore, attached, text mode."/>
  <int value="158" label="Tab restore, attached, audio mode."/>
  <int value="159" label="Tab restore, detached, text mode."/>
  <int value="160" label="Tab restore, detached, audio mode."/>
  <int value="161" label="Reshow inactive, attached, text mode."/>
  <int value="162" label="Reshow inactive, attached, audio mode."/>
  <int value="163" label="Reshow inactive, detached, text mode."/>
  <int value="164" label="Reshow inactive, detached, audio mode."/>
  <int value="165" label="Tab context menu, attached, text mode."/>
  <int value="166" label="Tab context menu, attached, audio mode."/>
  <int value="167" label="Tab context menu, detached, text mode."/>
  <int value="168" label="Tab context menu, detached, audio mode."/>
  <int value="169" label="Web Continuity, attached, text mode."/>
  <int value="170" label="Web Continuity, attached, audio mode."/>
  <int value="171" label="Web Continuity, detached, text mode."/>
  <int value="172" label="Web Continuity, detached, audio mode."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:ResponseSegmentation) -->

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

<enum name="GlicSbThreatType">
  <int value="0" label="Unspecified"/>
  <int value="1" label="Social Engineering"/>
  <int value="2" label="Malware"/>
  <int value="3" label="Unwanted Software"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:SbThreatType) -->

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

<enum name="GlicScrollToErrorReason">
  <int value="0" label="NotSupported"/>
  <int value="1" label="NewerScrollToCall"/>
  <int value="2" label="NoFocusedTab"/>
  <int value="3" label="NoMatchFound"/>
  <int value="4" label="FocusedTabChangedOrNavigated"/>
  <int value="5" label="NoMatchingDocument"/>
  <int value="6" label="SearchRangeInvalid"/>
  <int value="7" label="TabContextPermissionDisabled"/>
  <int value="8" label="DroppedByWebClient"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:ScrollToErrorReason) -->

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

<enum name="GlicSelectionAction">
  <int value="0" label="Nudge Shown"/>
  <int value="1" label="Widget Shown"/>
  <int value="2" label="Nudge Clicked"/>
  <int value="3" label="Widget Clicked"/>
  <int value="4" label="Widget Dismissed By Button"/>
  <int value="5" label="Widget Dismissed By Click Outside"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_selection_observer.cc:GlicSelectionAction) -->

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

<enum name="GlicSwitchConversationTarget">
  <int value="0" label="Unknown Conversation Target"/>
  <int value="1" label="Switched to the Previously Active Conversation"/>
  <int value="2" label="Switched to Conversation with an Existing Instance"/>
  <int value="3" label="Switched to Conversation and Created New Instance"/>
  <int value="4" label="Start New Conversation"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/glic_instance_coordinator_metrics.h:GlicSwitchConversationTarget) -->

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

<enum name="GlicTabPinnedForSharingResult">
  <int value="0" label="PinTabForSharingFailedTooManyTabs"/>
  <int value="1" label="PinTabForSharingFailedNotValidForSharing"/>
  <int value="2" label="PinTabForSharingSucceeded"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:GlicTabPinnedForSharingResult) -->

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

<enum name="GlicTurnSource">
  <int value="0" label="Unknown"/>
  <int value="1" label="Side Panel Text"/>
  <int value="2" label="Side Panel Audio"/>
  <int value="3" label="Floaty Text"/>
  <int value="4" label="Floaty Audio"/>
  <int value="5" label="Tab Text"/>
  <int value="6" label="Tab Audio"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/glic_instance_metrics.cc:GlicTurnSource) -->

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

<enum name="GlicUnpinTrigger">
  <int value="0" label="Unknown"/>
  <int value="1" label="Instance Destruction"/>
  <int value="2" label="Conversation Change Before Context Shared"/>
  <int value="3" label="Context Menu"/>
  <int value="4" label="Tab Close"/>
  <int value="5" label="Background Tab Navigation"/>
  <int value="6" label="Candidates Toggle"/>
  <int value="7" label="Chip"/>
  <int value="8" label="Actuation"/>
  <int value="9" label="Web Client Unknown"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/public/context/glic_sharing_manager.h:GlicUnpinTrigger) -->

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

<enum name="GlicWarmedContainerFate">
  <int value="0" label="Used"/>
  <int value="1" label="Expired"/>
  <int value="2" label="Deleted on Chrome Closed"/>
  <int value="3" label="Crashed"/>
  <int value="4" label="Deleted on Memory Pressure"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic_web_contents_warming_pool.cc:GlicWarmedContainerFate) -->

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

<enum name="GlicWarmingPoolStatus">
  <int value="0" label="Hit: Container was pre-warmed."/>
  <int value="1" label="Cold: Container was not pre-warmed (miss)."/>
  <int value="2"
      label="Expired: Container was pre-warmed but expired before use."/>
  <int value="3"
      label="Crashed: Container was pre-warmed but crashed before use."/>
  <int value="4"
      label="Memory Pressure: Container was not pre-warmed because the pool
             was disabled by memory pressure."/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic_web_contents_warming_pool.h:GlicWarmingPoolStatus) -->

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

<enum name="GlicWebClientMode">
  <int value="0" label="Text"/>
  <int value="1" label="Audio"/>
  <int value="2" label="Unknown"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:WebClientMode) -->

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

<enum name="GlicWebContentsContextMenuResult">
  <int value="0" label="ShownAndIgnored"/>
  <int value="1" label="Executed"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/renderer_context_menu/render_view_context_menu.cc:GlicWebContentsContextMenuResult) -->

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

<enum name="GlicWebUseCounter">
  <int value="0" label="Default"/>
  <int value="1" label="Submit Prompt with Auto Mode"/>
  <int value="2" label="Task interrupted for user confirmation"/>
  <int value="3" label="Task interrupted for user cancellation"/>
  <int value="4" label="Selection toggled via shared menu"/>
  <int value="5" label="Selection toggled via hotkey"/>
  <int value="6" label="Submit Prompt with Text Selection Cue"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:WebUseCounter) -->

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

<enum name="GlicWebviewExitReason">
  <int value="0" label="Normal"/>
  <int value="1" label="Abnormal"/>
  <int value="2" label="Crashed"/>
  <int value="3" label="Killed"/>
  <int value="4" label="OOM Killed"/>
  <int value="5" label="OOM"/>
  <int value="6" label="Failed to Launch"/>
  <int value="7" label="Integrity Failure"/>
  <int value="8" label="Unknown"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/webview.ts:WebviewExitReason) -->

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

<enum name="GlicYoutubeSummarizeVideoZSSResult">
  <int value="0" label="Button found on first check"/>
  <int value="1" label="Button found on second check"/>
  <int value="2" label="Button not found"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/context/glic_page_features_manager.h:GlicYoutubeSummarizeVideoZSSResult) -->

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

<enum name="GlicZoomAction">
  <int value="0" label="Zoom In"/>
  <int value="1" label="Zoom Out"/>
  <int value="2" label="Reset"/>
  <int value="3" label="Zoom In at Maximum"/>
  <int value="4" label="Zoom Out at Minimum"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_enums.h:GlicZoomAction) -->

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

<enum name="LoadingStage">
  <int value="0" label="Not loading"/>
  <int value="1" label="Awaiting profile ready"/>
  <int value="2" label="Awaiting cookie sync"/>
  <int value="3" label="Loading web client"/>
  <int value="4" label="Awaiting notifyPanelWillOpen()"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/glic_app_controller.ts:LoadingStage) -->

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

<enum name="PanelWebUiStateErrorReason">
  <int value="0" label="Webview Error"/>
  <int value="1" label="Load Error"/>
  <int value="2" label="Cookie Sync Error"/>
  <int value="3" label="Timeout Waiting For NotifyPanelWillOpen"/>
  <int value="4" label="Timeout Loading Client"/>
  <int value="5" label="Timeout Warmed"/>
  <int value="6" label="Client Error"/>
  <int value="7" label="Close Debug View"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/glic_app_controller.ts:PanelWebUiStateErrorReason) -->

<enum name="PdfRequestStates">
  <int value="0" label="PDF main doc; PDF found"/>
  <int value="1" label="PDF main doc; PDF not found"/>
  <int value="2" label="Non-PDF main doc; PDF found"/>
  <int value="3" label="Non-PDF main doc; PDF not found"/>
</enum>

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

<enum name="PdfTextExtractionStatus">
  <int value="0" label="Success"/>
  <int value="1" label="EmptyText"/>
  <int value="2" label="NotPdf"/>
  <int value="3" label="PdfExtractionNotAvailable"/>
  <int value="4" label="PdfDocumentNotLoaded"/>
</enum>

<!-- LINT.ThenChange(//components/page_content_annotations/content/page_context_fetcher_metrics.h:PdfTextExtractionStatus) -->

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

<enum name="ShareImageResult">
  <int value="0" label="kSentImageToClient"/>
  <int value="1" label="kFailedNoTab"/>
  <int value="2" label="kFailedNoFrame"/>
  <int value="3" label="kFailedNoBrowser"/>
  <int value="4" label="kFailedTimedOut"/>
  <int value="5" label="kFailedNoImage"/>
  <int value="6" label="kFailedReplacedByNewShare"/>
  <int value="7" label="kFailedNoTabContext"/>
  <int value="8" label="kFailedSawNavigation"/>
  <int value="9" label="kFailedDiscardedContents"/>
  <int value="10" label="kFailedDetachedTab"/>
  <int value="11" label="kFailedClipboardCopyPolicy"/>
  <int value="12" label="kFailedClipboardPastePolicy"/>
  <int value="13" label="kFailedNoInstance"/>
  <int value="14" label="kFailedClientUnreadied"/>
  <int value="15" label="kFailedTimedOutNoInstance"/>
  <int value="16" label="kFailedTimedOutNoWebClient"/>
  <int value="17" label="kFailedTimedOutDidNotCompleteOnboarding"/>
  <int value="18" label="kFailedLostInstance"/>
  <int value="19" label="kFailedSawNavigationDidNotCompleteOnboarding"/>
  <int value="20" label="kFailedUnknown"/>
  <int value="21" label="kFailedInvalidConversationId"/>
  <int value="22" label="kFailedInvokeInProgress"/>
  <int value="23" label="kFailedInvalidConfiguration"/>
  <int value="24" label="kFailedNoClientFrame"/>
  <int value="25" label="kFailedNoClipboardMetadata"/>
  <int value="26" label="kFailedCancelled"/>
  <int value="27" label="kFailedProfileNotEnabled"/>
  <int value="28" label="kFailedSuperseded"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/glic_metrics.h:ShareImageResult) -->

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

<enum name="SkillBuilderEvent">
  <int value="0" label="Clicked 'Create a skill' promo chip"/>
  <int value="1" label="Gemini generated a prompt for the Skill"/>
  <int value="2" label="Clicked 'Save as a skill' chip"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:SkillBuilderEvent) -->

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

<enum name="SkillsInvokeFunnel">
  <int value="0" label="Opened Menu"/>
  <int value="1" label="Invoked Skill"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/service/metrics/metrics_types.h:SkillsInvokeFunnel) -->

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

<enum name="SkillsWebClientEvent">
  <int value="0" label="Unknown"/>
  <int value="1" label="Used First-Party Skill"/>
  <int value="2" label="Used User-Created Skill"/>
  <int value="3" label="Used Derived First-Party Skill"/>
  <int value="4" label="Opened Menu"/>
  <int value="5" label="Clicked Manage Skills from Slash Menu"/>
  <int value="6" label="Clicked Add Skill from Slash Menu"/>
  <int value="7" label="Clicked Edit on a Skill from Slash Menu"/>
  <int value="8" label="Clicked + on 1p Skill from Slash Menu"/>
  <int value="9" label="Clicked Save as Skill Hover Chip"/>
  <int value="10" label="Clicked Edit Skill Hover Chip"/>
  <int value="11" label="Clicked Browse Skills from Plus Menu"/>
  <int value="12" label="Clicked Skill from Plus Menu"/>
  <int value="13" label="Clicked Manage Skills from Plus Menu"/>
  <int value="14" label="Clicked More from Slash Menu"/>
  <int value="15" label="(Obsolete) Clicked Manage Skills from Menu"/>
  <int value="16" label="Clicked Skill from Slash Menu"/>
  <int value="17" label="Clicked Browse Skills from Slash Menu"/>
  <int value="20" label="Skill Builder: Clicked Promo Chip"/>
  <int value="21" label="Skill Builder: Prompt Generated"/>
  <int value="22" label="Skill Builder: Clicked Save as Skill"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:SkillsWebClientEvent) -->

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

<enum name="WebClientUnresponsiveState">
  <int value="0" label="Entered; webview event">
    Entered unresponsive state, detected by a webview unresponsive event&quot;
  </int>
  <int value="1" label="Entered; heartbeat">
    Entered unresponsive state, detected by Glic's custom heartbeat check&quot;
  </int>
  <int value="2" label="Already unresponsive; webview event">
    Already on unresponsive state, detected again by a webview unresponsive
    event&quot;
  </int>
  <int value="3" label="Already unresponsive; heartbeat">
    Already on unresponsive state, detected again by Glic's custom heartbeat
    check&quot;
  </int>
  <int value="4" label="Exited">Exited unresponsive state&quot;</int>
</enum>

<!-- LINT.ThenChange(//chrome/browser/resources/glic/glic_app_controller.ts:WebClientUnresponsiveState) -->

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

<enum name="WebUiState">
  <int value="0" label="Glic app controller not started"/>
  <int value="1" label="Begin loading web client; no visible UI"/>
  <int value="2" label="Display loading panel"/>
  <int value="3"
      label="Web client is ready, but wait for minimum loading timer"/>
  <int value="4" label="Loading panel waiting for web client or timeout"/>
  <int value="5" label="'Something went wrong' error panel is displayed"/>
  <int value="6" label="Connection offline panel is displayed"/>
  <int value="7" label="Glic is not available for profile"/>
  <int value="8" label="Web view is displaying the application"/>
  <int value="9" label="The panel is unresponsive"/>
  <int value="10" label="The sign-in panel is displayed"/>
  <int value="11"
      label="Web view is displayed, but it is displaying an error page"/>
  <int value="12" label="Glic is disabled by the administrator"/>
  <int value="13" label="Web contents is warmed"/>
  <int value="14" label="Glic is unavailable due to country location mismatch"/>
  <int value="15" label="Glic is unavailable due to account capabilities"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/glic.mojom:WebUiState) -->

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

<enum name="WebViewAutoPlayProgress">
  <int value="0" label="WebContentsObserver registered"/>
  <int value="1" label="AutoPlay granted for primary RFH"/>
  <int value="2" label="AutoPlay granted for other RFH"/>
</enum>

<!-- LINT.ThenChange(//chrome/browser/glic/host/guest_util.cc:WebViewAutoPlayProgress) -->

</enums>

</histogram-configuration>
