chromium/tools/metrics/histograms/metadata/ios/histograms.xml

<!--
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
[email protected].
-->

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

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

<variants name="ContextualPanelItemType">
  <variant name="PriceInsightsItem" summary="Price insights item"/>
  <variant name="SamplePanelItem" summary="Sample panel item"/>
</variants>

<!-- LINT.ThenChange(//ios/chrome/browser/contextual_panel/model/contextual_panel_item_type.h:ContextualPanelItemType) -->

<variants name="IOSSaveToDriveQueryTypeVariant">
  <variant name="CreateFolder"
      summary="Recorded once when a query to create a Drive folder returns a
               result."/>
  <variant name="FetchStorageQuota"
      summary="Recorded once when a query to fetch a user's Drive storage
               quota returns a result."/>
  <variant name="SearchFolder"
      summary="Recorded once when a query to search a Drive folder returns a
               result."/>
  <variant name="UploadFile"
      summary="Recorded once when a query to upload a file to Drive returns a
               result."/>
</variants>

<variants name="IOSSaveToDriveUIOutcomeVariant">
  <variant name="FailureCanceledDrive"
      summary="Recorded once when the user tapped 'Cancel' in the Save to
               Drive UI, while 'Drive' is selected as destination, either by
               default or manually."/>
  <variant name="FailureCanceledFiles"
      summary="Recorded once when the user tapped 'Cancel' in the Save to
               Drive UI, while 'Files' is selected as destination, either by
               default or manually."/>
  <variant name="SuccessSelectedDrive"
      summary="Recorded once when the Save to Drive UI exits successfully
               after the user tapped 'Save', after having selected 'Drive' as
               destination for their download."/>
  <variant name="SuccessSelectedDriveManageStorage"
      summary="Recorded once when the Save to Drive UI exits successfully
               after the user tapped 'Manage Storage' in the Manage Storage
               alert, after having selected 'Drive' as destination for their
               download."/>
  <variant name="SuccessSelectedFiles"
      summary="Recorded once when the Save to Drive UI exits successfully
               after the user tapped 'Save', after having selected 'Files' as
               destination for their download."/>
</variants>

<variants name="IOSSaveToDriveUploadTaskFinalStateVariant">
  <variant name="Cancelled"
      summary="Recorded once when a Drive upload task is destroyed, if the
               final state of the task is 'Cancelled'."/>
  <variant name="Complete"
      summary="Recorded once when a Drive upload task is destroyed, if the
               final state of the task is 'Complete'."/>
  <variant name="Failed"
      summary="Recorded once when a Drive upload task is destroyed, if the
               final state of the task is 'Failed'."/>
  <variant name="InProgress"
      summary="Recorded once when a Drive upload task is destroyed, if the
               final state of the task is 'In Progress'."/>
  <variant name="NotStarted"
      summary="Recorded once when a Drive upload task is destroyed, if the
               final state of the task is 'Not Started'."/>
</variants>

<variants name="MXVersion">
  <variant name=""
      summary="Warning: This is only recorded when the current app version
               number matches the version number for all the data received in
               a MetricKit payload. Since MetricKit payloads are received
               once every 24 hours, this means that payloads received within
               24 hours of updating the app will get dropped. As a result,
               there will be a substantial decrease in histogram volume when
               a new app version is released, biasing the collected data
               towards users who are slow to update, and possibly creating
               spurious regressions or progressions. This histogram will have
               misleading trends around release dates. The version of this
               metric prefixed by IOS.MetricKit.IncludingMismatch does not
               drop data this way, so will not have these spurious changes."/>
  <variant name="IncludingMismatch."
      summary="Warning: This is recorded even when the current app version
               number doesn't match the version number for some or all of the
               data received in a MetricKit payload. This means that data
               reported for a particular Chrome version may actually be
               coming from an earlier version that the user was running
               within the previous 24 hours. Splitting this histogram by
               version number will yield misleading results, as some data
               attributed to be from a particular version will have been
               actually recorded for a different version number. The version
               of this metric that does not contain IncludingMismatch in its
               name drops data from older versions, so is safe to split by
               version number."/>
</variants>

<histogram name="IOS.Allocator.ShimInstalled" enum="Boolean"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The percentage of annotations the are decorated against the number of
    annotations found.
  </summary>
</histogram>

<histogram name="IOS.Annotations.UserTap.Cancelled" enum="Boolean"
    expires_after="2024-08-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not a user tap on an annotation got cancelled because some other
    script in the web page triggered some mutations on the same tap.
  </summary>
</histogram>

<histogram name="IOS.AppLauncher.AppURLHasChromeLaunchScheme" enum="Boolean"
    expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-07-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.BackgroundRefresh.BGTaskSchedulerError"
    enum="BGTaskSchedulerErrorType" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a background refresh is triggered. Logs BGTaskScheduler type of
    error or success if the task request was successful.
  </summary>
</histogram>

<histogram name="IOS.BackgroundRefresh.InitStages"
    enum="InitStageDuringBackgroundRefreshType" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a background refresh is triggered. Logs the initState of the
    AppState during background refresh.
  </summary>
</histogram>

<histogram name="IOS.BackgroundTimeBeforeColdStart" units="minutes"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Bookmarks.BulkSaveBookmarksInAccountCount"
    units="bookmarks" expires_after="2024-11-15">
  <owner>[email protected]</owner>
  <owner>src/components/sync/OWNERS</owner>
  <summary>
    The number of local bookmarks the user has moved to their account using the
    batch upload dialog in the bookmarks manager. This is logged when the user
    chooses to batch upload their bookmarks to their account.
  </summary>
</histogram>

<histogram name="IOS.Bookmarks.BulkSaveBookmarksInAccountViewRecreated"
    enum="BooleanHit" expires_after="2024-11-15">
  <owner>[email protected]</owner>
  <owner>src/components/sync/OWNERS</owner>
  <summary>
    Recorded whenever the batch upload flow/dialog is shown to the user in the
    bookmarks manager.

    Note that this metric can be logged multiple times in one flow, whenever the
    views are recreated.
  </summary>
</histogram>

<histogram name="IOS.Bookmarks.DefaultBookmarkFolderOutcome"
    enum="IOSDefaultBookmarkFolderOutcome" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <component>1457392</component>
  <summary>
    Logs how the default bookmark folder is determined, when one or more
    bookmarks are being saved by the user. Only recorded on iOS.
  </summary>
</histogram>

<histogram name="IOS.BringAndroidTabs.ActionOnPrompt"
    enum="IOSBringAndroidTabsPromptActionType" expires_after="2025-01-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-08-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-08-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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.ClosedTabIsAboutBlank" enum="Boolean"
    expires_after="2025-09-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This metric is logged whenever a tab is closed and whether or not the tab is
    currently displaying the about:blank page. Collecting this data may help to
    validate the fix for crbug.com/41494450, where pages opened in Chrome never
    load.
  </summary>
</histogram>

<histogram name="IOS.CommittedNavigationHasContext" enum="Boolean"
    expires_after="2025-09-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-09-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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.ContextualPanel.DismissedReason"
    enum="IOSContextualPanelDismissedReason" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The reason the Contextual Panel was dismissed. Fired every time the panel
    closes.
  </summary>
</histogram>

<histogram name="IOS.ContextualPanel.Entrypoint.{EntrypointType}"
    enum="IOSContextualPanelEntrypointInteractionType"
    expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The result of displaying a Contextual Panel entrypoint with the given type
    of entrypoint. Fired the first time the corresponding action was taken for a
    page load. Note that this means it could be fired multiple times with
    different actions on the same page. Also, the Regular variants are always
    fired as all entrypoints start out as Regular. Then either Large or IPH will
    be fired if the entrypoint was Large or showed an IPH.
  </summary>
  <token key="EntrypointType">
    <variant name="IPH" summary="IPH entrypoint type"/>
    <variant name="Large" summary="Large entrypoint type"/>
    <variant name="Regular" summary="Regular entrypoint type"/>
  </token>
</histogram>

<histogram
    name="IOS.ContextualPanel.Entrypoint.{EntrypointType}.UptimeBeforeTap"
    units="ms" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time a Contextual Panel entrypoint for the given entrypoint type was
    displayed before it was first tapped. Fired the first time a given page's
    entrypoint was tapped. The Regular variants are always fired as all
    entrypoints start out as Regular. Then either Large or IPH will be fired if
    the entrypoint was Large or showed an IPH.
  </summary>
  <token key="EntrypointType">
    <variant name="IPH" summary="IPH entrypoint type"/>
    <variant name="Large" summary="Large entrypoint type"/>
    <variant name="Regular" summary="Regular entrypoint type"/>
  </token>
</histogram>

<histogram
    name="IOS.ContextualPanel.Entrypoint.{EntrypointType}.{ContextualPanelItemType}"
    enum="IOSContextualPanelEntrypointInteractionType"
    expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The result of displaying a Contextual Panel entrypoint for the given
    infoblock type and entrypoint type. Fired the first time the corresponding
    action was taken for a page load. Note that this means it could be fired
    multiple times with different actions on the same page. Also, the Regular
    variants are always fired as all entrypoints start out as Regular. Then
    either Large or IPH will be fired if the entrypoint becomes Large or shows
    an IPH.
  </summary>
  <token key="EntrypointType">
    <variant name="IPH" summary="IPH entrypoint type"/>
    <variant name="Large" summary="Large entrypoint type"/>
    <variant name="Regular" summary="Regular entrypoint type"/>
  </token>
  <token key="ContextualPanelItemType" variants="ContextualPanelItemType"/>
</histogram>

<histogram
    name="IOS.ContextualPanel.Entrypoint.{EntrypointType}.{ContextualPanelItemType}.UptimeBeforeTap"
    units="ms" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time a Contextual Panel entrypoint for the given infoblock type and
    entrypoint type was displayed before it was first tapped. Fired the first
    time a given page's entrypoint was tapped. The Regular variants are always
    fired as all entrypoints start out as Regular. Then either Large or IPH will
    be fired if the entrypoint becomes Large or shows an IPH.
  </summary>
  <token key="EntrypointType">
    <variant name="IPH" summary="IPH entrypoint type"/>
    <variant name="Large" summary="Large entrypoint type"/>
    <variant name="Regular" summary="Regular entrypoint type"/>
  </token>
  <token key="ContextualPanelItemType" variants="ContextualPanelItemType"/>
</histogram>

<histogram name="IOS.ContextualPanel.EntrypointDisplayed"
    enum="IOSContextualPanelItemType" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the info block type the first time entrypoint is displayed for each
    navigation.
  </summary>
</histogram>

<histogram name="IOS.ContextualPanel.EntrypointTapped"
    enum="IOSContextualPanelItemType" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the info block type the first time entrypoint is opened via tap for
    each navigation.
  </summary>
</histogram>

<histogram
    name="IOS.ContextualPanel.InfoBlockImpression.{ContextualPanelItemType}"
    enum="IOSContextualPanelInfoBlockImpression" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the type of impression for the given infoblock. This includes when
    the panel UI closes due to tab switching, even if the panel will re-open
    when returning to that tab. Fired every time the panel closes for each block
    in that panel.
  </summary>
  <token key="ContextualPanelItemType" variants="ContextualPanelItemType"/>
</histogram>

<histogram name="IOS.ContextualPanel.InfoBlockUptime.{ContextualPanelItemType}"
    units="ms" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How long each individual info block was visible for. when returning to that
    tab. Fired every time the panel closes for each block in that panel.
  </summary>
  <token key="ContextualPanelItemType" variants="ContextualPanelItemType"/>
</histogram>

<histogram name="IOS.ContextualPanel.IPH.DismissedReason"
    enum="IOSContextualPanelIPHDismissedReason" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The reason the Contextual Panel's entrypoint in-product help (IPH) was
    dismissed.
  </summary>
</histogram>

<histogram name="IOS.ContextualPanel.Model.InfoBlocksWithContentCount"
    units="count" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of Contextual Panel models with content for each navigation.
  </summary>
</histogram>

<histogram name="IOS.ContextualPanel.Model.Relevance.{ContextualPanelItemType}"
    enum="IOSContextualPanelModelRelevance" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The relevance level for the Contextual Panel data for the given model. Fired
    every navigation.
  </summary>
  <token key="ContextualPanelItemType" variants="ContextualPanelItemType"/>
</histogram>

<histogram name="IOS.ContextualPanel.VisibleTime" units="ms"
    expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How long the Contextual Panel was visible for. Fired each time the panel UI
    closes. This includes when the panel UI closes due to tab switching, even if
    the panel will re-open when returning to that tab.
  </summary>
</histogram>

<histogram
    name="IOS.ContextualPanel.{ContextualPanelItemType}.ModelResponseTime"
    units="ms" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The response time for the given Info Block's model request. Fired every time
    the request completes (with or without data). If the Contextual Panel
    cancels the request, no metric is fired.
  </summary>
  <token key="ContextualPanelItemType" variants="ContextualPanelItemType"/>
</histogram>

<histogram name="IOS.CredentialExtension.CopyPasswordCount" units="count"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.CopyUsernameCount" units="count"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.DisplayCount" units="count"
    expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.FaviconsFetched" units="count"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded when credentials are saved in the CredentialExtension database.
    Records the number of favicons that have been fetched.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.FetchPasswordFailure" units="count"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.FetchPasswordNilArgument"
    units="count" expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.IsEnabled.Startup" enum="Boolean"
    expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.NewCredentialUsername"
    enum="IOSCredentialProviderNewCredentialUsername"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.PasswordCreated"
    enum="IOSCredentialProviderPasswordCreated" expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded when a new password is created via the Credential Provider
    extension. Reported when Chrome is put in the foreground.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.PasswordUseCount" units="count"
    expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.SaveCredentialFailureCount"
    units="count" expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.SearchCount" units="count"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-10 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram
    name="IOS.CredentialExtension.Service.Error.ReplaceCredentialIdentitiesWithIdentities"
    enum="iOSCredentialIdentityStoreErrorForReporting"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded when a request to replace identities in ASCredentialIdentityStore
    fails.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.ShowPasswordCount" units="count"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.

    Note: this was expired from 2023-06 to 2023-12. Data may be missing.
  </summary>
</histogram>

<histogram name="IOS.CredentialExtension.StatusDidChangeTo.Startup"
    enum="Boolean" expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.CredentialExtension.SyncedStore" enum="Boolean"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded when the CPE syncs its file storage: removing it and re-writing it.
  </summary>
</histogram>

<histogram name="IOS.CredentialProviderExtension.Promo.Impression{IsReminder}"
    enum="IOSCredentialProviderPromoSource" expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The impression count for the credential provider extention promo
    corresponding to a source of the promo.

    Note: this was expired from 2023-09 to 2023-12. Data may be missing.
  </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="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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;.

    Note: this was expired from 2023-09 to 2023-12. Data may be missing.
  </summary>
  <token key="PromoSource">
    <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.DefaultBrowserAbandonment{PeriodConsidered}"
    enum="Boolean" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records true if Chrome was likely the default browser in the last
    {PeriodConsidered}, indicating that Chrome may have recently stopped being
    the default browser. Records false in all other scenarios. Recorded once per
    metrics log upload.
  </summary>
  <token key="PeriodConsidered">
    <variant name="21To7" summary="21 days but not in the last 7 days"/>
    <variant name="28To14" summary="28 days but not in the last 14 days"/>
    <variant name="35To14" summary="35 days but not in the last 14 days"/>
    <variant name="42To21" summary="42 days but not in the last 21 days"/>
  </token>
</histogram>

<histogram name="IOS.DefaultBrowserFullscreenPromo"
    enum="IOSDefaultBrowserFullscreenPromoAction" expires_after="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Represents number of days since last default browser promo was displayed.
    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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The default browser promo type shown to the user.</summary>
</histogram>

<histogram name="IOS.DefaultBrowserPromo.TailoredPromoDisplayCount"
    units="count" expires_after="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.DefaultBrowserSettingsPageUsage{Source}"
    enum="IOSDefaultBrowserSettingsPageUsage" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the action taken by the user on Default Browser Settings page that
    was displayed from one of the possible {Source}. Each action can be recorded
    only once per settings page display. This is true even for the iOS settings
    opening action which users can do multiple times during the same settings
    page display.
  </summary>
  <token key="Source">
    <variant name="" summary="Opened from any source"/>
    <variant name=".ExternalAction"
        summary="Opened from external action (URL passed to Chrome with
                 &quot;ChromeExternalAction&quot; as host)"/>
    <variant name=".ExternalIntent" summary="Opened from external intent"/>
    <variant name=".Omnibox" summary="Opened from Omnibox"/>
    <variant name=".Settings" summary="Opened from Chrome settings"/>
    <variant name=".SetUpList" summary="Opened from setup list"/>
    <variant name=".TipsNotification" summary="Opened from tips notification"/>
  </token>
</histogram>

<histogram name="IOS.DefaultBrowserVideoPromo.Fullscreen"
    enum="IOSDefaultBrowserVideoPromoAction" expires_after="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-09-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The action taken by the user in response to the half screen default browser
    video promo.
  </summary>
</histogram>

<histogram name="IOS.Desktop.{PromoType}.Shown"
    enum="DesktopIOSPromoImpression" expires_after="2025-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The impression of the iOS {PromoType} 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>
  <token key="PromoType">
    <variant name="AddressPromo" summary="Desktop to iOS address promo shown"/>
    <variant name="PasswordPromo"
        summary="Desktop to iOS password promo shown"/>
    <variant name="PaymentPromo" summary="Desktop to iOS payment promo shown"/>
  </token>
</histogram>

<histogram name="IOS.Desktop.{PromoType}.{Impression}.Action"
    enum="DesktopIOSPromoAction" expires_after="2024-12-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The action taken by the user when shown the iOS {PromoType} on Desktop for
    the {Impression}. Desktop only.
  </summary>
  <token key="PromoType">
    <variant name="AddressPromo" summary="Desktop to iOS address promo"/>
    <variant name="PasswordPromo" summary="Desktop to iOS password promo"/>
    <variant name="PaymentPromo" summary="Desktop to iOS payment promo"/>
  </token>
  <token key="Impression">
    <variant name="FirstImpression" summary="first"/>
    <variant name="SecondImpression" summary="second"/>
    <variant name="ThirdImpression" summary="third"/>
  </token>
</histogram>

<!-- TODO(crbug.com/339262105): Clean up the old password promo methods after
the generic promo launch. -->

<histogram name="IOS.DesktopPasswordPromo.Shown"
    enum="DesktopIOSPasswordPromoImpression" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>

<!-- TODO(crbug.com/339262105): Clean up the old password promo methods after
the generic promo launch. -->

<histogram name="IOS.DesktopPasswordPromo.{Impression}.Action"
    enum="DesktopIOSPasswordPromoAction" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.DockingPromo.Action" enum="IOSDockingPromoAction"
    expires_after="2024-11-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs a user's action on the fullscreen, animated Docking Promo.
  </summary>
</histogram>

<histogram name="IOS.DockingPromo.LastForegroundTimeViaAppState"
    units="minutes" expires_after="2024-11-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The value represents how long the app was away from the foreground (provided
    via AppState) when evaluating whether or not the Docking Promo can be
    displayed.
  </summary>
</histogram>

<histogram name="IOS.DockingPromo.LostToCompetingPromo"
    enum="IOSPromosManagerPromo" expires_after="2024-11-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Indicates which promo beat the eligible Docking Promo for display. Logged
    once per app launch when deciding which full-screen promo to display, if
    any.
  </summary>
</histogram>

<histogram name="IOS.DockingPromoRemindMeLater.LostToCompetingPromo"
    enum="IOSPromosManagerPromo" expires_after="2024-11-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Indicates which promo beat the eligible Docking Promo (Remind Me Later
    version) for display. Logged once per app launch when deciding which
    full-screen promo to display, if any.
  </summary>
</histogram>

<histogram name="IOS.DocumentDownload.ConflictResolution"
    enum="DocumentDownloadConflictResolution" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether there was already a download in progress when starting a document
    download and how it was resolved.
  </summary>
</histogram>

<histogram name="IOS.DocumentDownload.FinalState" enum="DocumentDownloadState"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The final state of the document download.</summary>
</histogram>

<histogram name="IOS.DocumentDownload.MimeType" enum="DownloadMimeTypeResult"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The mime type of a document downloaded from Preview.</summary>
</histogram>

<histogram name="IOS.DocumentDownload.SizeInMB" units="MB"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The size of a document downloaded from Preview (in MB).</summary>
</histogram>

<histogram name="IOS.DocumentDownload.StateAtNavigation"
    enum="DocumentDownloadState" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The state of the download when the user navigates out of the document.
  </summary>
</histogram>

<histogram name="IOS.EditMenu.DismissedMenuOnPage" enum="IOSEditMenuPage"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Page on which the iOS web edit menu is dismissed.</summary>
</histogram>

<histogram name="IOS.EditMenu.Error" enum="IOSEditMenuError"
    expires_after="2025-03-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Report errors when reporting metrics for web edit menu.</summary>
</histogram>

<histogram name="IOS.EditMenu.SelectedAction" enum="IOSEditMenuActions"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-07-28">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Page on which an iOS web edit menu action is triggered.</summary>
</histogram>

<histogram name="IOS.EditMenu.UpdatingSelectionOnPage" enum="IOSEditMenuPage"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.ExternalAction" enum="IOSExternalAction"
    expires_after="2024-11-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the action passed to Chrome for iOS using an external action URL.
  </summary>
</histogram>

<histogram name="IOS.FeedbackKit.UserFlowStartedSuccess" enum="Boolean"
    expires_after="2023-10-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not the feedback kit presentation flow completed successfully or
    had an error.
  </summary>
</histogram>

<histogram name="IOS.FilePicker.InstallError" enum="IOSFilePickerInstallError"
    expires_after="2025-03-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Report errors when the file picker will be installed.</summary>
</histogram>

<histogram name="IOS.FinishedNavigationHasContext" enum="Boolean"
    expires_after="2025-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-06-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Frame.FirstContentfulPaint.MainFrame" units="ms"
    expires_after="2024-11-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-11-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.AfterBackForwardCacheRestore2"
    units="ms" expires_after="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.AfterBackForwardCacheRestore2"
    units="ms" expires_after="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.HomeCustomization.MagicStack.ParcelTracking.Enabled"
    enum="Boolean" expires_after="2025-08-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records whether the Parcel Tracking module is currently enabled in the Magic
    Stack from the Home Customization menu. Logged on each NTP impression.
  </summary>
</histogram>

<histogram name="IOS.HomeCustomization.MagicStack.SafetyCheck.Enabled"
    enum="Boolean" expires_after="2025-08-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records whether the Safety Check module is currently enabled in the Magic
    Stack from the Home Customization menu. Logged on each NTP impression.
  </summary>
</histogram>

<histogram name="IOS.HomeCustomization.MagicStack.SetUpList.Enabled"
    enum="Boolean" expires_after="2025-08-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records whether the Set Up List module is currently enabled in the Magic
    Stack from the Home Customization menu. Logged on each NTP impression.
  </summary>
</histogram>

<histogram name="IOS.HomeCustomization.MagicStack.TabResumption.Enabled"
    enum="Boolean" expires_after="2025-08-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records whether the Tab Resumption module is currently enabled in the Magic
    Stack from the Home Customization menu. Logged on each NTP impression.
  </summary>
</histogram>

<histogram name="IOS.HomeCustomization.Opened"
    enum="IOSHomeCustomizationEntrypoint" expires_after="2025-08-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the entrypoint used to open the Home Customization menu. Logged
    whenever the Home Customization menu is opened.
  </summary>
</histogram>

<histogram name="IOS.InactiveTabs.Settings.Threshold"
    enum="InactiveTabsThresholdSettingType" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-06-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.IsDefaultBrowser" enum="Boolean" expires_after="never">
<!-- expires-never: used internally for filtering -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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 a link is
    opened in Chrome in the last 21 days, the user will be considered a default
    user.
  </summary>
</histogram>

<histogram name="IOS.IsDefaultBrowser{NumberOfDays}" enum="Boolean"
    expires_after="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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 a link is
    opened in Chrome in the last {NumberOfDays} days, the user will be
    considered a default user.
  </summary>
  <token key="NumberOfDays">
    <variant name="1"/>
    <variant name="3"/>
    <variant name="14"/>
    <variant name="28"/>
    <variant name="35"/>
    <variant name="42"/>
  </token>
</histogram>

<histogram name="IOS.IsEligibleDefaultBrowserPromoUser" enum="BooleanEligible"
    expires_after="2023-02-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.JavaScript.ErrorHasFilename" enum="Boolean"
    expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a JavaScript error is reported through the
    `WindowErrorResultHandler` message handler and whether the error has an
    associated script filename. Reported errors with no filename are associated
    with Chrome's injected user scripts.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Geolocation.Authorized"
    enum="GeolocationAPI" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access geolocation APIs and the user has
    authorized the API at the application level. NOTE: This is only logged if
    the JavaScript override is setup, which currently ONLY happens if the native
    level permission is disabled/undetermined at JavaScriptFeature creation
    time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Geolocation.Denied"
    enum="GeolocationAPI" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access geolocation APIs, but the user has
    denied the API at the application level. NOTE: This is only logged if the
    JavaScript override is setup, which currently ONLY happens if the native
    level permission is disabled/undetermined at JavaScriptFeature creation
    time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Geolocation.NotDetermined"
    enum="GeolocationAPI" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access geolocation APIs and the API
    access at the application level has not yet been determined. NOTE: This is
    only logged if the JavaScript override is setup, which currently ONLY
    happens if the native level permission is disabled/undetermined at
    JavaScriptFeature creation time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Geolocation.Restricted"
    enum="GeolocationAPI" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access geolocation APIs, but the API
    access at the application level is restricted. NOTE: This is only logged if
    the JavaScript override is setup, which currently ONLY happens if the native
    level permission is disabled/undetermined at JavaScriptFeature creation
    time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Media.Denied" enum="MediaAPIParams"
    expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access media APIs, but the user has
    denied the API at the application level. NOTE: This is only logged if the
    JavaScript override is setup, which currently ONLY happens if the native
    level permission is disabled/undetermined at JavaScriptFeature creation
    time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Media.Granted"
    enum="MediaAPIParams" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access media APIs and the user has
    granted the API at the application level. NOTE: This is only logged if the
    JavaScript override is setup, which currently ONLY happens if the native
    level permission is disabled/undetermined at JavaScriptFeature creation
    time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.Permissions.Media.Undetermined"
    enum="MediaAPIParams" expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a webpage attempts to access media APIs, but the application
    level access to the API has not yet been determined. NOTE: This is only
    logged if the JavaScript override is setup, which currently ONLY happens if
    the native level permission is disabled/undetermined at JavaScriptFeature
    creation time.
  </summary>
</histogram>

<histogram name="IOS.JavaScript.ScriptExecutionFailed" enum="Boolean"
    expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when a JavaScript error occurs as a result of executing a JavaScript
    string.
  </summary>
</histogram>

<histogram name="IOS.JavascriptContentBlockFailure"
    enum="IOSJavascriptContentBlockType" expires_after="2020-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records a user engagement with a module within the Magic Stack.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.MostVisited" units="index"
    expires_after="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Most Visited Sites module when a user clicks
    on it.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.OnNTP"
    enum="IOSMagicStackModuleType" expires_after="2025-05-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This histogram is logged whenever a Magic Stack click happens on the NTP.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.OnStart"
    enum="IOSMagicStackModuleType" expires_after="2025-05-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This histogram is logged whenever a Magic Stack click happens on Start.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.ParcelTracking" units="index"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Parcel Tracking module when a user clicks on
    it.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.PriceTrackingPromo" units="index"
    expires_after="2025-08-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Price Tracking Promo module when a user taps
    on it.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.SafetyCheck" units="index"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Safety Check module when a user clicks on it.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.Shortcuts" units="index"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Shortcuts module when a user clicks on it.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Click.TabResumption" units="index"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Tab Resumption module when a user clicks on
    it.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Module.Disabled" enum="IOSMagicStackModuleType"
    expires_after="2025-05-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records when a module was disabled.</summary>
</histogram>

<histogram name="IOS.MagicStack.Module.TopImpression"
    enum="IOSMagicStackModuleType" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the first module shown for every Magic Stack impression.
  </summary>
</histogram>

<histogram
    name="IOS.MagicStack.Module.{Event}.TabResumption.{Surface}.{Source}"
    units="index" expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the rank index of the Tab Resumption module displaying a {Source}
    tab, if it is displaying on {Surface} on {Event} event.
    &quot;IOS.MagicStack.Module.Click.TabResumption&quot; is also recorded.
  </summary>
  <token key="Event">
    <variant name="Click" summary="a click"/>
    <variant name="Impression" summary="an impression"/>
  </token>
  <token key="Surface">
    <variant name="OnNTP" summary="NTP"/>
    <variant name="OnStart" summary="start"/>
  </token>
  <token key="Source">
    <variant name="Recent" summary="local recent"/>
    <variant name="Sync" summary="distant synced"/>
  </token>
</histogram>

<histogram name="IOS.MagicStack.NTP.SegmentationRankingFetchTime" units="ms"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the fetch time for the Segmentation ranking for Magic Stack on NTP.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.ScrollActionToIndex" units="index"
    expires_after="2025-05-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the Magic Stack card index to which the user scrolled to each time a
    scroll to a new module happens.
  </summary>
</histogram>

<histogram name="IOS.MagicStack.Start.SegmentationRankingFetchTime" units="ms"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the fetch time for the Segmentation ranking for Magic Stack on
    Start.
  </summary>
</histogram>

<histogram name="IOS.MainFrameNavigationIsInBrowserLockdownMode" enum="Boolean"
    expires_after="2025-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.MetricKit.{MXVersion}ApplicationHangTime" units="ms"
    expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}

    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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}AverageSuspendedMemory" units="MB"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </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>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}

    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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}CPUTimePerDay" units="s"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The total amout of CPU time used by the app over a 24 hour period. This is
    logged when an MXMetricPayload is received (one per day).

    Recorded only if user opted in for sharing diagnostic data on iOS device.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

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

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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. This metric only covers cold
    starts, that is, when Chrome is not running and is then launched into the
    foreground. It does not cover warms starts, that is, when Chrome is already
    running in the background and is then brought into the foreground. 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 with Apple. The exact percentage of
    users who are opted into sharing data with Apple is not known, but see
    go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}

    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}ForegroundExitData"
    enum="MetricKitExitData" expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}

    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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}OptimizedTimeToFirstDraw" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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. The exact percentage of users who are
    opted into sharing data with Apple is not known, but see
    go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}PeakMemoryUsage" units="MB"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MetricKit.{MXVersion}TimeToFirstDraw" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.
    The exact percentage of users who are opted into sharing data with Apple is
    not known, but see go/chrome-uma-metrickit-sharing-rate for an estimate.

    Note: Data is received from Apple once a day when Chrome is running,
    covering the previous 24 hours as well as any older data that has not yet
    been delivered to Chrome. This means that the date the data is reported may
    be later than the user activity it corresponds to.

    {MXVersion}
  </summary>
  <token key="MXVersion" variants="MXVersion"/>
</histogram>

<histogram name="IOS.MiniMap.ConsentOutcome" enum="IOSMiniMapConsentOutcome"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Outcome of the MiniMap consent screen.</summary>
</histogram>

<histogram name="IOS.MultiWindow.Configuration"
    enum="IOSMultiWindowConfiguration" expires_after="2022-12-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>MultiWindow configuration sampled once per minute.</summary>
</histogram>

<histogram name="IOS.MultiWindow.ConnectedScenesCount" units="scenes"
    expires_after="2025-03-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the number of connected scenes.</summary>
</histogram>

<histogram name="IOS.MultiWindow.DisconnectedScenesCount" units="scenes"
    expires_after="2025-03-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the number of disconnected scenes.</summary>
</histogram>

<histogram name="IOS.MultiWindow.OpenInNewWindow" enum="WindowActivityOrigin"
    expires_after="2025-03-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The source of &quot;Open in new Window&quot; user requests. Recorded when a
    newly created window is added to a session. Collection of
    WindowActivityRestoredOrigin data is intentionally skipped. Note that
    computation was wrong until M125.
  </summary>
</histogram>

<histogram name="IOS.Notifications.OptInPrompt.Action"
    enum="IOSNotificationsOptInActionOnPrompt" expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs a user's action on the Notifications Opt-In Prompt.</summary>
</histogram>

<histogram name="IOS.Notifications.Tips.Cleared" enum="IOSTipsNotificationType"
    expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs when a tips notification is cleared by the client.</summary>
</histogram>

<histogram name="IOS.Notifications.Tips.ClientStatus.Enabled.ByProvider"
    enum="Boolean" expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the permission status, stored in iOS settings, the user has given for
    receiving tips notifications on the device. Logged every time the metrics
    provider reports filter metrics.
  </summary>
</histogram>

<histogram name="IOS.Notifications.Tips.Dismissed"
    enum="IOSTipsNotificationType" expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs when a Tips notification that was triggered appears to have dismissed
    or cleared from the notification center. Will be logged when or if the app
    starts again, after the notification has dismissed.
  </summary>
</histogram>

<histogram name="IOS.Notifications.Tips.Interaction"
    enum="IOSTipsNotificationType" expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs when the user interacts with a Tips notification.</summary>
</histogram>

<histogram name="IOS.Notifications.Tips.Sent" enum="IOSTipsNotificationType"
    expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs when a Tips notification is sent. Note: this does not indicate that the
    notification was recieved by the user.
  </summary>
</histogram>

<histogram name="IOS.Notifications.Tips.Triggered"
    enum="IOSTipsNotificationType" expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs when a Tips notification that was requested appears to have triggered.
    Will be logged when or if the app starts again, after the notification has
    triggered.
  </summary>
</histogram>

<histogram name="IOS.Notifications.Tips.UserType"
    enum="IOSTipsNotificationUserType" expires_after="2024-12-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs when a Tips Notifications user is classified, when returning to the app
    after the first notification has been scheduled.
  </summary>
</histogram>

<histogram name="IOS.NSString.stringByReplacingCharactersInRange.NilArgument"
    enum="Boolean" expires_after="2022-12-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    NSString API: stringByReplacingCharactersInRange:withString: was invoked
    with a nil argument.
  </summary>
</histogram>

<histogram name="IOS.NTP.Click" enum="IOSHomeActionType"
    expires_after="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The number of excess NTP tabs that are removed.</summary>
</histogram>

<histogram name="IOS.NTP.Impression" enum="IOSNTPImpressionType"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Impression.CustomizationState"
    enum="IOSNTPImpressionCustomizationState" expires_after="2025-08-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The current visibility of NTP components chosen from the customization menu.
    Logged each time an NTP is made visible.
  </summary>
</histogram>

<histogram name="IOS.NTP.LensButtonNewBadgeShown"
    enum="IOSNTPNewBadgeShownResult" expires_after="2024-11-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The result of an attempt to show the New Feature badge on the Lens button in
    the NTP on iOS. Logged when the NTP view is created.
  </summary>
</histogram>

<histogram name="IOS.NTP.OverscrollAction" enum="IOSNTPOverscrollAction"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Promo.Events.{Context}"
    enum="OmniboxPositionChoiceScreenEvents" expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records that the omnibox position choice screen was displayed during
    {Context}. Also records when the user taps the different buttons in the
    choice screen.
  </summary>
  <token key="Context">
    <variant name="FRE" summary="FRE"/>
    <variant name="Startup" summary="startup"/>
  </token>
</histogram>

<histogram name="IOS.Omnibox.Promo.SelectedPosition.{Context}"
    enum="OmniboxPromoSelectedPositions" expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the selected omnibox position when the promo is presented during
    {Context}. Also records whether the selected position is the default one.
  </summary>
  <token key="Context">
    <variant name="FRE" summary="FRE"/>
    <variant name="Startup" summary="startup"/>
  </token>
</histogram>

<histogram
    name="IOS.Omnibox.Promo.SelectedPosition.{Context}.{OmniboxDeviceSwitcherResult}"
    enum="OmniboxPromoSelectedPositions" expires_after="2024-10-13">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the selected omnibox position when the promo is presented during
    {Context}. Also records whether the selected position is the default one.
    Record in a different buckets depending on omnibox device switcher result,
    current classification is {OmniboxDeviceSwitcherResult}.
  </summary>
  <token key="Context">
    <variant name="FRE" summary="FRE"/>
    <variant name="Startup" summary="startup"/>
  </token>
  <token key="OmniboxDeviceSwitcherResult">
    <variant name="IsSwitcher" summary="safari switcher"/>
    <variant name="NotNew" summary="not a new user"/>
    <variant name="NotSwitcher" summary="not safari switcher"/>
    <variant name="Unavailable" summary="result unavailable"/>
  </token>
</histogram>

<histogram name="IOS.Omnibox.Promo.TimeOpen.{Context}" units="ms"
    expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The amount of time the omnibox position choice screen is open during
    {Context}.
  </summary>
  <token key="Context">
    <variant name="FRE" summary="FRE"/>
    <variant name="Startup" summary="startup"/>
  </token>
</histogram>

<histogram name="IOS.Omnibox.SteadyStatePositionAtStartup"
    enum="OmniboxPositionType" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The MIME type of the previwed file when the &quot;Open In&quot; toolbar is
    presented.
  </summary>
</histogram>

<histogram name="IOS.OpenInExtensionOutcome" enum="IOSOpenExtensionOutcome"
    expires_after="2024-09-29">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The outcome of the Open Extension. Logged on the next Chrome startup. May be
    undercounted if Open Extension is often used without opening Chrome.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.ActionType" enum="IOSOverflowMenuActionType"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The action added during an overflow menu customization.</summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionRemoved"
    enum="IOSOverflowMenuAction" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The action removed during an overflow menu customization.</summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.ActionsCustomized"
    units="bitfield value" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The action in the third position after customizing the menu.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.DestinationAdded"
    enum="IOSOverflowMenuDestination" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The destination added during an overflow menu customization.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.DestinationRemoved"
    enum="IOSOverflowMenuDestination" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The destination removed during an overflow menu customization.
  </summary>
</histogram>

<histogram name="IOS.OverflowMenu.Customization.DestinationsCustomized"
    units="bitfield value" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The amount of time the overflow/tools menu is open.</summary>
</histogram>

<histogram name="IOS.OverflowMenu.TimeOpen.ActionChosen" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.OverflowMenu.UserScrolledToEndAndStartedCustomization"
    enum="Boolean" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Fired whenever the user ends an overflow menu session after having scrolled
    to the end of the menu. Records whether the user started the menu
    customization flow during that session.
  </summary>
</histogram>

<histogram name="IOS.PageLoad.DefaultModeMobile" enum="Boolean"
    expires_after="2025-01-28">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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-07-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks the result of snapshotting when the page has been loaded.
  </summary>
</histogram>

<histogram name="IOS.PageLoadTiming.OmnibarToPageLoaded" units="ms"
    expires_after="2025-01-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs each time when the Parcel Tracking Opt-In prompt is displayed.
  </summary>
</histogram>

<histogram name="IOS.ParcelTracking.OptInStatus"
    enum="IOSParcelTrackingOptInStatus" expires_after="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the opt-in status the user has given for whether or not they allow
    parcel tracking on the device. Logged once per app start. For users who have
    not yet interacted with the opt-in prompt, new users on M127 will log
    StatusNotSet, while users before M127 will log AskToTrack.
  </summary>
</histogram>

<histogram name="IOS.ParcelTracking.Tracked.{Source}" units="count"
    expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs number of packages tracked from {Source}.</summary>
  <token key="Source">
    <variant name="AutoTrack"
        summary="Recorded when package(s) are tracked automatically."/>
    <variant name="Infobar"
        summary="Recorded when package(s) are tracked from an infobar."/>
    <variant name="LongPress"
        summary="Recorded when package(s) are tracked from long pressing on a
                 package number."/>
  </token>
</histogram>

<histogram name="IOS.ParcelTracking.Untracked.{Source}" units="count"
    expires_after="2025-01-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs number of packages untracked from {Source}.</summary>
  <token key="Source">
    <variant name="Infobar"
        summary="Recorded when package(s) are untracked from an infobar."/>
    <variant name="MagicStack"
        summary="Recorded when package is untracked from the Magic Stack."/>
  </token>
</histogram>

<histogram name="IOS.PartialTranslate.Outcome" enum="PartialTranslateOutcome"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The outcome of the partial translate feature.</summary>
</histogram>

<histogram name="IOS.PartialTranslate.SelectionLength" units="characters"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The length of the selection received from javascript.</summary>
</histogram>

<histogram name="IOS.PasswordBottomSheet.ExitReason"
    enum="PasswordSuggestionBottomSheetExitReason" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks the bottom sheet dismissal, use of a password suggestion and long
    press menu events.
  </summary>
</histogram>

<histogram name="IOS.PasswordManager.BulkSavePasswordsInAccountCount"
    units="passwords" expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Percentage" units="%"
    expires_after="2024-04-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.WidgetPromo.Action"
    enum="PromoWithInstructionsAction" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs media permission requests from websites. (e.g. the microphone
    permission is asked from a website).
  </summary>
</histogram>

<histogram name="IOS.PostDefaultAbandonmentPromo.UserAction"
    enum="IOSPostRestoreDefaultBrowserActionOnPrompt"
    expires_after="2024-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records which action the user took when the post-default browser abandonment
    promo was displayed. Recorded once per promo impression, when the promo is
    dismissed.
  </summary>
</histogram>

<histogram name="IOS.PostRestoreDefaultBrowser.ActionOnPrompt"
    enum="IOSPostRestoreDefaultBrowserActionOnPrompt"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Indicates whether the Post Restore Signin Promo was displayed.
  </summary>
</histogram>

<histogram name="IOS.PriceInsights.Model.CanTrack" enum="Boolean"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not the current URL and the user are eligible for tracking on
    page load.
  </summary>
</histogram>

<histogram name="IOS.PriceInsights.Model.IsSubscribed" enum="Boolean"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not the current url is currently being tracked on page load.
  </summary>
</histogram>

<histogram name="IOS.PriceInsights.Model.PriceInsightsInfo"
    enum="BooleanAvailable" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not PriceInsightsInfo was available on page load.
  </summary>
</histogram>

<histogram name="IOS.PriceInsights.Model.ProductInfo" enum="BooleanAvailable"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Whether or not ProductInfo was available on page load.</summary>
</histogram>

<histogram name="IOS.Process.ActivePrewarm" enum="Boolean"
    expires_after="2025-03-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.EligiblePromosInQueueCount" units="count"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs number of eligible for display promos in the promos manager's queue
    when next promo to display is identified. Recorded only if there is at least
    1 eligible promo.
  </summary>
</histogram>

<histogram name="IOS.PromosManager.Promo" enum="IOSPromosManagerPromo"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Type" enum="IOSPromosManagerPromoType"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-21">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Client.Disabled"
    enum="PushNotificationClientId" expires_after="2025-07-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs that a particular Push Notification Client was disabled by the user.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.Client.Enabled"
    enum="PushNotificationClientId" expires_after="2025-07-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs that a particular Push Notification Client was enabled by the user.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.EnabledPermisisons"
    enum="PushNotificationPermissionPromptStatus" expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-05-24">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.PushNotification.NotificationAutorizationStatusChangedToAuthorized"
    enum="PushNotificationSettingsAuthorizationStatus"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the push notification iOS settings permission status the user's device
    was previously in before the user updated their push notifications
    permission status to enable push notifications. This histogram is logged
    only when push notification permission status has changed and Chrome makes
    an APNS device token request.
  </summary>
</histogram>

<histogram
    name="IOS.PushNotification.NotificationAutorizationStatusChangedToDenied"
    enum="PushNotificationSettingsAuthorizationStatus"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the push notification iOS settings permission status the user's device
    was previously in before the user updated their push notifications
    permission status to disable push notifications. This histogram is logged
    only when push notification permission status has changed and Chrome makes
    an APNS device token request.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.NotificationSettingsAuthorizationStatus"
    enum="PushNotificationSettingsAuthorizationStatus"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the permission status, stored in iOS settings, the user has given for
    whether Chrome can receive push notifications on the device. This histogram
    is logged each time Chrome requests the device's APNS token from the APNS
    server.
  </summary>
</histogram>

<histogram
    name="IOS.PushNotification.NotificationSettingsAuthorizationStatus.ByProvider"
    enum="PushNotificationSettingsAuthorizationStatus"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the permission status, stored in iOS settings, the user has given for
    whether Chrome can receive push notifications on the device. Logged every
    time the metrics provider reports filter metrics.
  </summary>
</histogram>

<histogram name="IOS.PushNotification.Provisional.EnabledPermissisons"
    enum="PushNotificationPermissionProvisionalStatus"
    expires_after="2024-11-24">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs whether the provisional push notification permissions were granted for
    the current device or an error occured. This is logged each time the device
    responds to a provisional notification permission request.
  </summary>
</histogram>

<histogram name="IOS.ReadingList.BulkAddURLsCount" units="count"
    expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of URLs a user has successfully added to Chrome Reading List via
    bulk addition (Siri Shortcut). This count is taken after checking for
    possibly invalid URLs inputted.
  </summary>
</histogram>

<histogram name="IOS.ReadingList.ImageTooLargeFailure" units="KB"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-03-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-07-21">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Enhanced.Infobar.Interaction"
    enum="IOSEnhancedSafeBrowseringInfobarInteraction"
    expires_after="2025-06-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This histogram tracks the Enhanced Safe Browsing Infobar promo's conversion
    rate by comparing how many times the infobar is surfaced to users and how
    many times it is tapped on.
  </summary>
</histogram>

<histogram name="IOS.SafeBrowsing.RedirectedRequestResponseHostsMatch"
    enum="BooleanMatched" expires_after="2025-06-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.FreshnessTrigger"
    enum="IOSSafetyCheckFreshnessTrigger" expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This histogram logs the reason for signaling freshness to the Segmentation
    Platform when the Safety Check Manager updates the freshness status.
  </summary>
</histogram>

<histogram name="IOS.SafetyCheck.MagicStack.HiddenReason"
    enum="IOSSafetyCheckHiddenReason" expires_after="2024-12-24">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This histogram logs the reason why the Safety Check module is hidden in the
    Magic Stack.
  </summary>
</histogram>

<histogram name="IOS.SafetyCheck.MagicStack.ModuleExistsInModuleOrder"
    enum="BooleanMatched" expires_after="2024-12-24">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.AverageColorSnapshotSize" units="KB"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.ChromeCacheSize" units="MB"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2024-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.TotalOTRSessionSize" units="MB"
    expires_after="2025-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.SaveToDrive.UI.FileSizeMB.{Outcome}" units="MB"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged the Save to Drive UI is dismissed, indicating the size of the file to
    download, as a function of the final outcome of the UI flow e.g. whether the
    user canceled, whether they selected Drive or Files, etc. Only logged if the
    size is available.
  </summary>
  <token key="Outcome" variants="IOSSaveToDriveUIOutcomeVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.UI.ManageStorageAlert.Cancelled"
    enum="BooleanCanceled" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when an alert was shown to let the user manage their Drive storage.
    Reports whether the user cancelled or instead opted to manage their Drive
    storage.
  </summary>
</histogram>

<histogram name="IOS.SaveToDrive.UI.ManageStorageAlert.Shown"
    enum="BooleanShown" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the user attempts to select Drive as destination for their
    download. Reports whether an alert was shown to let the user manage their
    Drive storage.
  </summary>
</histogram>

<histogram name="IOS.SaveToDrive.UI.MimeType.{Outcome}"
    enum="DownloadMimeTypeResult" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged the Save to Drive UI is dismissed, indicating the MIME type of the
    file to download, as a function of the final outcome of the UI flow e.g.
    whether the user canceled, whether they selected Drive or Files, etc.
  </summary>
  <token key="Outcome" variants="IOSSaveToDriveUIOutcomeVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.UI.NumberOfAttempts.{Outcome}" units="count"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged the Save to Drive UI is dismissed, indicating the number of attempts
    to select a destination (i.e. number of times &quot;Save&quot; was tapped)
    as a function of the final outcome of the UI flow e.g. whether the user
    canceled, whether they selected Drive or Files, etc.
  </summary>
  <token key="Outcome" variants="IOSSaveToDriveUIOutcomeVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.UI.Outcome" enum="IOSSaveToDriveOutcomeType"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged before dismissing the Save to Drive UI i.e. the file destination and
    account selection view. Describes what destination was picked, whether the
    user cancelled or not, etc.
  </summary>
</histogram>

<histogram name="IOS.SaveToDrive.UploadTask.FileSizeMB.{FinalState}" units="MB"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a Drive upload task's destructor is called, indicating the the
    size of the uploaded file as a function of the final state of the task e.g.
    Not Started, Cancelled, Completed or Failed.
  </summary>
  <token key="FinalState" variants="IOSSaveToDriveUploadTaskFinalStateVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.UploadTask.FinalState"
    enum="IOSSaveToDriveUploadTaskStateType" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a Drive upload task's destructor is called, indicating the final
    state of the task e.g. Not Started, Cancelled, Completed or Failed.
  </summary>
</histogram>

<histogram name="IOS.SaveToDrive.UploadTask.MimeType.{FinalState}"
    enum="DownloadMimeTypeResult" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a Drive upload task's destructor is called, indicating the the
    MIME type of the uploaded file as a function of the final state of the task
    e.g. Not Started, Cancelled, Completed or Failed.
  </summary>
  <token key="FinalState" variants="IOSSaveToDriveUploadTaskFinalStateVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.UploadTask.NumberOfAttempts.{FinalState}"
    units="count" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a Drive upload task's destructor is called, indicating the
    number of attempts to complete the task (i.e. number of times it was
    started) as a function of the final state of the task e.g. Not Started,
    Cancelled, Completed or Failed.
  </summary>
  <token key="FinalState" variants="IOSSaveToDriveUploadTaskFinalStateVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.{QueryType}.ErrorCode" enum="HttpResponseCode"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when receiving the response for a failed Drive query, indicating the
    error code associated with the response.
  </summary>
  <token key="QueryType" variants="IOSSaveToDriveQueryTypeVariant"/>
</histogram>

<histogram name="IOS.SaveToDrive.{QueryType}.Successful" enum="BooleanSuccess"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when receiving the response for a Drive query, indicating whether the
    response is successful or not.
  </summary>
  <token key="QueryType" variants="IOSSaveToDriveQueryTypeVariant"/>
</histogram>

<histogram name="IOS.SaveToPhotos" enum="IOSSaveToPhotosType"
    expires_after="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-08-18">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.GTLRErrorObjectDomainErrorCode"
    enum="HttpResponseCode" expires_after="2024-08-18">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the Photos service returns an error with domain
    GTLRErrorObjectDomain. The recorded value is the error code interpreted as a
    HTTP response code.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.Settings" enum="IOSSaveToPhotosSettingsType"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-06-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.UploadFailureType"
    enum="IOSPhotosServiceUploadFailureType" expires_after="2024-06-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the Photos service completes an image upload with failure. It
    records the type of failure which occurred.
  </summary>
</histogram>

<histogram name="IOS.SaveToPhotos.UploadSuccessLatency" units="ms"
    expires_after="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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.AllItemsCompleted" enum="Boolean"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This histogram counts the number of times that all items in the Set Up List
    are completed.
  </summary>
</histogram>

<histogram name="IOS.SetUpList.Displayed" enum="Boolean"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The source application that sent the external command to Chrome.
  </summary>
</histogram>

<histogram name="IOS.SiriShortcuts.Count" units="shortcuts"
    expires_after="2024-10-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The overall size of snapshots cache. Recorded when new snapshot is cached.
  </summary>
</histogram>

<histogram name="IOS.SpeechInput.CountryCodeNotDetected" enum="BooleanHit"
    expires_after="2025-01-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    A boolean that is used to indicate that neither the device's current locale
    nor the locale corresponding to the device's preferred language has a valid
    country code. Recorded every time that SpeechInputLocaleConfigImpl attempts
    to detect the country code but fails to do so.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.Action" enum="IOSSpotlightAction"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The Spotlight Action pressed by the user.</summary>
</histogram>

<histogram name="IOS.Spotlight.Availability" enum="IOSSpotlightAvailability"
    expires_after="2025-05-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Time spent in Spotlight initial indexation of bookmarks.</summary>
</histogram>

<histogram name="IOS.Spotlight.BookmarksInitialIndexSize" units="units"
    expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of bookmarks indexed during initial indexation. Starting in M122,
    this is batched. Only recorded on successful reindexing.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.BookmarksReindexRestarted" units="units"
    expires_after="2024-12-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How many times full bookmarks reindex had to restart due to a model mutation
    that happened during reindexing. Logged for each interruption (so for 3
    interruptions it will log values 1, 2, and 3).
  </summary>
</histogram>

<histogram name="IOS.Spotlight.DonatedIntentType"
    enum="IOSSpotlightDonatedIntentType" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Recorded each time an intent is donated.</summary>
</histogram>

<histogram name="IOS.Spotlight.LaunchedIntentType"
    enum="IOSSpotlightDonatedIntentType" expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Time spent in Spotlight initial indexation of open tabs.</summary>
</histogram>

<histogram name="IOS.Spotlight.OpenTabsInitialIndexSize" units="units"
    expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Number of open tabs indexed during initial indexation.</summary>
</histogram>

<histogram name="IOS.Spotlight.OpenTabsReindexRestarted" units="units"
    expires_after="2024-06-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How many times full open tabs reindex had to restart due to a model mutation
    that happened during reindexing. Logged for each interruption (so for 3
    interruptions it will log values 1, 2, and 3).
  </summary>
</histogram>

<histogram name="IOS.Spotlight.Origin" enum="IOSSpotlightOrigin"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</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-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of reading list items indexed during initial indexation.
  </summary>
</histogram>

<histogram name="IOS.Start.Click" enum="IOSHomeActionType"
    expires_after="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.TabGrid.CloseTabs" units="Tabs" expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.TabStrip.DragDropGroups" enum="IOSTabSwitcherDragDropTabs"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records tab group drag and drop interactions on the tab strip. An
    interaction is recorded twice (one drag and one drop).
  </summary>
</histogram>

<histogram name="IOS.TabStrip.DragDropTabs" enum="IOSTabSwitcherDragDropTabs"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records tab drag and drop interactions on the tab strip. An interaction is
    recorded twice (one drag and one drop).
  </summary>
</histogram>

<histogram name="IOS.TabStrip.DragInteraction" enum="Boolean"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.DragOrigin" enum="IOSTabSwitcherDragOrigin"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the origin of dropped items in the tab strip.</summary>
</histogram>

<histogram name="IOS.TabStrip.DragOrigin.Group" enum="IOSTabSwitcherDragOrigin"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the origin of dropped tab groups in the tab strip.</summary>
</histogram>

<histogram name="IOS.TabStrip.TapInteraction" enum="Boolean"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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.DragDropGroups"
    enum="IOSTabSwitcherDragDropTabs" expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records tab group drag and drop interactions on the tab switcher. An
    interaction is recorded twice (one drag and one drop).
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.DragDropMultiSelect"
    enum="IOSTabSwitcherDragDropTabs" expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records multi-selection drag and drop interactions on the tab switcher. An
    interaction is recorded twice (one drag and one drop).
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.DragDropTabs"
    enum="IOSTabSwitcherDragDropTabs" expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the origin of dropped items in the tab switcher.</summary>
</histogram>

<histogram name="IOS.TabSwitcher.DragOrigin.Group"
    enum="IOSTabSwitcherDragOrigin" expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the origin of dropped tab groups in the tab switcher.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.Group.DragOrigin"
    enum="IOSTabSwitcherDragOrigin" expires_after="2025-04-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the origin of dropped items in the tab group view. This is recorded
    when items are drop in the tab group view.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.Idle.IncognitoTabGridPage" enum="Boolean"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks whether the user closed the incognito tab grid page without doing any
    meaningful action on any tab grid pages. 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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks whether the user closed the recent tabs page without doing any
    meaningful action on any tab grid pages. 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="2025-01-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks whether the user closed the regular tab grid page without doing any
    meaningful action on any tab grid pages. 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.Idle.TabGroups" enum="Boolean"
    expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks whether the user closed the tab groups page without doing any
    meaningful action on any tab grid pages. Meaningful action is opening a tab.
    Recorded when the user closed the tab groups page or switched to a tab grid
    page.
  </summary>
</histogram>

<histogram name="IOS.TabSwitcher.PageChangeInteraction"
    enum="IOSTabSwitcherPageChangeInteraction" expires_after="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-07-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the origin of dropped items in the pinned tab view.</summary>
</histogram>

<histogram name="IOS.TabSwitcher.TimeSpent" units="ms"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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-11-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Translate.PageLoad.LanguageDetectionComparison"
    enum="LanguageDetectionComparison" expires_after="2023-03-24">
  <owner>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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>[email protected]</owner>
  <owner>[email protected]</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.UnitConversion.DetectedMeasurements" units="measurements"
    expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the number of detected measurements in a webpage after the page
    load.
  </summary>
</histogram>

<histogram name="IOS.UnitConversion.{Type}" enum="UnitChangeTypes"
    expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the changes in the source or target units change under a unit type
    state (unchanged or changed).
  </summary>
  <token key="Type">
    <variant name="SourceUnitChangeAfterUnitTypeChange"
        summary="Recorded once when the source unit change after any unit
                 type change."/>
    <variant name="SourceUnitChangeBeforeUnitTypeChange"
        summary="Recorded once after a source unit type change before any
                 change of the unit type."/>
    <variant name="TargetUnitChange"
        summary="Recorded once, when the first target unit change occures,
                 without taking into consideration the changes in the unit
                 type."/>
  </token>
</histogram>

<histogram name="IOS.UpgradeCenter.UpgradeFailed"
    enum="IOSUpgradeCenterFailureReason" expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the failure reasons when Chrome on iOS cannot upgrade its version. Each
    bucket in the histogram corresponds to a distinct failure reason (see
    IOSUpgradeCenterFailureReason).
  </summary>
</histogram>

<histogram name="IOS.Variations.CreateTrials.SeedExpiry"
    enum="VariationsSeedExpiry" expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.Web.ErrorPagePresentationFailed"
    enum="IOSErrorPagePresentationFailed" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.FileInput.Clicked" enum="IOSWebFileInputAttributes"
    expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    An enum describing the accept and the multiple attributes of an input file
    element. Logged when the element is clicked.
  </summary>
</histogram>

<histogram name="IOS.Web.FileInput.EventDropped" enum="Boolean"
    expires_after="2024-12-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram describing whether a &quot;Choose File&quot; event was dropped in
    order to record a new incoming &quot;Choose File&quot; event. Logged when a
    new &quot;Choose File&quot; event is triggered by the web page.
  </summary>
</histogram>

<histogram name="IOS.Web.URLDidChangeToEmptyURL" enum="BooleanHit"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded each time the instructions of a What's New feature is displayed.
    The recorded value is the type of the feature that was being viewed.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.ItemsClickedCount" units="count"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>The number of clicked What's New items per impression</summary>
</histogram>

<histogram name="IOS.WhatsNew.LearnMoreTapped" enum="WhatsNewType"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded each time the learn more button of a What's New feature is tapped.
    The recorded value is the type of the feature that was being viewed.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.PrimaryActionTapped" enum="WhatsNewType"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded each time the primary button of a What's New feature is tapped. The
    recorded value is the type of the feature that was being viewed.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.Shown" enum="WhatsNewType"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded each time a feature cell in What's New is tapped. The recorded
    value is the type of the feature that will show.
  </summary>
</histogram>

<histogram name="IOS.WhatsNew.TableViewDidScroll" enum="Boolean"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs the time a user spent on What's New.</summary>
</histogram>

<histogram name="IOS.WhatsNew.{Type}.TimeSpent" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs the time a user spent on each feature of What's New.</summary>
  <token key="Type">
    <variant name="BottomOmnibox" summary="Bottom Omnibox"/>
    <variant name="CalendarEvent" summary="Calendar Event"/>
    <variant name="ChromeActions" summary="Chrome Actions"/>
    <variant name="CustomizableOverflowMenu"
        summary="Customizable Overflow Menu"/>
    <variant name="ESB" summary="Enhanced Safe Browsing"/>
    <variant name="InactiveTabs" summary="Inactive Tabs"/>
    <variant name="IncognitoLock" summary="Incognito Lock"/>
    <variant name="IncognitoTabsFromOtherApps"
        summary="Incognito Tabs From Other Apps"/>
    <variant name="LensSearch" summary="Lens Search"/>
    <variant name="MiniMaps" summary="Mini Maps"/>
    <variant name="PackageTracking" summary="Package Tracking"/>
    <variant name="PasswordSharing" summary="Password Sharing"/>
    <variant name="PinnedTabs" summary="Pinned Tabs"/>
    <variant name="PWMWidget" summary="Password Manager Widget"/>
    <variant name="UseChromeByDefault" summary="Use Chrome By Default"/>
  </token>
</histogram>

<histogram name="IOS.WidgetKit.Action" enum="IOSWidgetKitAction"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</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.WKWebViewFinishBeforeCommit" enum="Boolean"
    expires_after="2024-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</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. Warning: this
    histogram was expired from 2023-12-10 to 2024-4-15; data may be missing.
  </summary>
</histogram>

<histogram name="ManualFallback.PresentedOptions.Passwords" units="Credentials"
    expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</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="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</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. Warning: this
    histogram was expired from 2024-1-28 to 2024-4-15; data may be missing.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.ExpandIcon.OpenAddresses"
    units="Suggestions" expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the expand button in the keyboard accessory to open the address
    manual fallback menu.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.ExpandIcon.OpenPasswords"
    units="Suggestions" expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the expand button in the keyboard accessory to open the password
    manual fallback menu.
  </summary>
</histogram>

<histogram
    name="ManualFallback.VisibleSuggestions.ExpandIcon.OpenPaymentMethods"
    units="Suggestions" expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the expand button in the keyboard accessory to open the payment
    method manual fallback menu.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.OpenCreditCards"
    units="Suggestions" expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the credit card button in manual fallback. Warning: this histogram
    was expired from 2023-12-10 to 2024-4-15; data may be missing.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.OpenPasswords"
    units="Suggestions" expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    [iOS Only] Tracks the number of password suggestions present when the user
    taps on the password button in manual fallback. Warning: this histogram was
    expired from 2023-1-07 to 2024-4-15; data may be missing.
  </summary>
</histogram>

<histogram name="ManualFallback.VisibleSuggestions.OpenProfiles"
    units="Suggestions" expires_after="2025-04-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    [iOS Only] Tracks the number of autofill suggestions present when the user
    taps on the profiles (address) button in manual fallback. Warning: this
    histogram was expired from 2023-05-01 to 2024-4-15; data may be missing.
  </summary>
</histogram>

</histograms>

</histogram-configuration>