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

<enum name="ContextAddedMethod">
  <int value="0" label="ContextMenu"/>
  <int value="1" label="CopyPaste"/>
  <int value="2" label="DragAndDrop"/>
  <int value="3" label="CurrentTabChip"/>
</enum>

<!-- LINT.ThenChange(//ui/webui/resources/cr_components/search/constants.ts:ComposeboxContextAddedMethod) -->

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

<enum name="ContextType">
  <int value="0" label="Tab"/>
  <int value="1" label="File"/>
  <int value="2" label="Image"/>
  <int value="3" label="ImageGen"/>
  <int value="4" label="DeepResearch"/>
  <int value="5" label="Canvas"/>
  <int value="6" label="AutoModel"/>
  <int value="7" label="ThinkingModel"/>
  <int value="8" label="RegularModel"/>
  <int value="9" label="ProNoGenUiModel"/>
  <int value="10" label="Unknown"/>
  <int value="11" label="Drive"/>
</enum>

<!-- LINT.ThenChange(//components/omnibox/common/omnibox_metrics_utils.h:ContextType, //ui/webui/resources/cr_components/composebox/common.ts:ContextType) -->

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

<enum name="ContextualSearchAimInputType">
  <int value="0" label="Unspecified"/>
  <int value="1" label="LensImage"/>
  <int value="2" label="LensFile"/>
  <int value="3" label="BrowserTab"/>
  <int value="4" label="Drive"/>
</enum>

<!-- LINT.ThenChange(//components/omnibox/composebox/composebox_query.mojom:InputType) -->

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

<enum name="ContextualSearchContextState">
  <int value="0" label="WithoutContext"/>
  <int value="1" label="WithTabContext"/>
  <int value="2" label="WithNonTabContext"/>
  <int value="3" label="WithContextNoText"/>
  <int value="4" label="WithDriveContext"/>
</enum>

<!-- LINT.ThenChange(//components/contextual_search/contextual_search_metrics_recorder.h:ContextualSearchContextState, //chrome/browser/resources/new_tab_page/ntp_searchbox.ts:ContextualSearchContextState) -->

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

<enum name="ContextualSearchErrorPage">
  <int value="0" label="Unknown"/>
  <int value="1" label="Page context not eligible"/>
</enum>

<!-- LINT.ThenChange(//components/contextual_search/contextual_search_types.h:ContextualSearchErrorPage) -->

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

<enum name="ContextualSearchFileValidationError">
  <int value="0" label="No error"/>
  <int value="1" label="Too many files uploaded"/>
  <int value="2" label="File is empty"/>
  <int value="3" label="File size is too large"/>
</enum>

<!-- LINT.ThenChange(//ui/webui/resources/cr_components/composebox/common.ts:FileValidationError) -->

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

<enum name="ContextualSearchInputStateDeletionType">
  <int value="0" label="File"/>
  <int value="1" label="Tab"/>
  <int value="2" label="Tool"/>
</enum>

<!-- LINT.ThenChange(//ui/webui/resources/cr_components/composebox/common.ts:ContextualSearchInputStateDeletionType) -->

<enum name="ContextualSearchMultimodalState">
  <int value="0" label="Text Only"/>
  <int value="1" label="File Only"/>
  <int value="2" label="Text and File"/>
</enum>

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

<enum name="ContextualSearchNoAcMatchState">
  <int value="0" label="Only Context"/>
  <int value="1" label="Only Text"/>
  <int value="2" label="Text and Context"/>
  <int value="3" label="No Text or Context"/>
  <int value="4" label="AcMatch"/>
</enum>

<!-- LINT.ThenChange(//components/contextual_search/contextual_search_metrics_recorder.h:ContextualSearchNoAcMatchState) -->

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

<enum name="ContextualSearchSource">
  <int value="0" label="Unknown"/>
  <int value="1" label="NewTabPage"/>
  <int value="2" label="Omnibox"/>
  <int value="3" label="ContextualTasks"/>
  <int value="4" label="Lens"/>
  <int value="5" label="OmniboxEverywhere"/>
</enum>

<!-- LINT.ThenChange(//components/contextual_search/contextual_search_metrics_recorder.h:ContextualSearchSource) -->

</enums>

</histogram-configuration>
