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

<variants name="AppVersion">
  <variant name=""
      summary="Recorded when the current app version number matches the last
               run version number."/>
  <variant name="IncludingMismatch."
      summary="The last session app version does not match the current app's
               version. This is very common on app updates, which would
               otherwise lead to losing multiple days of data. Instead,
               record them here."/>
</variants>

<variants name="MXVersion">
  <variant name=""
      summary="The default MXPayload, only recorded when the app version
               number matches."/>
  <variant name="IncludingMismatch."
      summary="The processed MXPayload may not match the current app's
               version. This is very common on app updates, which would
               otherwise lead to losing multiple days of MetricKit reports.
               Instead, record them here."/>
</variants>

<histogram name="IOS.Allocator.ShimInstalled" enum="Boolean"
    expires_after="2024-08-08">
  <owner>rohitrao@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    Whether or not the allocator shim was installed successfully. False
    indicates an unexpected error at the OS level which merits investigation.
  </summary>
</histogram>

<histogram name="IOS.Annotations.Percentage" units="%"
    expires_after="2023-07-04">
  <owner>djean@google.com</owner>
  <owner>bling-team@chromium.org</owner>
  <summary>
    The percentage of annotations the are decorated against the number of
    annotations found.
  </summary>
</histogram>

<histogram name="IOS.AppLauncher.AppURLHasChromeLaunchScheme" enum="Boolean"
    expires_after="2024-05-30">
  <owner>ajuma@chromium.org</owner>
  <owner>bling-fundamentals@google.com</owner>
  <summary>
    This histogram counts the frequency of app launch attempts where the target
    app is Chrome itself. This logged once per app launch attempt.
  </summary>
</histogram>

<histogram name="IOS.AppStoreRating.UserIsEligible" enum="Boolean"
    expires_after="2024-03-10">
  <owner>hiramahmood@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logged once per app foreground. Logs whether the user has met the trigger
    requirements for the App Store Rating promo.
  </summary>
</histogram>

<histogram name="IOS.BackgroundTimeBeforeColdStart" units="minutes"
    expires_after="2024-04-06">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This event is recorded on every cold start app open. The value represents
    how long the app was away from the foreground.
  </summary>
</histogram>

<histogram name="IOS.BackgroundTimeBeforeWarmStart" units="minutes"
    expires_after="2024-04-06">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This event is recorded on every warm start app open. The value represents
    how long the app was away from the foreground.
  </summary>
</histogram>

<histogram name="IOS.Bookmarks.BulkAddURLsCount" units="count"
    expires_after="2024-08-09">
  <owner>nicolasmacbeth@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The number of URLs a user has successfully added to Chrome via bulk adding
    (Siri shortcut). This count is taken after checking for possible duplicates.
  </summary>
</histogram>

<histogram name="IOS.BringAndroidTabs.ActionOnPrompt"
    enum="IOSBringAndroidTabsPromptActionType" expires_after="2024-02-28">
  <owner>hiramahmood@google.com</owner>
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user after the Bring Android Tabs prompt is
    presented.
  </summary>
</histogram>

<histogram name="IOS.BringAndroidTabs.ActionOnTabsList"
    enum="IOSBringAndroidTabsTabsListActionType" expires_after="2024-02-28">
  <owner>hiramahmood@google.com</owner>
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the Bring Android Tabs Tab List
    .
  </summary>
</histogram>

<histogram name="IOS.BringAndroidTabs.DeselectedTabCount" units="count"
    expires_after="2024-02-28">
  <owner>hiramahmood@google.com</owner>
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The number of tabs deselected from the Tab List View of the Bring Android
    Tabs prompt. Recorded after the Tab List View is dismissed.
  </summary>
</histogram>

<histogram name="IOS.BringAndroidTabs.PromptTabsStatus"
    enum="IOSPromptAndroidTabsStatus" expires_after="2024-02-28">
  <owner>hiramahmood@google.com</owner>
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The result of prompting the set of tabs for an Android switcher. Recorded
    after the set of tabs are prompted. Starting M116, this metric would be
    logged for Android switchers only.
  </summary>
</histogram>

<histogram name="IOS.BringAndroidTabs.TabCount" units="count"
    expires_after="2024-02-28">
  <owner>hiramahmood@google.com</owner>
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The number of tabs imported from Android for Android Switchers. Recorded
    when the Bring Android Tabs prompt is displayed.
  </summary>
</histogram>

<histogram name="IOS.CaptivePortal.SecureConnectionFailed"
    enum="CaptivePortalStatus" expires_after="2023-09-07">
  <owner>ajuma@chromium.org</owner>
  <owner>michaeldo@chromium.org</owner>
  <summary>
    The result of a captive portal check triggered by a failed secure
    connection. Logged once per failed secure connection.
  </summary>
</histogram>

<histogram name="IOS.ColdStartBackgroundTime" units="msec"
    expires_after="2023-04-27">
  <obsolete>
    This metric is obsolete as of M105, because the max bucket did reach the
    desired hour-level granularity. IOS.BackgroundTimeBeforeColdStart is the new
    metric.
  </obsolete>
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This event is recorded on every cold start app open. The value represents
    how long the app was away from the foreground.
  </summary>
</histogram>

<histogram name="IOS.CommittedNavigationHasContext" enum="Boolean"
    expires_after="2024-09-07">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    When a navigation is committed, it should have a non-null NavigationContext.
    This histogram counts the frequency of this invariant holding at the time
    when a new navigation is committed. It is used to verify the effectiveness
    of code fixes because this issue is not currently reproducible in testing
    (http://crbug.com/864769). True means a non-null NavigationContext is
    present.
  </summary>
</histogram>

<histogram name="IOS.CommittedURLMatchesCurrentItem" enum="Boolean"
    expires_after="2024-09-07">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    When a navigation is committed, the web view URL is expected to match that
    of the current back-forward item. WKWebView seems to break this assumption
    at times. This histogram counts the frequency of this invariant violation at
    the time when a new navigation is committed. True means the URL matches the
    current back-forward item.
  </summary>
</histogram>

<histogram name="IOS.ContentExtension.DisplayCount" units="count"
    expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>
    The number of times the Content Extension was displayed since last Chrome
    foregrounding. Reported when Chrome is put in foregrounded. Note: events
    where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.ContentExtension.Index" units="index"
    expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>
    The index of the URL selected by the user in the Content Extension.
  </summary>
</histogram>

<histogram name="IOS.ContentRuleListProviderUpdateSuccess"
    enum="BooleanSuccess" expires_after="2020-12-31">
  <owner>rkgibson@google.com</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    When the content rule list provider updates its lists, this can succeed or
    fail. Failure occurs when the rule lists are updated again before the first
    update finishes.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.CopyPasswordCount" units="count"
    expires_after="2024-01-07">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension user copied a Password since
    last Chrome foregrounding. Reported when Chrome is put in foreground. Note:
    events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.CopyURLCount" units="count"
    expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension user copied a URL since last
    Chrome foregrounding. Reported when Chrome is put in foreground. Note:
    events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.CopyUsernameCount" units="count"
    expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension user copied a Username since
    last Chrome foregrounding. Reported when Chrome is put in foreground. Note:
    events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.DisplayCount" units="count"
    expires_after="2024-03-10">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension was displayed since last Chrome
    foregrounding. Reported when Chrome is put in foreground. Note: events where
    the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.FetchPasswordFailure" units="count"
    expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension password util failed to look up
    for a password since last Chrome foregrounding. Reported when Chrome is put
    in foreground. Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.FetchPasswordNilArgument"
    units="count" expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension pasword util was queried with a
    nil argument since last Chrome foregrounding. Reported when Chrome is put in
    foreground. Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.IsEnabled.Startup" enum="Boolean"
    expires_after="2024-01-28">
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Logged once per app launch. Logs on startup whether the user had enabled the
    credential provider in their iOS settings.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.KeychainSavePasswordFailureCount"
    units="count" expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>rkgibson@google.com</owner>
  <summary>
    The number of times the Credential Extension failed to save a
    newly-generated password into the system Keychain since last Chrome
    foregrounding. Reported when Chrome is put in foreground.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.NewCredentialUsername"
    enum="IOSCredentialProviderNewCredentialUsername"
    expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>rkgibson@google.com</owner>
  <summary>
    Recorded when a new credential is created via the Credential Provider
    extension and tracks the username state of the new credential. Reported when
    Chrome is put in the foreground.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.PasswordCreated"
    enum="IOSCredentialProviderPasswordCreated" expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>rkgibson@google.com</owner>
  <summary>
    Recorded when a new password is created via the Credential Provider
    extension. Reported when Chrome is put in the foreground.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.PasswordUseCount" units="count"
    expires_after="2024-01-28">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension user selected for a Password
    since last Chrome foregrounding. Reported when Chrome is put in foreground.
    Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.QuickPasswordUseCount" units="count"
    expires_after="2024-03-10">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension selected a Password without
    user intervention since last Chrome foregrounding. Reported when Chrome is
    put in foreground. Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.ReauthCount" units="count"
    expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension needed user reauthentication
    since last Chrome foregrounding. Reported when Chrome is put in foreground.
    Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.SaveCredentialFailureCount"
    units="count" expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>rkgibson@google.com</owner>
  <summary>
    The number of times the Credential Extension failed to save a
    newly-generated credential to disk since last Chrome foregrounding. Reported
    when Chrome is put in foreground.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.SearchCount" units="count"
    expires_after="2023-10-15">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension user searched for a Password
    since last Chrome foregrounding. Reported when Chrome is put in foreground.
    Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram
    name="IOS.CredentialExtension.Service.Error.ReplaceCredentialIdentitiesWithIdentities"
    enum="iOSCredentialIdentityStoreErrorForReporting"
    expires_after="2024-01-28">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Recorded when a request to replace identities in ASCredentialIdentityStore
    fails.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.ShowPasswordCount" units="count"
    expires_after="2023-06-11">
  <owner>rkgibson@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The number of times the Credential Extension user unobfuscated a Password
    since last Chrome foregrounding. Reported when Chrome is put in foreground.
    Note: events where the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.StatusDidChangeTo.Startup"
    enum="Boolean" expires_after="2024-01-28">
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Logged once per app launch if the status did changed. Logs the new status
    value (enabled/disabled) of the credential provider in the user's iOS
    settings on startup.
  </summary>
</histogram>

<histogram name="IOS.CredentialProviderExtension.Promo.Impression{IsReminder}"
    enum="IOSCredentialProviderPromoSource" expires_after="2023-09-01">
  <owner>huitingyu@google.com</owner>
  <owner>hiramahmood@google.com</owner>
  <summary>
    The impression count for the credential provider extention promo
    corresponding to a source of the promo.
  </summary>
  <token key="IsReminder">
    <variant name="" summary="default impression of promo"/>
    <variant name=".IsReminder"
        summary="impression of promo shown as reminder"/>
  </token>
</histogram>

<histogram
    name="IOS.CredentialProviderExtension.Promo.{PromoSource}{IsReminder}"
    enum="IOSCredentialProviderPromoAction" expires_after="2023-09-01">
  <owner>huitingyu@google.com</owner>
  <owner>hiramahmood@google.com</owner>
  <summary>
    The action taken in the credential provider extention promo displayed for
    the user event {PromoSource}. If the promo is as a reminder, the histogram
    name is suffixed with &quot;IsReminder&quot;.
  </summary>
  <token key="PromoSource">
    <variant name="OnPasswordCopied" summary="the user copies the password"/>
    <variant name="OnPasswordSaved" summary="the user saves the password"/>
    <variant name="OnSetUpList" summary="the user selects the SetUpList item"/>
    <variant name="OnSuccessfulLoginWithAutofilledPassword"
        summary="the user logs in with autofilled password"/>
  </token>
  <token key="IsReminder">
    <variant name="" summary="default impression of promo"/>
    <variant name=".IsReminder"
        summary="impression of promo shown as reminder"/>
  </token>
</histogram>

<histogram name="IOS.DefaultBrowserFullscreenPromo"
    enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2023-12-01">
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the default browser promo.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserFullscreenTailoredPromoAllTabs"
    enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2024-02-04">
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the &quot;All tabs&quot; default
    browser tailored promo.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserFullscreenTailoredPromoMadeForIOS"
    enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2024-02-04">
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the &quot;Made for iOS&quot;
    default browser tailored promo.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserFullscreenTailoredPromoStaySafe"
    enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2024-02-04">
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the &quot;Stay Safe&quot;
    default browser tailored promo.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.DaysSinceLastPromoInteraction"
    units="count" expires_after="2024-02-04">
  <owner>gayane@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Represents number of days since last default browser promo was displayed
    within last 21 days periods. This includes full screen and non-modal promo
    and default browser promo in FRE. Recorded before every full screen promo
    displayed.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.GenericPromoDisplayCount"
    units="count" expires_after="2024-02-04">
  <owner>gayane@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Represents number of generic default browser promos displayed to the user.
    This includes all video promo options. Recorded before every full screen
    promo displayed.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.NonModal.OnScreenTime" units="ms"
    expires_after="2024-02-04">
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logs the time on screen for an impression of a non modal promo. iOS only.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.NonModal.{Impression}"
    enum="IOSDefaultBrowserPromoNonModalAction" expires_after="2024-02-20">
  <owner>sebsg@chromium.org</owner>
  <owner>nicolasmacbeth@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logged when an action happens on the {Impression} impression of a non modal
    promo. Records the action of the promo. iOS only.
  </summary>
  <token key="Impression">
    <variant name="EighthImpression" summary="eighth"/>
    <variant name="FifthImpression" summary="fifth"/>
    <variant name="FirstImpression" summary="first"/>
    <variant name="FourthImpression" summary="fourth"/>
    <variant name="NinthImpression" summary="ninth"/>
    <variant name="SecondImpression" summary="second"/>
    <variant name="SeventhImpression" summary="seventh"/>
    <variant name="SixthImpression" summary="sixth"/>
    <variant name="TenthImpression" summary="tenth"/>
    <variant name="ThirdImpression" summary="third"/>
  </token>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.NonModal.{PromoType}"
    enum="IOSDefaultBrowserPromoNonModalAction" expires_after="2024-02-20">
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logged when an action happens on a non modal promo triggered by {PromoType}.
    Records the action of the promo. iOS only.
  </summary>
  <token key="PromoType">
    <variant name="GrowthKit" summary="GrowthKit opening Chrome"/>
    <variant name="Share" summary="sharing a website"/>
    <variant name="VisitPastedLink" summary="visiting a pasted link"/>
  </token>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.SetUpList.Action"
    enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2024-02-04">
  <owner>sebsg@chromium.org</owner>
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the Set Up List default browser
    promo.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.Shown"
    enum="IOSDefaultBrowserPromoType" expires_after="2024-02-04">
  <owner>gayane@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>The default browser promo type shown to the user.</summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.TailoredPromoDisplayCount"
    units="count" expires_after="2024-02-04">
  <owner>gayane@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Represents number of tailored default browser promos displayed to the user.
    Recorded before every full screen promo displayed.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.{PromoAction}.{PromoStat}"
    units="count" expires_after="2023-12-01">
  <owner>gayane@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logs all {PromoStat} metrics when the {PromoAction} action happens in a
    default browser promo.
  </summary>
  <token key="PromoAction">
    <variant name="Accepted"/>
    <variant name="Appear"/>
    <variant name="Cancel"/>
    <variant name="Dismiss"/>
  </token>
  <token key="PromoStat">
    <variant name="ActiveDayCount"
        summary="Represents number days user has been active within last
                 valid period"/>
    <variant name="AutofillUseCount"
        summary="Represents number of times user used autofill suggestions."/>
    <variant name="BookmarkUseCount"
        summary="Represents number of times user used bookmarks or bookmark
                 manager."/>
    <variant name="ChromeColdStartCount"
        summary="Represents number of time Chrome cold starts"/>
    <variant name="ChromeOpenIndirectlyCount"
        summary="Represents number of time Chrome indirect (by widget or
                 external url) starts"/>
    <variant name="ChromeWarmStartCount"
        summary="Represents number of time Chrome warm starts"/>
    <variant name="LastPromoNumDays"
        summary="Represents number of days since last default browser promo
                 was displayed"/>
    <variant name="OmniboxClipboardUseCount"
        summary="Represents number of times user copy-pasted in omnibox."/>
    <variant name="PasswordManagerUseCount"
        summary="Represents number of times password manager features were
                 used"/>
    <variant name="PromoDisplayCount"
        summary="Represents number of default browser promos displayed to the
                 user"/>
    <variant name="SpecialTabsUseCount"
        summary="Represents number of time special tabs such as pinned or
                 remote tabs were used"/>
  </token>
</histogram>

<histogram name="IOS.DefaultBrowserVideoPromo.Fullscreen"
    enum="IOSDefaultBrowserVideoPromoAction" expires_after="2023-12-01">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the full screen default browser
    video promo.
  </summary>
</histogram>

<histogram name="IOS.DefaultBrowserVideoPromo.Halfscreen"
    enum="IOSDefaultBrowserVideoPromoAction" expires_after="2023-12-01">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user in response to the half screen default browser
    video promo.
  </summary>
</histogram>

<histogram name="IOS.DesktopPasswordPromo.Shown"
    enum="DesktopIOSPasswordPromoImpression" expires_after="2024-01-31">
  <owner>nicolasmacbeth@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The impression of the iOS Password Promo shown to the user on Desktop.
    Desktop only. This is only recorded for contextual promo appearances, not
    when the eligibility criteria is override via feature flag.
  </summary>
</histogram>

<histogram name="IOS.DesktopPasswordPromo.{Impression}.Action"
    enum="DesktopIOSPasswordPromoAction" expires_after="2024-01-31">
  <owner>nicolasmacbeth@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The action taken by the user when shown the iOS Password Promo on Desktop
    for the {Impression} impression. Desktop only.
  </summary>
  <token key="Impression">
    <variant name="FirstImpression" summary="first"/>
    <variant name="SecondImpression" summary="second"/>
  </token>
</histogram>

<histogram name="IOS.DistantTab.TimeSinceLastUse" units="ms"
    expires_after="2024-03-10">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The delay in milliseconds between the Tab is opened from this device and the
    last time the same Tab was modified on the other device. The 'last modified'
    time is not updated when the Tab is opened from this device.
  </summary>
</histogram>

<histogram name="IOS.EditMenu.DismissedMenuOnPage" enum="IOSEditMenuPage"
    expires_after="2024-03-21">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>Page on which the iOS web edit menu is dismissed.</summary>
</histogram>

<histogram name="IOS.EditMenu.Error" enum="IOSEditMenuError"
    expires_after="2024-03-21">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>Report errors when reporting metrics for web edit menu.</summary>
</histogram>

<histogram name="IOS.EditMenu.SelectedAction" enum="IOSEditMenuActions"
    expires_after="2024-03-21">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The action that was triggered by the user on the iOS web edit menu.
  </summary>
</histogram>

<histogram name="IOS.EditMenu.SelectedActionOnPage" enum="IOSEditMenuPage"
    expires_after="2024-03-21">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>Page on which an iOS web edit menu action is triggered.</summary>
</histogram>

<histogram name="IOS.EditMenu.UpdatingSelectionOnPage" enum="IOSEditMenuPage"
    expires_after="2024-03-21">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Page on which the iOS web edit menu is dismissed by updating the selection.
  </summary>
</histogram>

<histogram name="IOS.ExperienceKitCalendar.Present"
    enum="ExperienceKitCalendarTypes" expires_after="2024-03-10">
  <owner>djean@chromium.org</owner>
  <owner>erahmaoui@google.com</owner>
  <summary>
    The type of calendar chosen by the user on the ExperienceKit context menu.
  </summary>
</histogram>

<histogram name="IOS.ExperienceKitCalendar.Success"
    enum="ExperienceKitCalendarTypes" expires_after="2023-06-01">
  <owner>djean@chromium.org</owner>
  <owner>erahmaoui@google.com</owner>
  <summary>
    The type of calendar the event was created in using the ExperienceKit
    context menu.
  </summary>
</histogram>

<histogram name="IOS.ExperienceKitCalendar.TextClassifierModelAvailable"
    enum="BooleanAvailable" expires_after="2024-02-11">
  <owner>rajendrant@chromium.org</owner>
  <owner>sophiechang@chromium.org</owner>
  <summary>
    True if TextClassifier TFLite model was available for entity detection for
    ExperienceKit Calendar interaction when requested, such as on explicit user
    text selection.
  </summary>
</histogram>

<histogram name="IOS.FeedbackKit.UserFlowStartedSuccess" enum="Boolean"
    expires_after="2023-10-31">
  <owner>rkgibson@google.com</owner>
  <owner>bling-kiwi-pod@google.com</owner>
  <summary>
    Whether or not the feedback kit presentation flow completed successfully or
    had an error.
  </summary>
</histogram>

<histogram name="IOS.FinishedNavigationHasContext" enum="Boolean"
    expires_after="2024-05-01">
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    When a navigation is finished, it should have a non-null NavigationContext.
    This histogram counts the frequency of this invariant holding at the time
    when a new navigation is finished. It is used to verify the effectiveness of
    code fixes because this issue is not currently reproducible in testing
    (http://crbug.com/864769). True means a non-null NavigationContext is
    present.
  </summary>
</histogram>

<histogram name="IOS.FinishedNavigationHasItem" enum="Boolean"
    expires_after="2024-05-01">
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    When a navigation is finished, it should have a non-null NavigationItem.
    This histogram counts the frequency of this invariant holding at the time
    when a new navigation is finished. It is used to verify the effectiveness of
    code fixes because this issue is not currently reproducible in testing
    (http://crbug.com/864769). True means a non-null NavigationItem is present.
  </summary>
</histogram>

<histogram name="IOS.FinishedURLMatchesCurrentItem" enum="Boolean"
    expires_after="2024-06-19">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    When a navigation is finished, the web view URL is expected to match that of
    the current back-forward item. WKWebView seems to break this assumption at
    times. This histogram counts the frequency of this invariant violation at
    the time when a new navigation is finished. True means the URL matches the
    current back-forward item.
  </summary>
</histogram>

<histogram name="IOS.FormInputAccessory.ExecuteFormAssistActionException"
    enum="FormInputAccessoryAction" expires_after="2022-12-11">
  <owner>rohitrao@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Reports exceptions when trying to send a form input accessory action to the
    virtual keyboard.
  </summary>
</histogram>

<histogram name="IOS.Frame.FirstContentfulPaint.MainFrame" units="ms"
    expires_after="2024-03-10">
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Contentful Paint. First Contentful Paint is defined as the amount of
    time it takes for a page to render a non-trivial element. This histogram
    captures the First Contentful Paint time for every main frame. This
    histogram's understanding of First Contentful Paint differs from the
    traditional understanding because it does not aggregate and compare the
    First Contentful Page times across the frames on a page.
  </summary>
</histogram>

<histogram name="IOS.Frame.FirstContentfulPaint.SubFrame" units="ms"
    expires_after="2023-11-19">
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Contentful Paint. First Contentful Paint is defined as the amount of
    time it takes for a page to render a non-trivial element. This histogram
    captures the First Contentful Paint time for user's subframes. Due to
    WebKit's implementation of First Contentful Paint, this histogram only
    captures a subframe's First Contentful Paint if it is same-origin relative
    to the main frame. This histogram's understanding of First Contentful Paint
    differs from the traditional understanding because it does not aggregate and
    compare the First Contentful Page times across the frames on a page.
  </summary>
</histogram>

<histogram name="IOS.Frame.FirstInputDelay.MainFrame" units="ms"
    expires_after="2023-03-06">
  <obsolete>
    Replaced by IOS.Frame.FirstInputDelay.MainFrame2 due to rebucketing.
  </obsolete>
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for every main frame. This histogram's understanding of
    First Input Delay differs from the traditional understanding because it does
    not aggregate and compare the First Input Delay times across the frames on a
    page.
  </summary>
</histogram>

<histogram
    name="IOS.Frame.FirstInputDelay.MainFrame.AfterBackForwardCacheRestore"
    units="ms" expires_after="2023-03-06">
  <obsolete>
    Replaced by
    IOS.Frame.FirstInputDelay.MainFrame.AfterBackForwardCacheRestore2 due to
    rebucketing.
  </obsolete>
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for user's main frame that is loaded from the Back/Forward
    cache. This histogram's understanding of First Contentful Paint differs from
    the traditional understanding because it does not aggregate and compare the
    First Input Delay times across the frames on a page.
  </summary>
</histogram>

<histogram
    name="IOS.Frame.FirstInputDelay.MainFrame.AfterBackForwardCacheRestore2"
    units="ms" expires_after="2024-02-27">
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for user's main frame that is loaded from the Back/Forward
    cache. This histogram's understanding of First Contentful Paint differs from
    the traditional understanding because it does not aggregate and compare the
    First Input Delay times across the frames on a page.
  </summary>
</histogram>

<histogram name="IOS.Frame.FirstInputDelay.MainFrame2" units="ms"
    expires_after="2024-02-27">
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for every main frame. This histogram's understanding of
    First Input Delay differs from the traditional understanding because it does
    not aggregate and compare the First Input Delay times across the frames on a
    page.
  </summary>
</histogram>

<histogram name="IOS.Frame.FirstInputDelay.SubFrame" units="ms"
    expires_after="2023-03-06">
  <obsolete>
    Replaced by IOS.Frame.FirstInputDelay.SubFrame2 due to rebucketing.
  </obsolete>
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for user's subframes. This histogram's understanding of
    First Contentful Paint differs from the traditional understanding because it
    does not aggregate and compare the First Input Delay times across the frames
    on a page.
  </summary>
</histogram>

<histogram
    name="IOS.Frame.FirstInputDelay.SubFrame.AfterBackForwardCacheRestore"
    units="ms" expires_after="2023-03-06">
  <obsolete>
    Replaced by IOS.Frame.FirstInputDelay.SubFrame.AfterBackForwardCacheRestore2
    due to rebucketing.
  </obsolete>
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for user's subframes that is loaded from the Back/Forward
    cache. This histogram's understanding of First Contentful Paint differs from
    the traditional understanding because it does not aggregate and compare the
    First Input Delay times across the frames on a page.
  </summary>
</histogram>

<histogram
    name="IOS.Frame.FirstInputDelay.SubFrame.AfterBackForwardCacheRestore2"
    units="ms" expires_after="2024-02-27">
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for user's subframes that is loaded from the Back/Forward
    cache. This histogram's understanding of First Contentful Paint differs from
    the traditional understanding because it does not aggregate and compare the
    First Input Delay times across the frames on a page.
  </summary>
</histogram>

<histogram name="IOS.Frame.FirstInputDelay.SubFrame2" units="ms"
    expires_after="2024-02-27">
  <owner>danieltwhite@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Many features include JavaScript injected logic that run in the WebKit
    renderer process. One Web Vitals metric that evaluates user experience is
    First Input Delay. First Input Delay is defined as the amount of time
    between the a user's first interaction with the page and the page receiving
    the input event for this interaction. This histogram captures the First
    Input Delay time for user's subframes. This histogram's understanding of
    First Contentful Paint differs from the traditional understanding because it
    does not aggregate and compare the First Input Delay times across the frames
    on a page.
  </summary>
</histogram>

<histogram name="IOS.Fullscreen.State" enum="CrFullscreenState"
    expires_after="2024-03-10">
  <owner>joemerramos@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Logs when a user triggers a fullscreen state change for Chrome on iOS. The
    enumeration indicates the fullscreen state. This is for the web-exposed
    Fullscreen API not the fullscreen that happens when users scroll down and
    hides the toolbar.
  </summary>
</histogram>

<histogram name="IOS.Handoff.Origin" enum="IOSHandoffOrigin"
    expires_after="M77">
  <owner>erikchen@chromium.org</owner>
  <summary>
    This event is recorded each time a Handoff is received by Chrome on iOS. The
    enumeration indicates the source of the Handoff.
  </summary>
</histogram>

<histogram name="IOS.InactiveTabs.Settings.Threshold"
    enum="InactiveTabsThresholdSettingType" expires_after="2024-03-10">
  <owner>alionadangla@chromium.org</owner>
  <owner>lpromero@chromium.org</owner>
  <summary>Logs the chosen inactive tab threshold at startup.</summary>
</histogram>

<histogram name="IOS.Incognito.BiometricAuthEnabled" enum="Boolean"
    expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>andrewkamau@google.com</owner>
  <owner>arabm@google.com</owner>
  <summary>
    Logged once per app launch. Logs whether the biometric incognito
    authentication setting is enabled. This metric is designed to measure % of
    users who have the setting enabled by using &quot;group by users&quot; in
    UMA.
  </summary>
</histogram>

<histogram name="IOS.Incognito.BiometricReauthAttemptSuccessful" enum="Boolean"
    expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>andrewkamau@google.com</owner>
  <owner>arabm@google.com</owner>
  <summary>
    Logged when the user attempt to reauthenticate to display the incognito
    tabs. This metric is designed to measure the success of the reauth.
  </summary>
</histogram>

<histogram name="IOS.Incognito.TimeSpent" units="ms" expires_after="2024-03-10">
  <owner>olivierrobin@chromium.org</owner>
  <owner>qpubert@google.com</owner>
  <summary>
    The time incognito profile is displayed to the user. Incognito sessions
    during less than 10 seconds are not reported. Incognito session paused for
    less than 10 seconds is resumed. (Incorrectly reported between M92 and
    M107).
  </summary>
</histogram>

<histogram name="IOS.IncognitoInterstitial"
    enum="IncognitoInterstitialActionType" expires_after="2024-03-10">
  <owner>qpubert@google.com</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged when the Incognito Interstitial is dismissed, with a value which
    depends on what user action led to the dismissal. Before M113, the Cancel
    bucket contains all times the Incognito interstitial was dismissed without
    opening the URL. Starting M113, it only contains times the user triggered
    the Cancel button, and new &quot;Learn more about Incognito&quot; and
    &quot;Dismissed by external event&quot; buckets are added.
  </summary>
</histogram>

<histogram name="IOS.IncognitoInterstitial.Settings"
    enum="IncognitoInterstitialSettingsActionType" expires_after="2024-02-11">
  <owner>qpubert@google.com</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged when the &quot;Ask to Open Links from Other Apps in Incognito&quot;
    setting is enabled or disabled by the user.
  </summary>
</histogram>

<histogram name="IOS.IPH.DefaultSite.Presented" enum="BooleanHit"
    expires_after="2023-02-28">
  <obsolete>
    This metric is obsolete as of M112, it is now recorded in
    InProductHelp.ShouldTriggerHelpUI.IPH_DefaultSiteView.
  </obsolete>
  <owner>gambard@chromium.org</owner>
  <owner>lpromero@chromium.org</owner>
  <summary>
    Recorded when the InProductHelp about the DefaultSite is presented to the
    user. Can be used as a base number to evaluate the impact of IPH.
  </summary>
</histogram>

<histogram name="IOS.IsDefaultBrowser" enum="Boolean" expires_after="never">
<!-- expires-never: used internally for filtering -->

  <owner>thegreenfrog@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <owner>chrome-metrics-team@google.com</owner>
  <summary>
    Prefer to use IOS.IsDefaultBrowser21 as this metric is based in a 7 days
    look back window, which appears to be too small. As of iOS14, users will be
    able to set a default browser other than Safari. When Chrome is the default
    browser, it will receive all URL opens, which is likely to change certain
    stability metrics. Thus, it will be good to filter those metrics by default
    browser status. This metrics records whether the user was deemed to have set
    Chrome as the device's default browser. This metric will be logged once per
    metrics log upload. As long as a link is opened in Chrome in the last 7
    days, the user will be considered a default user.
  </summary>
</histogram>

<histogram name="IOS.IsDefaultBrowser21" enum="Boolean" expires_after="never">
<!-- expires-never: used internally for filtering -->

  <owner>rohitrao@chromium.org</owner>
  <owner>chrome-metrics-team@google.com</owner>
  <summary>
    As of iOS14, users will be able to set a default browser other than Safari.
    When Chrome is the default browser, it will receive all URL opens, which is
    likely to change certain stability metrics. Thus, it will be good to filter
    those metrics by default browser status. This metrics records whether the
    user was deemed to have set Chrome as the device's default browser. This
    metric will be logged once per metrics log upload. As long as link is opened
    in Chrome in the last 21 days, the user will be considered a default user.
  </summary>
</histogram>

<histogram name="IOS.IsEligibleDefaultBrowserPromoUser" enum="BooleanEligible"
    expires_after="2023-02-26">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    This metric reports whether the user was deemed eligible to be shown default
    browser fullscreen promos. Eligibility currently includes signed-in users,
    external intent app opens, clipboard copies, and GrowthKit opens. This
    metric will be logged once per metrics log upload.
  </summary>
</histogram>

<histogram name="IOS.IsEnabled.Password.BottomSheet" enum="Boolean"
    expires_after="2024-05-08">
  <owner>sugoi@chromium.org</owner>
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    At the moment of trying to enable the bottom sheet at page load time, track
    whether the bottom sheet is enabled or whether it has been disabled due to
    the number of dismisses.
  </summary>
</histogram>

<histogram name="IOS.JavascriptContentBlockFailure"
    enum="IOSJavascriptContentBlockType" expires_after="2020-12-31">
  <owner>rkgibson@google.com</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    IOS Content Blocking uses special injected Javascript to block access to
    things like cookies and local storage. Future changes to iOS/WebKit could
    cause these blocks to break. This logs that occurrence.
  </summary>
</histogram>

<histogram name="IOS.LaunchSource" enum="IOSLaunchSource" expires_after="never">
<!-- expires-never: Core metric to track how Chrome is launched -->

  <owner>sebsg@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>Records the way the app was launched on iOS.</summary>
</histogram>

<histogram name="IOS.LinkToText.ShouldOfferResult"
    enum="LinkToTextShouldOfferResult" expires_after="2023-09-03">
  <owner>tmartino@chromium.org</owner>
  <owner>seblalancette@chromium.org</owner>
  <summary>
    The result of conditional disable/enable checking for the Link to Text
    feature, including granular failure reasons when the feature is not offered.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click" enum="IOSMagicStackModuleType"
    expires_after="2024-07-03">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>scottyoder@chromium.org</owner>
  <summary>
    Records a user engagement with a module within the Magic Stack.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.TopImpression"
    enum="IOSMagicStackModuleType" expires_after="2024-07-03">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>scottyoder@chromium.org</owner>
  <summary>
    Records the first module shown for every Magic Stack impression.
  </summary>
</histogram>

<histogram name="IOS.MainFrameNavigationIsInBrowserLockdownMode" enum="Boolean"
    expires_after="2024-02-20">
  <owner>joemerramos@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <owner>bling-fundamentals@google.com</owner>
  <summary>
    Records whether Browser Lockdown Mode is enabled for a main-frame navigation
    action. This is recorded once for every allowed main-frame navigation
    action.
  </summary>
</histogram>

<histogram name="IOS.MainFrameNavigationIsInLockdownMode" enum="Boolean"
    expires_after="2024-01-28">
  <owner>ajuma@chromium.org</owner>
  <owner>bling-fundamentals@google.com</owner>
  <summary>
    Records whether Lockdown Mode is enabled for a main-frame navigation action.
    This is recorded once for every allowed main-frame navigation action.
  </summary>
</histogram>

<histogram name="IOS.MainThreadFreezeDetection.HangWithCleanExit"
    enum="Boolean" expires_after="2024-09-12">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    Recorded when the MainThreadFreezeDetector initializes. If a hang was
    detected on a previous run, it's expected the app will be killed and not
    exit cleanly. Set to `true` if the app exited cleanly and a hang was
    detected, indicating no watchdog kill and an error in freeze detection.
  </summary>
</histogram>

<histogram name="IOS.MainThreadFreezeDetection.NotRunningAfterReport"
    enum="IOSMainThreadFreezeDetectionNotRunningAfterReportBlock"
    expires_after="2024-09-12">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    Recorded when the main thread recovers immediately after a freeze report was
    generated.
  </summary>
</histogram>

<histogram name="IOS.MainThreadFreezeDetection.RecordGenerationTime" units="ms"
    expires_after="2024-09-12">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The time taken to record a freeze report. Logged immediately after
    generating a hang report.
  </summary>
</histogram>

<histogram name="IOS.MainThreadFreezeDetection.RecoveredAfter" units="ms"
    expires_after="2024-09-12">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The time during which main thread was not responding. 0 if application was
    killed before recovering. Logged after an action posted on the main thread
    is not executed immediately. The histogram is sent when the task is finally
    executed or on next application startup.
  </summary>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}ApplicationHangTime" units="ms"
    expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <owner>chrome-analysis-team@google.com</owner>
  <summary>
    The durations of time in which the app is too busy to handle user input
    responsively. This covers all forms of user input, including all touch
    screen input (scrolls, pinches, and taps) and input from any connected input
    device such as a keyboard. Logged when a MXMetricPayload is received (one
    per day). Each sample corresponds to one hang that happens when the app is
    in the foreground and doesn't respond quickly enough to user input. The
    minimum observed hang time is 250ms (but this value may change in future
    device/OS version). This metric can be normalized by comparing the total
    number of hangs or the total time spent hung against the number of clients
    emitting to IOS.MetricKit.ForegroundTimePerDay (hangs per users) or against
    the total time reported by IOS.MetricKit.ForegroundTimePerDay (fraction of
    foreground time spent in hangs). ApplicationHangTime and
    ForegroundTimePerDay have the same restrictions about when they're emitted
    (opted-in to share diagnostic data with Apple and also opted-in to UMA).
    Further, as hangs can only happen during foreground use,
    ForegroundTimePerDay makes a good comparison point. Only hangs in the
    browser process are reported.

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.

    This histogram is of special interest to the chrome-analysis-team@. Do not
    change its semantics or retire it without talking to them first.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}ApplicationResumeTime" units="ms"
    expires_after="2024-05-01">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The amount of time taken to resume the app from the background (not
    aggregated). Logged when a MXMetricPayload is received (one per day).

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}AverageSuspendedMemory" units="MB"
    expires_after="2024-05-01">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The average amount of memory in use by the app when it's suspended. Averaged
    on a 24 hours period. Logged when a MXMetricPayload is received (one per
    day).

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}BackgroundExitData"
    enum="MetricKitExitData" expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <owner>chrome-analysis-team@google.com</owner>
  <summary>
    The reason for the application termination in background. Recorded when a
    MXMetricPayload is received from the OS (at most once per day) at
    unspecified time. Records cumulative data collected and agregated since the
    previous recording. All buckets from MetricKitExitData are available on iOS
    14 and higher (unless MetricKitExitData bucket comments specify otherwise).

    Note that crashes while in the background are not considered crashes /
    unclean shutdowns in UMA stability metrics. This is because the
    &quot;CleanExitBeacon&quot; is set when Chrome is put in the background.

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.

    This histogram is of special interest to the chrome-analysis-team@. Do not
    change its semantics or retire it without talking to them first.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}BackgroundTimePerDay" units="ms"
    expires_after="2024-05-01">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The total time the app is in the background. Logged when a MXMetricPayload
    is received (one per day). This correspond as Chrome running but not having
    active scene (i.e. the application just has been backgrounded or is doing
    background activity like background music or picture in picture).

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}ExtendedLaunch" units="ms"
    expires_after="2024-05-01">
  <owner>ajuma@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    The amount of time taken to launch the app until the app UI is ready to
    receive input. This measures startup until the same point as
    Startup.ColdStartFromProcessCreationTimeV2 but is computed by iOS in a way
    that accounts for app pre-warming. The exact adjustments made to account for
    pre-warming are not documented by Apple. Logged when a MXMetricPayload is
    received (one per day).

    This is only recorded on iOS 16+, and recorded only if user opted in for
    sharing diagnostic data on iOS device.

    Note: The date the data is reported is later than the day it accounts for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}ForegroundExitData"
    enum="MetricKitExitData" expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <owner>chrome-analysis-team@google.com</owner>
  <summary>
    The reason for the application termination in foreground. Recorded when a
    MXMetricPayload is received from the OS (at most once per day) at
    unspecified time. Records cumulative data collected and agregated since the
    previous recording. All buckets from MetricKitExitData are available on iOS
    14 and higher (unless MetricKitExitData bucket comments specify otherwise).
    All buckets except &quot;App exited normally&quot; are likely user-visible
    terminations (this is a guess rather that verified fact).

    Application is in foreground is at least one scene is active in foreground.
    Picture in picture and background music playing are not considered as
    foreground.

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.

    This histogram is of special interest to the chrome-analysis-team@. Do not
    change its semantics or retire it without talking to them first.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}ForegroundTimePerDay" units="s"
    expires_after="2024-05-01">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The total time the app is in the foreground, aggregated over all foreground
    interactions since the last time this metric was reported. This is at most a
    24 hour period. Logged when a MXMetricPayload is received (one per day).

    Application is in foreground is at least one scene is active in foreground.
    Picture in picture and background music playing are not considered as
    foreground

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}OptimizedTimeToFirstDraw" units="ms"
    expires_after="2024-05-01">
  <owner>ajuma@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    The amount of time taken to launch the app in cases where the launch is
    pre-warmed. This is identical to IOS.MetricKit.{MXVersion}TimeToFirstDraw
    except that TimeToFirstDraw considers all launches while this metric only
    considers pre-warmed launches. Logged when a MXMetricPayload is received
    (one per day).

    This is only recorded on iOS 16+, and recorded only if user opted in for
    sharing diagnostic data on iOS device.

    Note: The date the data is reported is later than the day it accounts for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}PeakMemoryUsage" units="MB"
    expires_after="2024-05-01">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The largest amount of memory used by the app since the last time this metric
    was reported. This is at most a 24 hour period. Logged when a
    MXMetricPayload is received (one per day).

    Because this implemented by Apple, we do not know how peak memory usage is
    identified (by polling?). We also do not know if this covers background
    usage. We also do not know if the period only includes background usage
    whether this is going to be reported.

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}TimeToFirstDraw" units="ms"
    expires_after="2024-05-01">
  <owner>justincohen@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The amount of time taken to launch the app. Logged when a MXMetricPayload is
    received (one per day).

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    Note: The date the data is reported is later than the day it account for.
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MiniMap.ConsentOutcome" enum="IOSMiniMapConsentOutcome"
    expires_after="2024-08-03">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>Outcome of the MiniMap consent screen.</summary>
</histogram>

<histogram name="IOS.MultiWindow.Configuration"
    enum="IOSMultiWindowConfiguration" expires_after="2022-12-11">
  <owner>marq@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>MultiWindow configuration sampled once per minute.</summary>
</histogram>

<histogram name="IOS.MultiWindow.OpenInNewWindow" enum="WindowActivityOrigin"
    expires_after="2022-06-26">
  <owner>marq@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    The source of &quot;Open in new Window&quot; user requests. Recorded when a
    newly created window is added to a session.
  </summary>
</histogram>

<histogram name="IOS.NavigationStateNotFinishedInLoadCancelled" enum="Boolean"
    expires_after="2024-02-11">
  <owner>ajuma@chromium.org</owner>
  <owner>michaeldo@chromium.org</owner>
  <summary>
    The method -[CRWWKNavigationHandler loadCancelled] updates the navigation
    state to finished if it is any other state. Additionally, if
    `beingDestroyed` is false, the webstate's loading state is set to false.
    There is a long standing TODO in this method with the comment: &quot;Check
    if this function should be removed.&quot; This metric is logged when the
    logic in this method is triggered. The results will be reviewed to see if
    this logic is still ever called or if it can now be removed.
  </summary>
</histogram>

<histogram name="IOS.NSString.stringByReplacingCharactersInRange.NilArgument"
    enum="Boolean" expires_after="2022-12-11">
  <owner>rohitrao@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    NSString API: stringByReplacingCharactersInRange:withString: was invoked
    with a nil argument.
  </summary>
</histogram>

<histogram name="IOS.NTP.Click" enum="IOSHomeActionType"
    expires_after="2024-03-10">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This histogram is logged whenever a click happens on the NTP.
  </summary>
</histogram>

<histogram name="IOS.NTP.ExcessRemovedTabCount" units="count"
    expires_after="2022-09-03">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>The number of excess NTP tabs that are removed.</summary>
</histogram>

<histogram name="IOS.NTP.Impression" enum="IOSNTPImpressionType"
    expires_after="2024-05-20">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The type of NTP impressions on iOS, split by the feed visibility. Logged
    each time an NTP is made visible.
  </summary>
</histogram>

<histogram name="IOS.NTP.OverscrollAction" enum="IOSNTPOverscrollAction"
    expires_after="2024-02-03">
  <owner>guiperez@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The type of overscroll action that occurs on the NTP. This is recorded each
    time a user overscrolls on the NTP.
  </summary>
</histogram>

<histogram name="IOS.Omnibox.DeviceSwitcherResult.{Context}"
    enum="OmniboxDeviceSwitcherResult" expires_after="2024-01-31">
  <owner>christianxu@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Log device switcher result checked at {Context}. When results are available,
    logs the resuling default omnibox position. Otherwise, logs the reason.
  </summary>
  <token key="Context">
    <variant name="AtFRE" summary="FRE"/>
    <variant name="AtStartup" summary="startup"/>
  </token>
</histogram>

<histogram name="IOS.Omnibox.SearchSuggestionNumberOfLines" units="count"
    expires_after="2024-02-11">
  <owner>christianxu@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>Histogram of the number of lines of search suggestions.</summary>
</histogram>

<histogram name="IOS.Omnibox.SteadyStatePositionAtStartup"
    enum="OmniboxPositionType" expires_after="2024-01-28">
  <owner>christianxu@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Logs the steady state (unfocused) omnibox position when starting the app.
  </summary>
</histogram>

<histogram name="IOS.Omnibox.SteadyStatePositionAtStartup.Selected"
    enum="OmniboxPositionType" expires_after="2024-01-28">
  <owner>christianxu@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Logs the selected steady state (unfocused) omnibox position when starting
    the app. This only logged when the position is user selected.
  </summary>
</histogram>

<histogram name="IOS.Omnibox.SuggestionsListScrolled.{PageClass}"
    enum="Boolean" expires_after="2024-01-31">
  <owner>christianxu@chromium.org</owner>
  <owner>stkhapugin@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    For every interaction with the Omnibox, this metric records whether the user
    scrolled the omnibox while exploring suggestions on {PageClass}.

    This is recorded once per Omnibox interaction, regardless of whether the
    User chooses to navigate somewhere or abandons the interaction.
  </summary>
  <token key="PageClass">
    <variant name="NTP" summary="the New Tab Page"/>
    <variant name="Other" summary="a website"/>
    <variant name="SRP" summary="the Search Results Page"/>
  </token>
</histogram>

<histogram name="IOS.OpenIn.DownloadResult" enum="IOSOpenInDownloadResult"
    expires_after="2024-03-24">
  <owner>ewannpv@chromium.org</owner>
  <owner>mrefaat@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The result of the download operation done when the user taps &quot;open
    in&quot; button to open a file by a different application.
  </summary>
</histogram>

<histogram name="IOS.OpenIn.MimeType" enum="IOSOpenInMimeType"
    expires_after="2024-03-10">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The MIME type of the previwed file when the &quot;Open In&quot; toolbar is
    presented.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.ActionType" enum="IOSOverflowMenuActionType"
    expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>The type of action the user took in the overflow/tools menu</summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionAdded"
    enum="IOSOverflowMenuAction" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>The action added during an overflow menu customization.</summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionRemoved"
    enum="IOSOverflowMenuAction" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>The action removed during an overflow menu customization.</summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionsCustomized"
    units="bitfield value" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    A bitfield value representing various sub-events that can take place during
    an action customization session. Only fired when some customization actually
    occurred.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionsReordered.FirstPosition"
    enum="IOSOverflowMenuAction" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>The action in the first position after reordering the menu.</summary>
</histogram>

<histogram
    name="IOS.OverflowMenu.Customization.ActionsReordered.FourthPosition"
    enum="IOSOverflowMenuAction" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The action in the fourth position after customizing the menu.
  </summary>
</histogram>

<histogram
    name="IOS.OverflowMenu.Customization.ActionsReordered.SecondPosition"
    enum="IOSOverflowMenuAction" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The action in the second position after customizing the menu.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionsReordered.ThirdPosition"
    enum="IOSOverflowMenuAction" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The action in the third position after customizing the menu.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.DestinationAdded"
    enum="IOSOverflowMenuDestination" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The destination added during an overflow menu customization.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.DestinationRemoved"
    enum="IOSOverflowMenuDestination" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The destination removed during an overflow menu customization.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.DestinationsCustomized"
    units="bitfield value" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    A bitfield value representing various sub-events that can take place during
    a destination customization session. Only fired when some customization
    actually occurred.
  </summary>
</histogram>

<histogram
    name="IOS.OverflowMenu.Customization.DestinationsReordered.FirstPosition"
    enum="IOSOverflowMenuDestination" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The destination in the first position after the user manually reordered the
    menu.
  </summary>
</histogram>

<histogram
    name="IOS.OverflowMenu.Customization.DestinationsReordered.FourthPosition"
    enum="IOSOverflowMenuDestination" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The destination in the fourth position after the user manually reordered the
    menu.
  </summary>
</histogram>

<histogram
    name="IOS.OverflowMenu.Customization.DestinationsReordered.SecondPosition"
    enum="IOSOverflowMenuDestination" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The destination in the second position after the user manually reordered the
    menu.
  </summary>
</histogram>

<histogram
    name="IOS.OverflowMenu.Customization.DestinationsReordered.ThirdPosition"
    enum="IOSOverflowMenuDestination" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The destination in the third position after the user manually reordered the
    menu.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.DestinationsOrderChangedProgrammatically"
    enum="IOSOverflowMenuReorderingReason" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The cause of the overflow menu being programatically reordered when it is
    reordered.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.OverflowMenuVisited" units="bitfield value"
    expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    A bitfield value representing various sub events that can take place when
    visiting the overflow menu. Fired once per visit, when the menu closes.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.SmartSortingStateChange"
    enum="IOSOverflowMenuSmartSortingChange" expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    Whether Smart Sorting was newly enabled or disabled when the state changed.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.TimeOpen" units="ms"
    expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>The amount of time the overflow/tools menu is open.</summary>
</histogram>

<histogram name="IOS.OverflowMenu.TimeOpen.ActionChosen" units="ms"
    expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The amount of time the overflow/tools menu is open and an action (the
    vertical list) is selected.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.TimeOpen.DestinationChosen" units="ms"
    expires_after="2024-02-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    The amount of time the overflow/tools menu is open and a destination (the
    horizontal list) is selected.
  </summary>
</histogram>

<histogram name="IOS.PageLoad.DefaultModeMobile" enum="Boolean"
    expires_after="2024-01-28">
  <owner>gambard@chromium.org</owner>
  <owner>ajuma@chromium.org</owner>
  <summary>
    Tracks the default mode used by the webview when a page is loaded. True when
    the default mode is Mobile (vs Default).
  </summary>
</histogram>

<histogram name="IOS.PageLoadCount.Counts"
    enum="IOSPageLoadCountNavigationType" expires_after="2024-03-10">
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>The number of navigation started events by navigation type.</summary>
</histogram>

<histogram name="IOS.PageLoadCount.LoadingStarted" units="units"
    expires_after="2024-06-30">
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The &quot;true&quot; value of this boolean histogram counts the number of
    page loading started events. The &quot;false&quot; value will never be seen.
  </summary>
</histogram>

<histogram name="IOS.PageLoadedSnapshotResult" enum="PageLoadedSnapshotResult"
    expires_after="2024-03-01">
  <owner>edchin@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    Tracks the result of snapshotting when the page has been loaded.
  </summary>
</histogram>

<histogram name="IOS.PageLoadTiming.OmnibarToPageLoaded" units="ms"
    expires_after="2024-02-11">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    Measures the time from the end of user input in the omnibox to when the page
    is fully loaded. Only measures page loads initiated by user typing a URL or
    selecting a suggested entry from the URL bar.
  </summary>
</histogram>

<histogram name="IOS.ParcelTracking.OptIn.ActionOnPrompt"
    enum="IOSParcelTrackingOptInActionOnPrompt" expires_after="2024-03-07">
  <owner>hiramahmood@google.com</owner>
  <owner>thegreenfrog@chromium.org</owner>
  <summary>Logs a user's action on the Parcel Tracking Opt-In prompt.</summary>
</histogram>

<histogram name="IOS.ParcelTracking.OptIn.Displayed" enum="Boolean"
    expires_after="2024-03-07">
  <owner>hiramahmood@google.com</owner>
  <owner>thegreenfrog@chromium.org</owner>
  <summary>
    Logs each time when the Parcel Tracking Opt-In prompt is displayed.
  </summary>
</histogram>

<histogram name="IOS.PartialTranslate.Outcome" enum="PartialTranslateOutcome"
    expires_after="2024-02-23">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>The outcome of the partial translate feature.</summary>
</histogram>

<histogram name="IOS.PartialTranslate.SelectionLength" units="characters"
    expires_after="2024-02-23">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>The length of the selection received from javascript.</summary>
</histogram>

<histogram name="IOS.PasswordBottomSheet.ExitReason"
    enum="PasswordSuggestionBottomSheetExitReason" expires_after="2024-04-26">
  <owner>sugoi@chromium.org</owner>
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Tracks the bottom sheet dismissal, use of a password suggestion and long
    press menu events.
  </summary>
</histogram>

<histogram name="IOS.PasswordBottomSheet.UsernameTapped.MinimizedState"
    enum="Boolean" expires_after="2024-04-26">
  <owner>sugoi@chromium.org</owner>
  <owner>veronguyen@google.com</owner>
  <owner>bling-transactions@google.com</owner>
  <summary>
    Records whether the password cell in the password bottom sheet was minimized
    when the user tapped on it.
  </summary>
</histogram>

<histogram name="IOS.PasswordManager.BulkSavePasswordsInAccountCount"
    units="passwords" expires_after="2024-01-28">
  <owner>nicolasmacbeth@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    The number of local passwords the user has moved to their account using the
    bulk save passwords in account module in password manager settings. This is
    logged when the user chooses to bulk move their passwords to their account.
  </summary>
</histogram>

<histogram name="IOS.PasswordManager.Favicons.Count" units="count"
    expires_after="2023-11-28">
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    The number of favicons loaded (image, not monogram string) in the Password
    Manager recorded when the view will disappear.
  </summary>
</histogram>

<histogram name="IOS.PasswordManager.Favicons.Percentage" units="%"
    expires_after="2023-11-28">
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    The percentage of passwords that have a favicon that is an image in the
    Password Manager recorded when the view will disappear.
  </summary>
</histogram>

<histogram name="IOS.PasswordManager.PasswordsWithFavicons.Count" units="count"
    expires_after="2024-01-28">
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    The number of passwords with a favicon loaded in the Password Manager
    recorded when the view will disappear.
  </summary>
</histogram>

<histogram name="IOS.PasswordManager.WidgetPromo.Action"
    enum="PromoWithInstructionsAction" expires_after="2024-03-12">
  <owner>noemies@google.com</owner>
  <owner>bling-transactions@google.com</owner>
  <summary>
    [iOS Only] Tracks the actions taken by the user on the Password Manager
    widget promo.
  </summary>
</histogram>

<histogram name="IOS.PaymentsBottomSheet.ExitReason"
    enum="PaymentsSuggestionBottomSheetExitReason" expires_after="2024-10-05">
  <owner>sugoi@chromium.org</owner>
  <owner>bling-transactions@google.com</owner>
  <summary>
    Tracks the bottom sheet dismissal or use of a payments suggestion.
  </summary>
</histogram>

<histogram name="IOS.Permission.Modal.Events" enum="IOSPermissionEvent"
    expires_after="2024-01-10">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Logs media permission events when the user changes the state of a permission
    (e.g. the microphone permission) from the infobar modal.
  </summary>
</histogram>

<histogram name="IOS.Permission.PageInfo.Events" enum="IOSPermissionEvent"
    expires_after="2024-01-10">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Logs media permission events when the user changes the state of a permission
    (e.g. the microphone permission) from the page info.
  </summary>
</histogram>

<histogram name="IOS.Permission.Requests" enum="IOSPermissionRequest"
    expires_after="2024-01-24">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Logs media permission requests from websites. (e.g. the microphone
    permission is asked from a website).
  </summary>
</histogram>

<histogram name="IOS.PostRestoreDefaultBrowser.ActionOnPrompt"
    enum="IOSPostRestoreDefaultBrowserActionOnPrompt"
    expires_after="2024-07-21">
  <owner>hiramahmood@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logs a user's action on the Post Restore Default Browser promo.
  </summary>
</histogram>

<histogram name="IOS.PostRestoreSignin.Choice"
    enum="IOSPostRestoreSigninChoice" expires_after="2024-01-28">
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Logs a user's choice when presented with the Post Restore Signin Promo.'
  </summary>
</histogram>

<histogram name="IOS.PostRestoreSignin.Displayed" enum="Boolean"
    expires_after="2024-01-28">
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Indicates whether the Post Restore Signin Promo was displayed.
  </summary>
</histogram>

<histogram name="IOS.Process.ActivePrewarm" enum="Boolean"
    expires_after="2024-01-28">
  <owner>justincohen@google.com</owner>
  <owner>olivierrobin@google.com</owner>
  <summary>
    Whether or not the process was started with ActivePrewarm, an Apple
    triggered launch of a nonrunning application processes to reduce the amount
    of time the user waits before the app is usable. A significant change in
    this metric may indicate a change from Apple outside Chromium's control, or
    that Chromium has a reduced 'Duet' score in the system, which merits
    investigation. See the UIKit documentation &quot;Prepare Your App for
    Prewarming&quot; for more details.
  </summary>
</histogram>

<histogram name="IOS.PromosManager.Promo" enum="IOSPromosManagerPromo"
    expires_after="2024-02-28">
  <owner>bwwilliams@google.com</owner>
  <owner>rkgibson@google.com</owner>
  <owner>huitingyu@google.com</owner>
  <summary>
    Logs which promo is displayed when the Promos Manager decides to display a
    promo.
  </summary>
</histogram>

<histogram name="IOS.PromosManager.Promo.DisplayFailure"
    enum="IOSPromosManagerPromo" expires_after="2024-02-28">
  <owner>bwwilliams@google.com</owner>
  <owner>rkgibson@google.com</owner>
  <owner>huitingyu@google.com</owner>
  <summary>
    Logs which promo failed to display. This happens when a promo is requested
    for display, but isn't properly registered. This seldom happens in practice,
    but may happen during manual testing by disabling a promo right before the
    Promos Manager attempts to display it.
  </summary>
</histogram>

<histogram name="IOS.PromosManager.Promo.ForcedDisplayFailure"
    enum="IOSPromosManagerPromo" expires_after="2024-02-28">
  <owner>bwwilliams@google.com</owner>
  <owner>rkgibson@google.com</owner>
  <owner>huitingyu@google.com</owner>
  <summary>
    Logs which forced promo failed to display. This happens when a promo is
    forced for display (via Experimental Settings toggle,) but isn't properly
    registered (via chrome://flags). This seldom happens in practice, but may
    happen during manual testing.
  </summary>
</histogram>

<histogram name="IOS.PromosManager.Promo.ImpressionLimitEvaluation"
    enum="IOSPromosManagerPromoImpressionLimitEvaluationType"
    expires_after="2024-02-28">
  <owner>bwwilliams@google.com</owner>
  <owner>rkgibson@google.com</owner>
  <owner>huitingyu@google.com</owner>
  <summary>
    Promo impression limit evaluations made by the Promos Manager. This
    histograms logs the Promos Manager's assessment of each promos impression
    limits when presented with the opportunity to display a given promo.
  </summary>
</histogram>

<histogram name="IOS.PromosManager.Promo.Type" enum="IOSPromosManagerPromoType"
    expires_after="2024-02-28">
  <owner>bwwilliams@google.com</owner>
  <owner>rkgibson@google.com</owner>
  <owner>huitingyu@google.com</owner>
  <summary>
    Logs which type of promo is displayed when the Promos Manager decides to
    display a promo.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.APNSDeviceRegistration"
    enum="BooleanSuccess" expires_after="2024-05-24">
  <owner>ajuma@google.com</owner>
  <owner>danieltwhite@google.com</owner>
  <summary>
    Logs whether the user's device was or was not able to successfully register
    with APNS and retrieve an APNS device token. An APNS device token is needed
    to successfully register the user's device with Chime. This histogram is
    logged during application startup and each time the user signs into an
    account.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.ChimeDeviceRegistration"
    enum="BooleanSuccess" expires_after="2024-05-24">
  <owner>ajuma@google.com</owner>
  <owner>danieltwhite@google.com</owner>
  <summary>
    Logs whether the user's device was or was not able to successfully register
    with Chime. The device is registered with Chime on the application's
    start-up if the difference between the previous time the device was
    registered with Chime and the current application start-up is greater than
    the predefined time interval threshold (currently set at one day).
  </summary>
</histogram>

<histogram name="IOS.PushNotification.ChimePreferenceRegistration"
    enum="BooleanSuccess" expires_after="2024-04-21">
  <owner>ajuma@google.com</owner>
  <owner>danieltwhite@google.com</owner>
  <summary>
    Logs whether the user's push notification permissions for each push
    notification enable feature in Chrome were successfully applied to the Chime
    server during the device registration process.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.EnabledPermisisons"
    enum="PushNotificationPermissionPromptStatus" expires_after="2024-05-24">
  <owner>ajuma@google.com</owner>
  <owner>danieltwhite@google.com</owner>
  <summary>
    Logs whether the user decided to allow/disallow push notification
    permissions for the current device or an error occured. This is logged each
    time the user responds to a push notification permission prompt.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.IncomingNotificationProcessingTime"
    units="ms" expires_after="2024-05-24">
  <owner>ajuma@google.com</owner>
  <owner>danieltwhite@google.com</owner>
  <summary>
    Logs the amount of time it takes for Chrome to process an incoming
    notification. iOS allows applications to process notifications and fetch any
    additional data needed for up to 30 seconds. iOS tracks the amount of power
    Chrome uses, the time it takes for it to finish processing the incoming
    notification, and data costs for background downloads. According to the
    documentation, if iOS determines that Chrome uses significant amounts of
    power when processing remote notifications, iOS may not always wake up
    Chrome early to process future notifications. Thus, this histogram uses
    processing time as a proxy for iOS' three parameters.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.LifecyleEvents"
    enum="PushNotificationLifecycleEvent" expires_after="2024-07-21">
  <owner>ajuma@google.com</owner>
  <owner>danieltwhite@google.com</owner>
  <summary>
    Logs various lifecycle stages a push notification can observe on the device.
    This histogram is logged each time a push notification is received on the
    device, displayed while Chrome is in the foreground, and tapped by the user.
    An important stipulation to note is that if Chrome is neither in the
    foreground nor the background and a push notification is received on the
    device, iOS will not notify Chrome of this reception and thus will not be
    represented in the histogram. Therefore, when interpreting this metric, the
    push notification reception count may be lower than in reality.
  </summary>
</histogram>

<histogram name="IOS.ReadingList.ImageTooLargeFailure" units="KB"
    expires_after="2024-06-07">
  <owner>olivierrobin@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    Distillation of the page failed because an image was too big (&gt;1MB).
    Recorded on distillation attempt.
  </summary>
</histogram>

<histogram name="IOS.ReadingList.PageTooLargeFailure" units="KB"
    expires_after="2024-06-07">
  <owner>olivierrobin@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    Distillation of the page failed because the page was too big (&gt;10MB).
    Recorded on distillation attempt.
  </summary>
</histogram>

<histogram name="IOS.Reauth.Address.Autofill" enum="ReauthenticationEvent"
    expires_after="2024-10-19">
  <owner>sugoi@chromium.org</owner>
  <owner>bling-transactions@google.com</owner>
  <summary>
    Tracks the results and attempts of reauthentication when using address
    Autofill suggestions.
  </summary>
</histogram>

<histogram name="IOS.Reauth.CreditCard.Autofill" enum="ReauthenticationEvent"
    expires_after="2024-10-19">
  <owner>sugoi@chromium.org</owner>
  <owner>bling-transactions@google.com</owner>
  <summary>
    Tracks the results and attempts of reauthentication when using credit card
    Autofill suggestions.
  </summary>
</histogram>

<histogram name="IOS.Reauth.Password.Autofill" enum="ReauthenticationEvent"
    expires_after="2024-10-19">
  <owner>sugoi@chromium.org</owner>
  <owner>bling-transactions@google.com</owner>
  <summary>
    Tracks the results and attempts of reauthentication when using password
    Autofill suggestions.
  </summary>
</histogram>

<histogram name="IOS.Reauth.Password.BottomSheet" enum="ReauthenticationEvent"
    expires_after="2024-04-26">
  <owner>sugoi@chromium.org</owner>
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Tracks the results and attempts of reauthentication when using suggestions
    from the password bottom sheet.
  </summary>
</histogram>

<histogram name="IOS.Reauth.Password.ManualFallback"
    enum="ReauthenticationEvent" expires_after="2022-07-03">
  <owner>sarraf@google.com</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Tracks the results and attempts of reauthentication when using a password in
    Manual Fallback.
  </summary>
</histogram>

<histogram name="IOS.ReconcileEULAPref" enum="Boolean"
    expires_after="2024-04-24">
  <owner>olivierrobin@google.com</owner>
  <owner>rohitrao@google.com</owner>
  <summary>
    Track the reconciliation of EULA pref and First run sentinel. Reported once
    on startup when it is detected that EULA pref is not set but First run
    sentinel is set. There is no base event (false) as this should be an
    exceptional case and should tend to 0 occurence.
  </summary>
</histogram>

<histogram name="IOS.ResetDismissCount.Password.BottomSheet" units="dismisses"
    expires_after="2024-05-08">
  <owner>sugoi@chromium.org</owner>
  <owner>veronguyen@google.com</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Tracks the number of times in a row the Password Bottom Sheet had been
    dismissed at the moment the dismiss count was reset to 0 (between 1 and 3).
  </summary>
</histogram>

<histogram name="IOS.RestoreNavigationItemCount" units="rank"
    expires_after="2024-09-12">
  <owner>gambard@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    [iOS] The number of items Navigation Manager was requested to restore. 100
    is logged when the number of navigation items is greater than 100. This is
    just a requested count and actual number of restored items can be smaller.
    Restoration is triggered in the following cases (the list is not
    exhaustive): app cold start, remote tab was open, cookie were cleared,
    recently closed tab was restored.
  </summary>
</histogram>

<histogram name="IOS.RestoreNavigationTime" units="ms"
    expires_after="2024-09-12">
  <owner>gambard@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    [iOS] Time spent on restoring committed Navigation Manager's items. Recorded
    once per restoration, as a cumulative time across all items. Restoration is
    triggered in the following cases (the list is not exhaustive): app cold
    start, remote tab was open, cookies were cleared, recently closed tab was
    restored. This metric will be used for monitoring session restoration
    performance which relies on system's WKWebView.
  </summary>
</histogram>

<histogram name="IOS.SadTab.FileIsPDF" enum="Boolean"
    expires_after="2024-03-20">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    This histgram counts the frequency of sad tabs that occur while loading a
    PDF file. This is logged once per sad tab shown.
  </summary>
</histogram>

<histogram name="IOS.SadTab.URLIsChromeExternalFile" enum="Boolean"
    expires_after="2024-03-20">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    This histgram counts the frequency of sad tabs that occur while loading a
    chrome://external-file URL. This is logged once per sad tab shown.
  </summary>
</histogram>

<histogram name="IOS.SafeBrowsing.RedirectedRequestResponseHostsMatch"
    enum="BooleanMatched" expires_after="2024-06-19">
  <owner>ajuma@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <summary>
    The URL in a navigation request should have the same host as the URL in the
    corresponding response, but this sometimes doesn't hold after a server
    redirect because of a WKWebView bug. This histogram counts the frequency of
    this invariant violation, and is logged each time that a main-frame
    navigation response is received after a server redirect. True means that the
    request and response URLs have the same host.
  </summary>
</histogram>

<histogram name="IOS.SafetyCheck.MagicStack.ModuleExistsInModuleOrder"
    enum="BooleanMatched" expires_after="2024-06-19">
  <owner>bwwilliams@google.com</owner>
  <owner>thegreenfrog@google.com</owner>
  <summary>
    This histogram counts the number of times the Safety Check (Magic Stack)
    module is requested for display, but not yet added to the Magic Stack module
    order.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.ApplicationSupportSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of storage used by the &quot;Application Support&quot; directory
    excluding the storage used by all currently open tabs. Logged at application
    startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.AvailableCapacity" units="MB"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of available storage capacity on the device. Logged once
    per application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.AvailableCapacityPercentage" units="%"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The percentage of the device storage which is available. Logged once per
    application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.AverageColorSnapshotSize" units="KB"
    expires_after="2024-03-24">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The average amount of storage used by a color snapshot image for this user.
    Logged at application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.AverageGreySnapshotSize" units="KB"
    expires_after="2024-03-24">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The average amount of storage used by a grey snapshot image for this user.
    Logged at application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.CapacityForImportantUsage" units="MB"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of device storage which is available for important storage.
    Logged once per application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.CapacityForImportantUsagePercentage"
    units="%" expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The percentage of the device storage which is available for important
    storage. Logged once per application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.CapacityForOpportunisticUsage" units="MB"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of device storage which is available for opportunistic storage.
    Logged once per application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.CapacityForOpportunisticUsagePercentage"
    units="%" expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The percentage of the device storage which is available for opportunistic
    storage. Logged once per application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.ChromeCacheSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of storage used by the Chrome cache directory. Logged at
    application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.ChromeTempSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of storage used by the Chrome tmp directory. Logged at
    application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.DocumentsSize2" units="MB"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage used by the application Documents directory.
    Chrome uses this directory to store files downloaded by the user. Logged at
    application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.FaviconsSize" units="KB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage used by the favicons file. Logged at application
    startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.LibrarySize" units="MB"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage used by the application Library directory.
    Chrome uses this directory to store application data and caches. Logged at
    application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.OptimizationGuideModelDownloadedItems"
    units="items" expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The number of download directories used by the optimization guide model
    downloads. Logged at application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.OptimizationGuideModelDownloadsSize"
    units="MB" expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage used by the optimization guide model downloads.
    Logged at application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.TotalCapacity" enum="IOSStorageCapacity"
    expires_after="2024-02-11">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage capacity on the device. Logged once per
    application cold launch, on startup.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.TotalOTRSessionSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage used by the currently open incognito tabs. This
    includes both the storage used for current tab state and the associated
    snapshot images. Logged at application startup, maximum once every 2 weeks,
    if the `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.TotalRegularSessionSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The total amount of storage used by the currently open regular (non
    incognito) tabs. This includes both the storage used for current tab state
    and the associated snapshot images. Logged at application startup, maximum
    once every 2 weeks, if the `kLogApplicationStorageSizeMetrics` flag is
    enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.WebKitCacheSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of storage used by the WebKit cache directory. Logged at
    application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.WebKitTempSize" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of storage used by the WebKit tmp directory. Logged at
    application startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SandboxMetrics.WebsiteLocalData" units="MB"
    expires_after="2023-12-10">
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The amount of storage used by the
    &quot;Library/WebKit/WebsiteData/Default&quot; directory which stores
    IndexedDB and Local Storage data for websites. Logged at application
    startup, maximum once every 2 weeks, if the
    `kLogApplicationStorageSizeMetrics` flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos" enum="IOSSaveToPhotosType"
    expires_after="2024-03-19">
  <owner>qpubert@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged before the &quot;Save to Photos&quot; UI is dismissed with the result
    i.e. whether upload succeeded or failed, reason of the failure if any and
    whether any action was performed after the upload, such as opening the
    Photos app or showing StoreKit.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.AccountPicker"
    enum="IOSSaveToPhotosAccountPickerType" expires_after="2024-03-19">
  <owner>qpubert@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged after the &quot;Save to Photos&quot; UI knows what account to use as
    destination for the photo to be saved i.e. an account saved in preferences
    as the default (account picker skipped), or an account selected with the
    account picker, or no account if the user cancels.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.ContextMenu"
    enum="IOSSaveToPhotosContextMenuType" expires_after="2024-04-16">
  <owner>qpubert@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged when the user performs an action from the context menu which appears
    after long pressing an image in a web page.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.Settings" enum="IOSSaveToPhotosSettingsType"
    expires_after="2024-03-19">
  <owner>qpubert@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged when the Photos service starts. It gives information about the state
    of the Save to Photos settings i.e. (a) if a default account has been set,
    and if so, if the account still exists on the device; (b) if the user did
    opt-in to skip the account picker by disabling the &quot;Ask which account
    to use every time&quot; switch.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.UploadFailureLatency" units="ms"
    expires_after="2024-03-29">
  <owner>qpubert@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged when the Photos service completes an image upload with failure. It
    records the time elapsed between the moment the upload request is submitted
    to the service and the moment the service calls the provided completion
    callback. In particular, this includes the time necessary to create a
    destination album if necessary, upload the media item and add it to the
    destination album. See IOS.SaveToPhotos.UploadSuccessLatency for recording
    of successful completion.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.UploadSuccessLatency" units="ms"
    expires_after="2024-03-29">
  <owner>qpubert@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    Logged when the Photos service completes an image upload with success. It
    records the time elapsed between the moment the upload request is submitted
    to the service and the moment the service calls the provided completion
    callback. In particular, this includes the time necessary to create a
    destination album if necessary, upload the media item and add it to the
    destination album. See IOS.SaveToPhotos.UploadFailureLatency for recording
    of unsuccessful completion.
  </summary>
</histogram>

<histogram name="IOS.SearchExtension.Action" enum="IOSSearchExtensionAction"
    expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>The action selected by the user in the Search Extension.</summary>
</histogram>

<histogram name="IOS.SearchExtension.DisplayCount" units="count"
    expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>
    The number of times the Search Extension was displayed since last Chrome
    foregrounding. Reported when Chrome is put in foreground. Note: events where
    the count is zero were removed in M91.
  </summary>
</histogram>

<histogram name="IOS.SearchWith.Trigger" enum="IOSSearchWithContext"
    expires_after="2024-04-21">
  <owner>olivierrobin@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>The context in which Search With has been triggered.</summary>
</histogram>

<histogram name="IOS.SessionMigration" enum="IOSSessionMigration"
    expires_after="2021-12-11">
  <owner>mrefaat@chromium.org</owner>
  <owner>sdefresne@chromium.org</owner>
  <summary>
    Record whether the session (list of tabs, and their snapshots) was migrated
    from one place to another. This migration can happen when the user update
    Chrome, their device version of iOS or when they restore a backup. The event
    is recorded for all Browser creation, so most of the event should be
    &quot;No Migration&quot;.
  </summary>
</histogram>

<histogram name="IOS.SetUpList.Displayed" enum="Boolean"
    expires_after="2024-02-04">
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    This histogram counts the number of times the Set Up List is shown on the
    NTP.
  </summary>
</histogram>

<histogram name="IOS.SetUpList.ItemCompleted" enum="IOSSetUpListItemType"
    expires_after="2024-02-04">
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    This histogram counts the number of times Set Up List items are completed.
    It is recorded when the Set Up List item is marked complete in prefs, or
    when Set Up List is loaded and the code detects that an item was completed
    since the last time Set Up List was displayed.
  </summary>
</histogram>

<histogram name="IOS.SetUpList.ItemDisplayed" enum="IOSSetUpListItemType"
    expires_after="2024-02-04">
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    This histogram counts the number of times Set Up List items are displayed.
  </summary>
</histogram>

<histogram name="IOS.SetUpList.ItemSelected" enum="IOSSetUpListItemType"
    expires_after="2024-02-04">
  <owner>scottyoder@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    This histogram counts the number of times Set Up List items are selected.
  </summary>
</histogram>

<histogram name="IOS.ShareExtension.ReceivedEntriesCount" units="files"
    expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>
    The number of items received simultaneously in Chrome from the IOS share
    extension.
  </summary>
</histogram>

<histogram name="IOS.ShareExtension.ReceivedEntry"
    enum="IOSShareExtensionReceivedEntryType" expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>Type of the item received from the iOS share extension.</summary>
</histogram>

<histogram name="IOS.ShareExtension.ReceivedEntryDelay" units="ms"
    expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>
    The delay in milliseconds between the item creation in the extension and its
    processing in Chrome.
  </summary>
</histogram>

<histogram name="IOS.ShareExtension.Source"
    enum="IOSShareExtensionReceivedEntrySource" expires_after="2024-09-18">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rkgibson@chromium.org</owner>
  <summary>
    The source application that sent the external command to Chrome.
  </summary>
</histogram>

<histogram name="IOS.SiriShortcuts.Count" units="shortcuts"
    expires_after="2024-04-25">
  <owner>gujen@google.com</owner>
  <owner>bling-mony-pod@google.com</owner>
  <summary>
    Counts the number of Chrome Siri Shortcuts that the user has created in the
    Siri Shortcuts app. This is recorded once during startup. The histogram caps
    at 20 shortcuts, which is an arbitrary but reasonable limit. Note that
    shortcuts that have multiple actions are not counted if at least one action
    isn't a Chrome-provided one. For example, a shortcut that opens URLs in
    Chrome and then opens URLs in another app won't be counted. As such, this
    metric undercounts the true number of Chrome shortcuts. This is a
    restriction of the native Shortcuts API.
  </summary>
</histogram>

<histogram name="IOS.Snapshots.CacheSize" units="KB" expires_after="2024-01-28">
  <owner>ajuma@chromium.org</owner>
  <owner>edchin@chromium.org</owner>
  <summary>
    The overall size of snapshots cache. Recorded when new snapshot is cached.
  </summary>
</histogram>

<histogram name="IOS.Snapshots.ImageSize" units="KB" expires_after="2024-05-30">
  <owner>ajuma@chromium.org</owner>
  <owner>edchin@chromium.org</owner>
  <summary>
    The size of a single snapshot image. Recorded when new snapshot is taken and
    RecordSnapshotSize flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.Snapshots.PDFSize" units="KB" expires_after="2023-11-10">
  <owner>ajuma@chromium.org</owner>
  <owner>edchin@chromium.org</owner>
  <summary>
    The size of a single snapshot PDF. Recorded when new snapshot is taken and
    RecordSnapshotSize flag is enabled.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.Action" enum="IOSSpotlightAction"
    expires_after="2024-06-01">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>The Spotlight Action pressed by the user.</summary>
</histogram>

<histogram name="IOS.Spotlight.Availability" enum="IOSSpotlightAvailability"
    expires_after="2024-06-01">
  <owner>rohitrao@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    Tracks the availability of the Spotlight indexation on the device. It is
    logged once at each cold start. Note: Spotlight may be available on the
    device but disabled by the user.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.BookmarksIndexingDuration" units="ms"
    expires_after="2024-06-01">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>Time spent in Spotlight initial indexation of bookmarks.</summary>
</histogram>

<histogram name="IOS.Spotlight.BookmarksInitialIndexSize" units="units"
    expires_after="2024-06-01">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>Number of bookmarks indexed during initial indexation.</summary>
</histogram>

<histogram name="IOS.Spotlight.DonatedIntentType"
    enum="IOSSpotlightDonatedIntentType" expires_after="2024-06-01">
  <owner>stkhapugin@chromium.org</owner>
  <owner>ameurhosni@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>Recorded each time an intent is donated.</summary>
</histogram>

<histogram name="IOS.Spotlight.LaunchIntentType"
    enum="IOSSpotlightDonatedIntentType" expires_after="2024-06-01">
  <owner>stkhapugin@chromium.org</owner>
  <owner>ameurhosni@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    Recorded each time the app is opened via a Spotlight intent.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.OpenTabsIndexingDuration" units="ms"
    expires_after="2024-06-01">
  <owner>stkhapugin@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>Time spent in Spotlight initial indexation of open tabs.</summary>
</histogram>

<histogram name="IOS.Spotlight.OpenTabsInitialIndexSize" units="units"
    expires_after="2024-06-01">
  <owner>stkhapugin@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>Number of open tabs indexed during initial indexation.</summary>
</histogram>

<histogram name="IOS.Spotlight.Origin" enum="IOSSpotlightOrigin"
    expires_after="2024-06-01">
  <owner>olivierrobin@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    This event is recorded each time a Chrome Spotlight entry is selected by the
    user. The enumeration indicates the nature of the Spotlight entry.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.ReadingListIndexingDuration" units="ms"
    expires_after="2024-06-01">
  <owner>stkhapugin@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>Time spent in Spotlight initial indexation of reading list.</summary>
</histogram>

<histogram name="IOS.Spotlight.ReadingListInitialIndexSize" units="units"
    expires_after="2024-06-01">
  <owner>stkhapugin@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    Number of reading list items indexed during initial indexation.
  </summary>
</histogram>

<histogram name="IOS.Start.Click" enum="IOSHomeActionType"
    expires_after="2024-03-10">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This histogram is logged whenever a click happens on the Start surface.
  </summary>
</histogram>

<histogram name="IOS.Start.Impression" enum="IOSNTPImpressionType"
    expires_after="2024-05-20">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The type of Start impressions on iOS, split by the feed visibility. Logged
    each time Start is opened for the user.
  </summary>
</histogram>

<histogram name="IOS.Start.TimeSpent" units="ms" expires_after="2024-03-10">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>freedjm@chromium.org</owner>
  <summary>
    The time spent on the Start Home surface as measured from when it was loaded
    or last brought to the foreground until it was navigated away from or
    hidden. Only measured on iOS.
  </summary>
</histogram>

<histogram name="IOS.StoreKit.ITunesURLsHandlingResult"
    enum="IOSITunesURLsStoreKitHandlingResult" expires_after="2021-06-23">
  <owner>mrefaat@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The result of StoreKit handling for a specific iTunes URL. Not Handled will
    be logged when the LinksHandler didn't handle a specific URL on purpose (not
    supported), and Failure will be logged when a URL that should have been
    handled wasn't handled.
  </summary>
</histogram>

<histogram name="IOS.TabGrid.CloseTabs" units="Tabs" expires_after="2024-02-20">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The number of Tab Grid items closed with a bulk or a 'Close All' operation.
    A Tab can be recoreded twice if it is restored and closed again.
  </summary>
</histogram>

<histogram name="IOS.TabGrid.Selection.AddToBookmarks" units="Tabs"
    expires_after="2024-11-01">
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The number of Tab Grid items bookmarked with a single add to bookmarks
    operation from the tab grid selection mode.
  </summary>
</histogram>

<histogram name="IOS.TabGrid.Selection.AddToReadingList" units="Tabs"
    expires_after="2024-11-01">
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The number of Tab Grid items added to reading list with a single add to
    reading list operation from the tab grid selection mode.
  </summary>
</histogram>

<histogram name="IOS.TabGrid.Selection.CloseTabs" units="Tabs"
    expires_after="2024-11-01">
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The number of Tab Grid items closed with a single Close Tab(s) operation
    from the tab grid selection mode.
  </summary>
</histogram>

<histogram name="IOS.TabGrid.Selection.ShareTabs" units="Tabs"
    expires_after="2024-11-01">
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The number of Tab Grid items shared with a single share operation from the
    tab grid selection mode.
  </summary>
</histogram>

<histogram name="IOS.TabGrid.TabSelected.TimeSinceLastActivation" units="ms"
    expires_after="2024-01-28">
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    Recorded when a tab is selected from the TabGrid. Time spent since the last
    time this tab was made active.
  </summary>
</histogram>

<histogram name="IOS.TabPickup.TabOpened.TimeSinceLastUse" units="ms"
    expires_after="2024-06-28">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The delay in milliseconds between the Tab is opened from the tab pickup
    banner on this device and the last time the same Tab was modified on the
    other device. The 'last modified' time is not updated when the Tab is opened
    from this device.
  </summary>
</histogram>

<histogram name="IOS.TabPickup.TimeSinceLastCrossDeviceSync" units="ms"
    expires_after="2024-06-20">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    Time spent since the last time another device has been sync. Recorded when
    the app starts.
  </summary>
</histogram>

<histogram name="IOS.TabStrip.DragInteraction" enum="Boolean"
    expires_after="2024-02-08">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Tracks whether the user moved a tabStrip tab to a new index. Recorded when
    the user stops the drag interaction.
  </summary>
</histogram>

<histogram name="IOS.TabStrip.TapInteraction" enum="Boolean"
    expires_after="2024-02-08">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Tracks whether the user tapped on a tabStrip tab that is not the active one.
    Recorded when the tabStrip tab is tapped.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.DragDropTabs"
    enum="IOSTabSwitcherDragDropTabs" expires_after="2024-01-28">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Records tab drag and drop interactions on the tab switcher. An interaction
    is recorded twice (one drag and one drop).
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.DragOrigin" enum="IOSTabSwitcherDragOrigin"
    expires_after="2024-01-22">
  <owner>ewannpv@chromium.org</owner>
  <owner>pakzhygitov@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>Records the origin of dropped items in the tab switcher.</summary>
</histogram>

<histogram name="IOS.TabSwitcher.Idle.IncognitoTabGridPage" enum="Boolean"
    expires_after="2024-02-08">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Tracks whether the user closed the incognito tab grid page without doing any
    meaningful action. Meaningful actions are creating, moving, deleting or
    switching tab. Recorded when the user closed the incognito tab grid page.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.Idle.RecentTabs" enum="Boolean"
    expires_after="2024-02-08">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Tracks whether the user closed the recent tabs page without doing any
    meaningful action. Meaningful action is opening a tab. Recorded when the
    user closed the recent tabs page or switched to a tab grid page.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.Idle.RegularTabGridPage" enum="Boolean"
    expires_after="2024-02-08">
  <owner>ewannpv@chromium.org</owner>
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Tracks whether the user closed the regular tab grid page without doing any
    meaningful action. Meaningful actions are creating, moving, deleting or
    switching tab. Recorded when the user closed the regular tab grid page.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.PageChangeInteraction"
    enum="IOSTabSwitcherPageChangeInteraction" expires_after="2024-02-11">
  <owner>marq@chromium.org</owner>
  <owner>ewannpv@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The UI interaction by which the user changed the visible page in the tab
    switcher. Note that drag interactions can be recorded multiple time for a
    single drag.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.PinnedTabs.DragDropTabs"
    enum="IOSTabSwitcherDragDropTabs" expires_after="2024-03-03">
  <owner>ewannpv@chromium.org</owner>
  <owner>pakzhygitov@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Records tab drag and drop interactions in the pinned tab view. An
    interaction is recorded twice (one drag and one drop).
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.PinnedTabs.DragOrigin"
    enum="IOSTabSwitcherDragOrigin" expires_after="2024-03-24">
  <owner>ewannpv@chromium.org</owner>
  <owner>pakzhygitov@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>Records the origin of dropped items in the pinned tab view.</summary>
</histogram>

<histogram name="IOS.TabSwitcher.TimeSpent" units="ms"
    expires_after="2024-05-14">
  <owner>alionadangla@chromium.org</owner>
  <owner>lpromero@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The time the Tab switcher is displayed to the user. This histogram will
    always be recorded once the user exit the tab switcher. Note: this metric
    got expired for a while between 2023-05-14 and 2023-06-07.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.TimeSpentOpeningExistingTab" units="ms"
    expires_after="2024-05-14">
  <owner>alionadangla@chromium.org</owner>
  <owner>lpromero@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The time it takes for a user to open an existing tab. If the user opens a
    new tab or closes the tab switcher, this is not recorded.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.TimeSpentScrolling" units="ms"
    expires_after="2024-05-14">
  <owner>lpromero@chromium.org</owner>
  <owner>alionadangla@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    The time spent while the tab grid is scrolled by the user. This includes the
    deceleration time.
  </summary>
</histogram>

<histogram name="IOS.TextSelection.EntityDetection.DetectedEntityType"
    enum="TextSelectionDetectedEntityType" expires_after="2024-02-11">
  <owner>rajendrant@chromium.org</owner>
  <owner>sophiechang@chromium.org</owner>
  <summary>
    The entity type detected by running entity detection on user-selected text.
    This histogram is recorded every time entity detection is attempted on text
    that the user explicit selects, such as when displaying context menu actions
    on a long press.
  </summary>
</histogram>

<histogram
    name="IOS.TextSelection.EntityDetection.FullPageTFLiteModelEvaluationDuration"
    units="ms" expires_after="2023-03-19">
  <owner>rajendrant@chromium.org</owner>
  <owner>sophiechang@chromium.org</owner>
  <summary>
    Records the time taken for the TFLite text classifier model to extract
    entities given a full web page text (up to 64k characters).
  </summary>
</histogram>

<histogram
    name="IOS.TextSelection.EntityDetection.TFLiteModelEvaluationDuration"
    units="ms" expires_after="2024-02-11">
  <owner>rajendrant@chromium.org</owner>
  <owner>sophiechang@chromium.org</owner>
  <summary>
    Records the time taken for the TFLite text classifier model to extract
    entities given a text string. This metric does not record the duration for
    NSDataDetector entity extraction when the TFLite model is unavailable.
  </summary>
</histogram>

<histogram name="IOS.Thumbstrip.CancelBy" enum="ThumbstripOpenByIOS"
    expires_after="2024-05-14">
  <obsolete>
    Deprecated as of 06/2023
  </obsolete>
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>
    [iOS] Reports how a thumbstrip opening was cancelled. It uses the same enum
    as IOS.Thumbstrip.OpenBy.
  </summary>
</histogram>

<histogram name="IOS.Thumbstrip.CloseBy" enum="ThumbstripCloseByIOS"
    expires_after="2024-05-14">
  <obsolete>
    Deprecated as of 06/2023
  </obsolete>
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>[iOS] Reports how the thumbstrip was closed.</summary>
</histogram>

<histogram name="IOS.Thumbstrip.OpenBy" enum="ThumbstripOpenByIOS"
    expires_after="2024-05-14">
  <obsolete>
    Deprecated as of 06/2023
  </obsolete>
  <owner>gambard@chromium.org</owner>
  <owner>chromeleon@google.com</owner>
  <summary>[iOS] Reports how the thumbstrip was opened.</summary>
</histogram>

<histogram name="IOS.Translate.PageLoad.LanguageDetectionComparison"
    enum="LanguageDetectionComparison" expires_after="2023-03-24">
  <owner>olivierrobin@chromium.org</owner>
  <owner>mcrouse@chromium.org</owner>
  <summary>
    When both CLD3 and TFLite language detection method are run, compare their
    results.
  </summary>
</histogram>

<histogram name="IOS.Translate.PageLoad.LanguageDetectionMethod"
    enum="LanguageDetectionMethod" expires_after="2023-03-24">
  <owner>olivierrobin@chromium.org</owner>
  <owner>sophiechang@chromium.org</owner>
  <summary>
    The method used to detect language in the web page during the
    CLD3-&gt;TFlite transition.
  </summary>
</histogram>

<histogram name="IOS.TrendingQueries" enum="TrendingQueryIndex"
    expires_after="2023-07-24">
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    Logs a user tapping on a trending query and the index position of that query
    in the module.
  </summary>
</histogram>

<histogram name="IOS.Variations.CreateTrials.SeedExpiry"
    enum="VariationsSeedExpiry" expires_after="2024-01-28">
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    Records the state of the variations seed stored from a previous launch of
    Chrome iOS, e.g. not expired. Recorded after the seed is loaded and before
    trials are created from the seed. Note that seeds for which this metric is
    recorded may not be applied, e.g. when the seed has expired.
  </summary>
</histogram>

<histogram name="IOS.Variations.FirstRun.SeedApplicationStage"
    enum="VariationsFirstRunSeedApplicationStage" expires_after="2024-07-01">
  <owner>ginnyhuang@chromium.org</owner>
  <owner>huitingyu@google.com</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The stage of applying a downloaded initial variations seed during Chrome
    first run on platforms that implemented first run variations. This would be
    emitted on the first run, after Chrome iOS has finished initializing the
    browser objects for the background handlers, to indicate whether the initial
    variations seed fetched natively has been applied, and if not, which stage
    of the variations seed importing process has it reached for debugging
    purpose.
  </summary>
</histogram>

<histogram name="IOS.Variations.FirstRun.SeedFetchResult"
    enum="VariationsSeedFetchResult" expires_after="2024-03-26">
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The result of attempting to fetch an initial variations seed during iOS
    Chrome first run. Records both the HTTP code and various error values in one
    enumeration.
  </summary>
</histogram>

<histogram name="IOS.Variations.FirstRun.SeedFetchTime" units="ms"
    expires_after="2024-01-28">
  <owner>ginnyhuang@chromium.org</owner>
  <owner>bling-get-set-up@google.com</owner>
  <summary>
    The latency of fetching an initial variations seed during iOS Chrome first
    run. Only considers cases where an HTTP 200 result was received.
  </summary>
</histogram>

<histogram name="IOS.WarmStartBackgroundTime" units="msec"
    expires_after="2023-04-27">
  <obsolete>
    This metric is obsolete as of M105, because the max bucket did reach the
    desired hour-level granularity. IOS.BackgroundTimeBeforeWarmStart is the new
    metric.
  </obsolete>
  <owner>thegreenfrog@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This event is recorded on every warm start app open. The value represents
    how long the app was away from the foreground.
  </summary>
</histogram>

<histogram name="IOS.Web.ErrorPagePresentationFailed"
    enum="IOSErrorPagePresentationFailed" expires_after="2024-03-01">
  <owner>ajuma@chromium.org</owner>
  <owner>michaeldo@chromium.org</owner>
  <summary>
    Logged when the error page fails to load. Sometimes, for example, when the
    web view no longer exists, this error may be expected. Other times, it will
    have unknown causes. These unknown cases will cause a blank white page to
    remain displayed in the web content area after the failed load instead of a
    descriptive error message. Ref: crbug.com/1489167
  </summary>
</histogram>

<histogram name="IOS.Web.URLDidChangeToEmptyURL" enum="BooleanHit"
    expires_after="2023-11-19">
  <owner>gambard@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <summary>
    A boolean that is used to indicate that the URL property of the WKWebView
    has changed to a nil or empty URL. Recorded on the KVO of the URL of the
    WKWebView.
  </summary>
</histogram>

<histogram name="IOS.WebInspector.Enabled" enum="BooleanEnabled"
    expires_after="2024-05-01">
  <owner>ajuma@chromium.org</owner>
  <owner>bling-fundamentals@google.com</owner>
  <summary>
    Records whether Web Inspector support has been enabled by the user. Logged
    on iOS 16.4+ only, each time that a WKWebView has been created.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.InstructionsShown" enum="WhatsNewType"
    expires_after="2024-03-17">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@google.com</owner>
  <summary>
    The action taken by the user in response to seeing the instructions of a
    What's New feature.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.Shown" enum="WhatsNewType"
    expires_after="2024-02-04">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@google.com</owner>
  <summary>
    The action taken by the user in response to seeing a What's New feature.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.TableViewDidScroll" enum="Boolean"
    expires_after="2024-02-11">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@google.com</owner>
  <summary>
    Whether or not the table view of the What's New feature was scrolled.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.TimeSpent" units="ms" expires_after="2024-02-11">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@google.com</owner>
  <summary>Logs the time a user spent on What's New.</summary>
</histogram>

<histogram name="IOS.WhatsNew.{Type}.TimeSpent" units="ms"
    expires_after="2024-03-10">
  <owner>cheickcisse@google.com</owner>
  <owner>sebsg@google.com</owner>
  <summary>Logs the time a user spent on each feature of What's New.</summary>
  <token key="Type">
    <variant name="CalendarEvent" summary="Calendar Event"/>
    <variant name="ChromeActions" summary="Chrome Actions"/>
    <variant name="IncognitoLock" summary="Incognito Lock"/>
    <variant name="IncognitoTabsFromOtherApps"
        summary="Incognito Tabs From Other Apps"/>
    <variant name="MiniMaps" summary="Mini Maps"/>
  </token>
</histogram>

<histogram name="IOS.WidgetKit.Action" enum="IOSWidgetKitAction"
    expires_after="2024-01-30">
  <owner>rkgibson@google.com</owner>
  <owner>muradyan@google.com</owner>
  <summary>
    Measures UI interactions in WidgetKit extension. Recorded after a user taps
    in a widget and Chrome is opened.
  </summary>
</histogram>

<histogram name="IOS.WidgetKit.{Status}" enum="IOSWidgetKitExtensionKind"
    expires_after="2024-01-30">
  <owner>rkgibson@google.com</owner>
  <owner>muradyan@chromium.org</owner>
  <summary>
    Indicates the {Status} of an iOS 14 widget. Logged when the app goes to
    foreground. &quot;Current&quot; widgets are logged everytime widgets are
    detected, &quot;Install&quot; and &quot;Uninstall&quot; are logged only when
    changes are detected. It is important to consider the bias created towards
    users that foreground the app more often when doing analysis. This can be
    accounted by filtering per unique users when looking at the metric.
  </summary>
  <token key="Status">
    <variant name="Current" summary="presence"/>
    <variant name="Install" summary="installation"/>
    <variant name="Uninstall" summary="removal"/>
  </token>
</histogram>

<histogram name="IOS.WindowIDInjection.ElapsedTime" units="ms"
    expires_after="2023-02-26">
  <obsolete>
    Removed in M111 because windowId injection was removed.
  </obsolete>
  <owner>michaeldo@chromium.org</owner>
  <owner>rohitrao@chromium.org</owner>
  <summary>
    Measures the time taken for windowID injection to complete. Logged once per
    pageload.
  </summary>
</histogram>

<histogram name="IOS.WKWebViewFinishBeforeCommit" enum="Boolean"
    expires_after="2024-06-30">
  <owner>gambard@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    WKWebView should notify navigation commit before navigation finish, but
    exceptions have been observed. This histogram counts the frequency of this
    invariant violation at the time when a new navigation is finished. True
    means navigation finish callback happened before navigation commit.

    Expired between M77 and M117.
  </summary>
</histogram>

<histogram name="IOS.{AppVersion}AppLaunchesPerSession" units="launches"
    expires_after="2024-07-12">
  <owner>michaeldo@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    The number of application launches per &quot;cold start&quot;. (A &quot;cold
    start&quot; is an application launch which occurs when the app is not
    already running in the background.) Even when the application is in the
    background, the system may keep it alive if the resource usage is low. This
    will result in subsequent launches being faster by resuming the exisiting
    launched application instead of requiring a full, new launch. In the context
    of feature experiments, a decrease in this metric may signal that a feature
    is doing more work than necessary while the application is in the background
    and thus being terminated more frequently by the system.
  </summary>
  <token key="AppVersion" variants="AppVersion"/>
</histogram>

<histogram name="IOS.{AppVersion}WarmStartCount" units="launches"
    expires_after="2024-07-12">
  <owner>michaeldo@chromium.org</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    This event is recorded on application launch when the app was not already
    running in the background (a &quot;cold start&quot;). The value represents
    how many times the application was brought to the foreground while already
    running in the background (a &quot;warm start&quot;) during the previous
    session. Cold starts are slower because the entire application must be
    re-launched, while warm starts are merely a transistion from background to
    foreground state. In the context of feature experiments, a decrease in this
    metric may signal that a feature is doing more work than necessary while the
    application is in the background and thus being terminated more frequently
    by the system. NOTE: This metric is logged for the prior session, which may
    have been a different application version than the version logging this
    metric.
  </summary>
  <token key="AppVersion" variants="AppVersion"/>
</histogram>

<histogram name="ManualFallback.PresentedOptions.AllPasswords"
    units="Credentials" expires_after="2024-01-28">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of credentials presented to the user in the
    &quot;Use other password...&quot; view in Manual Fallback. This is logged
    everytime the user opens this view.
  </summary>
</histogram>

<histogram name="ManualFallback.PresentedOptions.CreditCards" units="Cards"
    expires_after="2023-12-10">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of cards presented to the user in Manual
    Fallback. This is logged everytime the user opens this view.
  </summary>
</histogram>

<histogram name="ManualFallback.PresentedOptions.Passwords" units="Credentials"
    expires_after="2024-03-10">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of credentials presented to the user in the
    Passwords Manual Fallback view. This is logged everytime the user opens this
    view.
  </summary>
</histogram>

<histogram name="ManualFallback.PresentedOptions.Profiles" units="Profiles"
    expires_after="2024-01-28">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of profiles presented to the user in Manual
    Fallback. This is logged everytime the user opens this view.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.OpenCreditCards"
    units="Suggestions" expires_after="2023-12-10">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the credit card button in manual fallback.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.OpenPasswords"
    units="Suggestions" expires_after="2024-01-07">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of password suggestions present when the user
    taps on the password button in manual fallback.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.OpenProfiles"
    units="Suggestions" expires_after="2023-05-01">
  <owner>tmartino@chromium.org</owner>
  <owner>djean@chromium.org</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the profiles (address) button in manual fallback.
  </summary>
</histogram>

<histogram name="UserInterfaceStyle.CurrentlyUsed" enum="IOSUserInterfaceStyle"
    expires_after="2021-12-11">
  <owner>rkgibson@google.com</owner>
  <owner>bling-team@google.com</owner>
  <summary>
    [iOS Only] Used on iOS 13+ to report the usage of Light and Dark mode. This
    is logged at startup and on each user interface style change. Can be caused
    by the system automatic switch or by the user manually changing the style.
  </summary>
</histogram>

</histograms>

</histogram-configuration>
