<!--
Copyright 2020 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 is used to generate a comprehensive list of Windows histograms
along with a detailed description for each histogram.

For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

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>

<histograms>

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

<variants name="PinAppToTaskbarChannel">
  <variant name="" summary=""/>
  <variant name=".DefaultBrowserBubbleDialog"
      summary=", from the default browser bubble dialog"/>
  <variant name=".DefaultBrowserInfoBar"
      summary=", from the default browser infobar"/>
  <variant name=".DefaultBrowserModalDialogWithoutSettingsImage"
      summary=", from the default browser modal dialog, without the settings
               image showing"/>
  <variant name=".DefaultBrowserModalDialogWithSettingsImage"
      summary=", from the default browser modal dialog, with the settings
               image showing"/>
  <variant name=".DefaultBrowserVisualGuidedSetter"
      summary=", from the visual guided setter"/>
  <variant name=".FirstRunExperience"
      summary=", from the first run experience"/>
  <variant name=".PinToTaskbarInfoBar"
      summary=", from the pin to taskbar infobar"/>
  <variant name=".PinWebApp" summary=", from an installed web app"/>
  <variant name=".SettingsPage" summary=", from the settings page"/>
</variants>

<!-- LINT.ThenChange(//chrome/browser/win/taskbar_manager.h:PinAppToTaskbarChannel) -->

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

<variants name="PlatformExperienceDelegatedTaskName">
  <variant name="RegisterSearchPromotion"
      summary="Register search promotion task"/>
</variants>

<!-- LINT.ThenChange(//chrome/browser/platform_experience/delegated_tasks/delegated_task.h:DelegatedTaskType) -->

<histogram name="Windows.AcLayersLoaded" enum="BooleanLoaded"
    expires_after="2026-05-04">
  <owner>ajgo@chromium.org</owner>
  <owner>wfh@chromium.org</owner>
  <summary>
    Records if AcLayers.dll is loaded in the browser process, indicating that
    Chrome has been shimmed by Window's AppCompat mechanism. Reported once per
    browser session, on startup.
  </summary>
</histogram>

<histogram name="Windows.AutoDeElevateResult" enum="Hresult"
    expires_after="2027-01-03">
  <owner>wfh@chromium.org</owner>
  <owner>ssmole@microsoft.com</owner>
  <summary>
    Records the HRESULT from the attempt to automatically de-elevate the browser
    process, which only happens on startup, if it's launched with an elevated
    linked process token.
  </summary>
</histogram>

<histogram name="Windows.CetAvailable" enum="BooleanAvailable"
    expires_after="2027-01-17">
  <owner>ajgo@chromium.org</owner>
  <owner>wfh@chromium.org</owner>
  <summary>
    Records if CET (Control-flow Enforcement Technology / Hardware Enforced
    Shadow Stack) is available, based on IsUserCetAvailableInEnvironment().
    Reported once per browser session, on startup.
  </summary>
</histogram>

<histogram name="Windows.CetEnabled" enum="BooleanEnabled"
    expires_after="2027-01-17">
  <owner>ajgo@chromium.org</owner>
  <owner>wfh@chromium.org</owner>
  <summary>
    Records if CET (Control-flow Enforcement Technology / Hardware Enforced
    Shadow Stack) is enabled or if it has been disabled by IFEO. Reported only
    if CetAvailable is true, once per browser session, on startup. Note: This
    was recorded incorrectly in M91.
  </summary>
</histogram>

<histogram name="Windows.DisplayIdFromDeviceId" enum="DisplayIdResult"
    expires_after="2025-05-31">
  <owner>msw@google.com</owner>
  <owner>btriebw@google.com</owner>
  <summary>
    Records the result of deriving a display ID from DISPLAY_DEVICE::DeviceId.
    Recorded once for each monitor detected by the OS during startup of chrome
    and after any monitor topology changes (addition/removal) thereafter.
  </summary>
</histogram>

<histogram name="Windows.DisplayIdFromDeviceKey" enum="DisplayIdResult"
    expires_after="2025-05-31">
  <owner>msw@google.com</owner>
  <owner>btriebw@google.com</owner>
  <summary>
    Records the result of deriving a display ID from DISPLAY_DEVICE::DeviceKey.
    Recorded once for each monitor detected by the OS during startup of chrome
    and after any monitor topology changes (addition/removal) thereafter.
  </summary>
</histogram>

<histogram name="Windows.DragDrop.FileContents.HGlobalConversionUsed"
    enum="Boolean" expires_after="2027-04-17">
  <owner>koretadaniel@chromium.org</owner>
  <owner>joonehur@microsoft.com</owner>
  <summary>
    Recorded on Windows when a drag-and-drop operation requests
    CFSTR_FILECONTENTS with TYMED_HGLOBAL only, triggering an on-the-fly
    conversion from TYMED_ISTREAM to TYMED_HGLOBAL in Chromium's data object.
    True when the conversion is performed. Used to detect legacy applications
    that do not support TYMED_ISTREAM for CFSTR_FILECONTENTS.
  </summary>
</histogram>

<histogram name="Windows.Enclave.{Type}.Available" enum="BooleanAvailable"
    expires_after="2027-02-07">
  <owner>ajgo@chromium.org</owner>
  <owner>wfh@chromium.org</owner>
  <summary>
    Whether or not support for {Type} is/are available for use on the system, by
    calling IsEnclaveTypeSupported. Reported once per browser session, on
    startup.
  </summary>
  <token key="Type">
    <variant name="SGX"
        summary="an enclave for the Intel Software Guard Extensions (SGX)
                 architecture extension"/>
    <variant name="SGX2"
        summary="SGX2 and SGX1 enclaves (the platform and OS support SGX2
                 instructions with EDMM on this platform - in addition to
                 other SGX2 constructs)"/>
    <variant name="VBS"
        summary="a virtualization-based security (VBS) enclave"/>
    <variant name="VBSBasic"
        summary="a virtualization-based security (VBS) basic enclave"/>
  </token>
</histogram>

<histogram
    name="Windows.Experimental.Pdh.ProcessV2.{Counter}.{ProcessType}{StartupState}"
    units="counter value" expires_after="2027-01-03">
  <owner>spvm@chromium.org</owner>
  <owner>catan-team@chromium.org</owner>
  <summary>
    Records the {StartupState} of the &quot;\\Process
    V2(chrome:PID)\\{Counter}&quot; PDH counter in the {ProcessType} process.
    For more information on this PDH counter, see PerfMon.exe's documentation.

    Recorded once every five seconds for the browser, GPU, and network
    processes, and once every five seconds for every 1/20th process on
    Canary/Dev/Beta, and once every five seconds for every 1/100th process on
    Stable.

    Only supported on Windows 11. Not recorded on Windows Server 2022 or other
    earlier platforms.
  </summary>
  <token key="Counter">
    <variant name="HandleCount" summary="Handle Count"/>
    <variant name="IODataBytesPerSec" summary="IO Data Bytes/sec"/>
    <variant name="IODataOperationsPerSec" summary="IO Data Operations/sec"/>
    <variant name="IOOtherBytesPerSec" summary="IO Other Bytes/sec"/>
    <variant name="IOReadBytesPerSec" summary="IO Read Bytes/sec"/>
    <variant name="IOReadOperationsPerSec" summary="IO Read Operations/sec"/>
    <variant name="IOWriteBytesPerSec" summary="IO Write Bytes/sec"/>
    <variant name="IOWriteOperationsPerSec" summary="IO Write Operations/sec"/>
    <variant name="PageFaultsPerSec" summary="Page Faults/sec"/>
    <variant name="PageFileBytes" summary="Page File Bytes"/>
    <variant name="PageFileBytesPeak" summary="Page File Bytes Peak"/>
    <variant name="PrivateBytes" summary="Private Bytes"/>
    <variant name="PrivilegedTime" summary="% Privileged Time"/>
    <variant name="ThreadCount" summary="Thread Count"/>
    <variant name="UserTime" summary="% User Time"/>
    <variant name="WorkingSet" summary="Working Set"/>
    <variant name="WorkingSetPeak" summary="Working Set Peak"/>
    <variant name="WorkingSetPrivate" summary="Working Set - Private"/>
  </token>
  <token key="ProcessType">
    <variant name="Browser" summary="Browser"/>
    <variant name="Extension" summary="Extension Renderer"/>
    <variant name="Gpu" summary="GPU"/>
    <variant name="NetworkService" summary="Network Service"/>
    <variant name="Other" summary="Other"/>
    <variant name="Renderer" summary="Renderer"/>
    <variant name="Utility" summary="Non-network utility"/>
  </token>
  <token key="StartupState">
    <variant name="" summary="value"/>
    <variant name=".FirstSample" summary="first recorded value by process"/>
  </token>
</histogram>

<histogram name="Windows.FeatureNotificationsSettingChange"
    enum="BooleanEnabled" expires_after="2027-07-14">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>jessemckenna@google.com</owner>
  <summary>
    Reported when the user toggles the feature notifications setting in Chrome's
    System settings. Its value represents what the setting was changed to.
  </summary>
</histogram>

<histogram name="Windows.HasHighResolutionTimeTicks" enum="Boolean"
    expires_after="2026-05-24">
  <owner>brucedawson@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    The value of TimeTicks::IsHighResolution(). Reported once per browser
    session, on startup.
  </summary>
</histogram>

<histogram name="Windows.HasThreadTicks" enum="Boolean"
    expires_after="2025-02-23">
  <owner>olivierli@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    The value of ThreadTicks::IsSupported(). Reported once per browser session,
    on startup.
  </summary>
</histogram>

<histogram name="Windows.HypervPresent" enum="BooleanEnabled"
    expires_after="2025-06-01">
  <owner>rkc@chromium.org</owner>
  <owner>vnagarnaik@google.com</owner>
  <owner>rockot@chromium.org</owner>
  <summary>
    Whether Hyper-V is enabled on this machine. Logged shortly after startup.
    This metric will only be logged on Windows 10+.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.DestinationMatches" enum="Boolean"
    expires_after="2027-01-17">
  <owner>koretadaniel@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Logged once per installer download attempt. True when the DownloaderManager
    successfully saved the file under the suggested name.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.DownloadSucceed" enum="Boolean"
    expires_after="2027-01-17">
  <owner>koretadaniel@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Outcome of the download that runs after the user accepts: true for a fully
    completed download, false for any failure or interruption. Logged once per
    download attempt.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.FailureReason"
    enum="InstallerDownloaderFailureReason" expires_after="2027-01-24">
  <owner>koretadaniel@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Records the reason why an installer download failed after it had already
    started. This is recorded when the download enters a terminal state other
    than COMPLETE.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.InfobarShown" enum="Boolean"
    expires_after="2027-01-17">
  <owner>koretadaniel@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Logged once per browser session when the Installer Downloader infobar is
    displayed for the first time. Always true, since the metric records how
    often the prompt surfaces.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.InterruptReason"
    enum="InterruptReason" expires_after="2027-02-14">
  <owner>koretadaniel@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Records the download interrupt reason when an installer download fails to
    start. This is recorded when the DownloadManager returns an interrupt reason
    other than NONE, which can happen for a wide variety of reasons including
    network errors, file errors, or server issues.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.Reengagement.InfobarShown"
    units="cycle" expires_after="2027-08-01">
  <owner>songhaoli@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Records which re-engagement campaign cycle (1, 2, or 3) was active when the
    Installer Downloader infobar was shown. Logged when the infobar is shown (at
    most once per browser session).
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.Reengagement.RequestAccepted"
    units="cycle" expires_after="2027-08-01">
  <owner>songhaoli@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Records which re-engagement campaign cycle (1, 2, or 3) was active when the
    user accepted the Installer Downloader infobar prompt. Logged at most once
    per campaign (only if accepted).
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.RequestAccepted" enum="Boolean"
    expires_after="2027-01-17">
  <owner>koretadaniel@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Records the user’s response to the infobar. Logged exactly once per prompt:
    - true: user accepted the prompt. - false: user dismissed the prompt.
  </summary>
</histogram>

<histogram name="Windows.InstallerDownloader.TotalShowCount" units="count"
    expires_after="2027-08-01">
  <owner>songhaoli@chromium.org</owner>
  <owner>top-chrome-desktop-ui@google.com</owner>
  <summary>
    Records the cumulative number of times the Installer Downloader infobar was
    shown to the user across all cycles. Logged once per user when the campaign
    ends (either because the user accepted, or because all allowed cycles were
    exhausted).
  </summary>
</histogram>

<histogram name="Windows.InstallerPinUnpinned" enum="IsPinnedToTaskbarResult"
    expires_after="2023-11-12">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>jessemckenna@chromium.org</owner>
  <summary>
    Records whether or not the user unpinned Chrome after the installer pinned
    Chrome, on Win10+. Recorded when Chrome checks if Chrome is pinned to the
    taskbar, on startup. This check is currently done on 1% of startups. Records
    true if the installer pinned Chrome, and it's no longer pinned, false if the
    installer pinned Chrome and it's still pinned. The unpin is only recorded at
    most once per user, whereas the still pinned state is recorded on every
    launch that checks if Chrome is pinned to the taskbar.
  </summary>
</histogram>

<histogram name="Windows.IsPinnedToTaskbar" enum="IsPinnedToTaskbarResult"
    expires_after="never">
<!-- expires-never: Used to assess Chrome usage on Windows -->

  <owner>markchang@google.com</owner>
  <owner>pmonette@chromium.org</owner>
  <summary>
    Indicates whether Chrome is pinned to the Windows taskbar for the current
    user. Recorded shortly after startup.
  </summary>
</histogram>

<histogram name="Windows.OneDriveSyncState.{SyncedState}" enum="BooleanEnabled"
    expires_after="2027-02-07">
  <owner>koretadaniel@chromium.org</owner>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records Windows OneDrive personal sync state. This is recorded once per
    browser session, on startup.
  </summary>
  <token key="SyncedState">
    <variant name="DesktopSynced"
        summary="Desktop file path is synced with cloud provided."/>
    <variant name="DocumentsSynced"
        summary="Documents file path is synced with cloud provided."/>
    <variant name="Synced"
        summary="File path storage is synced with cloud provided."/>
  </token>
</histogram>

<histogram name="Windows.OpenWithLauncherResult" enum="OpenWithLauncherResult"
    expires_after="2027-02-07">
  <owner>jessemckenna@google.com</owner>
  <owner>davidbienvenu@chromium.org</owner>
  <summary>
    Records the result of opening the Settings app via the IOpenWithLauncher COM
    interface.
  </summary>
</histogram>

<histogram name="Windows.ParallelDllLoadingEnabled" enum="BooleanEnabled"
    expires_after="never">
<!-- expires-never: Needed to measure third party incompatibilities on Windows which could happen at any time. -->

  <owner>forshaw@chromium.org</owner>
  <owner>wfh@chromium.org</owner>
  <summary>
    Records whether or not parallel DLL loading is enabled for the browser
    process executable. This is recorded once per browser session, on startup.
  </summary>
</histogram>

<histogram name="Windows.ParentProcessNameHash" enum="ProcessNameHash"
    expires_after="never">
<!-- expires-never: Needed to measure third party incompatibilities on Windows which could happen at any time. -->

  <owner>wfh@chromium.org</owner>
  <owner>brucedawson@chromium.org</owner>
  <summary>
    The 32-bit hash of the lower-case parent process basename (e.g.
    explorer.exe) of the main Chrome executable. Reported once during startup as
    part of install verification.
  </summary>
</histogram>

<histogram name="Windows.PatchLevel" enum="WindowsPatchLevel"
    expires_after="never">
<!-- expires-never: Needed to measure Windows ecosystem. -->

  <owner>wfh@chromium.org</owner>
  <owner>brucedawson@chromium.org</owner>
  <summary>
    A 32-bit value formed from combining the minor and patch level of the
    currently running Windows operating system as reported by GetVersionEx().
    E.g. &quot;Windows 10 OS Version 1809 (Build 17763.503)&quot; would be 17763
    (0x4563), combined with 503 (0x1F7) = 0x456301F7. If either minor or patch
    level exceeds the value that can fit in a 16-bit unsigned integer, then this
    histogram will report 0. Reported once, shortly after browser startup.
  </summary>
</histogram>

<histogram name="Windows.PatchLevelKernel32" enum="WindowsPatchLevel"
    expires_after="never">
<!-- expires-never: Needed to measure Windows ecosystem. -->

  <owner>wfh@chromium.org</owner>
  <owner>brucedawson@chromium.org</owner>
  <summary>
    A 32-bit value formed from combining the minor and patch level of the
    currently running Windows operating system as reported by VerQueryValue() of
    kernel32.dll. E.g. &quot;Windows 10 OS Version 1809 (Build 17763.503)&quot;
    would be 17763 (0x4563), combined with 503 (0x1F7) = 0x456301F7. If either
    minor or patch level exceeds the value that can fit in a 16-bit unsigned
    integer, then this histogram will report 0. Reported once, shortly after
    browser startup.
  </summary>
</histogram>

<histogram name="Windows.PdhQueryErrorCode" enum="PDH_STATUS"
    expires_after="2027-01-17">
  <owner>spvm@chromium.org</owner>
  <owner>catan-team@chromium.org</owner>
  <summary>
    Records the error status returned by various ::Pdh* functions on error.
  </summary>
</histogram>

<histogram
    name="Windows.PlatformExperienceHelper.DelegatedTasks.{TaskName}.Duration"
    units="ms" expires_after="2027-07-27">
  <owner>alsan@chromium.org</owner>
  <owner>chrome-desktop-ui-waterloo@google.com</owner>
  <summary>
    Records the execution duration of the {TaskName} delegated task run by the
    platform experience helper.
  </summary>
  <token key="TaskName" variants="PlatformExperienceDelegatedTaskName"/>
</histogram>

<histogram
    name="Windows.PlatformExperienceHelper.DelegatedTasks.{TaskName}.Status"
    enum="DelegatedTaskStatus" expires_after="2027-07-27">
  <owner>alsan@chromium.org</owner>
  <owner>chrome-desktop-ui-waterloo@google.com</owner>
  <summary>
    Records the outcome status of running the {TaskName} delegated task via the
    platform experience helper.
  </summary>
  <token key="TaskName" variants="PlatformExperienceDelegatedTaskName"/>
</histogram>

<histogram name="Windows.PlatformExperienceHelper.InstallerLaunchStatus.System"
    enum="SystemInstallerLaunchStatus" expires_after="2027-02-14">
  <owner>alsan@chromium.org</owner>
  <owner>chrome-desktop-ui-waterloo@google.com</owner>
  <summary>
    Records the outcome of attempting to launch the platform experience helper
    installer via Google Update for system installs.
  </summary>
</histogram>

<histogram name="Windows.PlatformExperienceHelper.InstallerLaunchStatus.User"
    enum="UserInstallerLaunchStatus" expires_after="2026-12-27">
  <owner>alsan@chromium.org</owner>
  <owner>chrome-desktop-ui-waterloo@google.com</owner>
  <summary>
    Records the outcome of attempting to launch the platform experience helper
    installer executable directly for user installs.
  </summary>
</histogram>

<histogram name="Windows.ProcessorFamily" enum="ProcessorFamily"
    expires_after="2027-02-07">
  <owner>rkc@chromium.org</owner>
  <owner>vnagarnaik@google.com</owner>
  <owner>rockot@chromium.org</owner>
  <summary>
    The processor family type. Logged shortly after startup. The value is
    specified in the SMBIOS specification, section 7.5.2:
    https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf
    This metric will only be logged on Windows 10+.
  </summary>
</histogram>

<histogram name="Windows.ProcessorVirtualizationFirmwareEnabled"
    enum="BooleanEnabled" expires_after="2025-06-01">
  <owner>rkc@chromium.org</owner>
  <owner>vnagarnaik@google.com</owner>
  <owner>rockot@chromium.org</owner>
  <summary>
    Whether virtualization has been enabled in the system firmware. Logged
    shortly after startup. This metric will only be logged on Windows 10+.
  </summary>
</histogram>

<histogram name="Windows.ReplaceFileResult" enum="ReplaceFileResult"
    expires_after="2027-03-02">
  <owner>grt@chromium.org</owner>
  <owner>tingshao@microsoft.com</owner>
  <summary>
    The result of a call to base::ReplaceFile. Logged every time when
    base::ReplaceFile is called.
  </summary>
</histogram>

<histogram name="Windows.RunningIsolated" enum="BooleanEnabled"
    expires_after="2027-02-28">
  <owner>wfh@chromium.org</owner>
  <owner>chrome-platform-security-core@google.com</owner>
  <summary>
    Reports true if the browser process is running isolated from other apps
    running as the current user, false otherwise. Reported in every UMA log
    upload.
  </summary>
</histogram>

<histogram name="Windows.ScreenWin.ReentrantDisplayInfoChanged" enum="Boolean"
    expires_after="2027-07-01">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>ui-dev@chromium.org</owner>
  <summary>
    Recorded when a re-entrant call to update display information occurs on
    Windows (e.g. during display change notifications). Records true if the
    re-entrant display information vector differs from the initial pass, and
    false if the display information is unchanged.
  </summary>
</histogram>

<histogram name="Windows.SetWindowsHookEx.Result" enum="WinGetLastError"
    expires_after="2027-06-01">
  <owner>jackmil@google.com</owner>
  <owner>robliao@chromium.org</owner>
  <summary>
    Records the result of calling SetWindowsHookEx inside
    SafeAcceptFileDialogEventHandler every time a hook registration is
    attempted.
  </summary>
</histogram>

<histogram name="Windows.ShouldPinToTaskbarResult{PinAppToTaskbarChannel}"
    enum="TaskbarPinResult" expires_after="2027-02-14">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>jessemckenna@google.com</owner>
  <summary>
    The result of calling ShouldOfferToPin(), logged when it is
    called{PinAppToTaskbarChannel}. It is called when deciding whether or not to
    offer to pin Chrome (or an installed web app) to the taskbar.
  </summary>
</histogram>

<histogram name="Windows.TaskbarPinFromFRESucceeded" enum="Boolean"
    expires_after="2027-02-14">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>jessemckenna@google.com</owner>
  <summary>
    The bool result passed to PinAppToTaskbar()'s PinResultCallback argument,
    called from first run experience's set default browser page. The result will
    be true if pinning succeeded, false otherwise. It is called when the user
    has agreed to set Chrome as the default browser and pin it to the taskbar.
  </summary>
</histogram>

<histogram name="Windows.TaskbarPinFromSettingsSucceeded" enum="Boolean"
    expires_after="2027-01-17">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>jessemckenna@google.com</owner>
  <summary>
    The result of calling PinAppToTaskbar() from settings, logged when it is
    called. It is called when the user has asked to set Chrome as the default
    browser and pin Chrome to the taskbar.
  </summary>
</histogram>

<histogram name="Windows.TaskbarPinResult{PinAppToTaskbarChannel}"
    enum="TaskbarPinResult" expires_after="2027-02-14">
  <owner>davidbienvenu@chromium.org</owner>
  <owner>jessemckenna@google.com</owner>
  <summary>
    The result of calling PinAppToTaskbar(), logged when it is
    called{PinAppToTaskbarChannel}. It is called when the user has agreed to pin
    Chrome (or an installed web app) to the taskbar.
  </summary>
</histogram>

<histogram name="Windows.TimeInSelectFileDialog" units="ms"
    expires_after="2026-09-06">
  <owner>fdoray@chromium.org</owner>
  <owner>pmonette@chromium.org</owner>
  <summary>
    Duration of a call to ui::ExecuteSelectFile. This includes the time to
    open/close the file select dialog and the time spent by the user in it.
    Eliminating hangs that occur when opening the file select dialog should move
    this metric. Reported every time ui::ExecuteSelectFile is called via
    UtilWinImpl::CallExecuteSelectFile.
  </summary>
</histogram>

<histogram name="Windows.Win11HardwareRequirements2.{Type}Check"
    enum="BooleanEnabled" expires_after="2027-01-03">
  <owner>estalin@chromium.org</owner>
  <owner>davidbienvenu@chromium.org</owner>
  <summary>
    Records only on Win10 if the current hardware {Type} passes requirements for
    Win11. This is recorded once per browser session, on startup.
  </summary>
  <token key="Type">
    <variant name="CPU" summary="Checks supported processor type"/>
    <variant name="Disk" summary="Checks total installed disk space"/>
    <variant name="Firmware" summary="Checks if secure boot capable"/>
    <variant name="Memory" summary="Checks total installed memory"/>
    <variant name="TPM" summary="Checks if TPM version is 2 or higher"/>
  </token>
</histogram>

<histogram name="Windows.Win11UpgradeEligible2" enum="BooleanEnabled"
    expires_after="2026-12-27">
  <owner>estalin@chromium.org</owner>
  <owner>davidbienvenu@chromium.org</owner>
  <summary>
    Records only on Win10 if the current hardware is capable of being upgraded
    to Win11. This is recorded once per browser session, on startup.
  </summary>
</histogram>

</histograms>

</histogram-configuration>
