chromium/tools/metrics/histograms/metadata/mobile/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 Mobile 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="MobileFreInflationSpeedComparison">
  <variant name=".FasterThanInflation"
      summary="This histogram reports just those timings that were faster
               than inflation."/>
  <variant name=".SlowerThanInflation"
      summary="This histogram reports just those timings that were slower
               than inflation."/>
</variants>

<variants name="MobileInfobarType">
  <variant name="InfobarTypeAutofillAddressProfile"
      summary="Recorded for Autofill Address Infobar."/>
  <variant name="InfobarTypeConfirm" summary="Recorded for Confirm Messages."/>
  <variant name="InfobarTypeParcelTracking"
      summary="Recorded for Parcel Tracking Infobar."/>
  <variant name="InfobarTypePasswordSave"
      summary="Recorded for Save Password Infobar."/>
  <variant name="InfobarTypePasswordUpdate"
      summary="Recorded for Update Password Messages."/>
  <variant name="InfobarTypePermissions"
      summary="Recorded for PermissionsInfobar."/>
  <variant name="InfobarTypeSaveCard"
      summary="Recorded for Save Card Infobar."/>
  <variant name="InfobarTypeSyncError"
      summary="Recorded for Sync Error Infobar."/>
  <variant name="InfobarTypeTailoredSecurityService"
      summary="Recorded for Tailored Security Service Infobar."/>
  <variant name="InfobarTypeTranslate"
      summary="Recorded for Translate Infobar."/>
</variants>

<histogram name="Mobile.AppMenu.TimeToTakeAction.Abandoned" units="ms"
    expires_after="2023-05-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it takes for the user to abandon the app menu after it's shown by
    pressing back or touching outside the menu. This is only logged if the menu
    is abandoned. See Mobile.AppMenu.TimeToTakeAction.SelectedItem for the cases
    where it is closed as a result of user interaction with the menu. Android
    only.
  </summary>
</histogram>

<histogram name="Mobile.AppMenu.TimeToTakeAction.SelectedItem" units="ms"
    expires_after="2023-11-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it takes for the user to select an item. This is only logged if the
    menu is closed as a result of the user clicking a menu item. See
    Mobile.AppMenu.TimeToTakeAction.Abandoned for the cases where it is
    abandoned by the user. Android only.
  </summary>
</histogram>

<histogram name="Mobile.CanonicalURLResult" enum="CanonicalURLResult"
    expires_after="2023-12-24">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The result of the operation to retrieve the page's canonical URL.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.CopyImage" enum="ContextMenuIOSCopyImage"
    expires_after="2025-03-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when &quot;copy image&quot; from context menu is invoked. Log the
    events happening during the copying image procedure.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.EntryPoints" enum="IOSMenuScenario"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks which context menu was shown. To drill down into a specific context
    menu's usage, take a look at its actions' histogram (the format for actions
    histograms is Mobile.ContextMenu.*.Actions). Currently only on iOS.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.GetImageDataByJsResult"
    enum="ContextMenuIOSGetImageDataByJsResult" expires_after="2024-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Result of getting image data by JavaScript for CopyImage, SaveImage and
    SearchByImage from iOS context menu. Recorded when the JavaScript returns,
    or fails for timeout.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.LensSupportStatus"
    enum="IOSLensSupportStatus" expires_after="2024-07-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not Lens is supported, and if not, the reason why. Recorded only
    if the feature is enabled when the long-press context menu is shown for an
    image.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.LensWebImageProcessTime" units="ms"
    expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the time it takes to process an image before sending it to Lens.
    Recorded when Lens is used from any entry point.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.LensWebUploadStatus"
    enum="IOSLensWebUploadStatus" expires_after="2023-06-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The status of the upload of image data to Lens. Recorded only when the Lens
    feature is triggered via the context menu entry from an image long-press.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.LensWebUploadTime" units="ms"
    expires_after="2023-06-28">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the time it takes to upload image data to the Lens Web servers.
    Recorded only when the Lens feature is triggered via the context menu entry
    from an image long-press.
  </summary>
</histogram>

<histogram name="Mobile.ContextMenu.{EntryPoint}.Actions" enum="IOSMenuAction"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks which action was selected in the context menu shown for a
    {EntryPoint}. To view how often this context menu was shown, take a look at
    this other histogram: Mobile.ContextMenu.EntryPoints. Currently only on iOS.
  </summary>
  <token key="EntryPoint">
    <variant name="AutofillManualFallbackAddressEntry"
        summary="Autofill manual fallback address entry"/>
    <variant name="AutofillManualFallbackAllPasswordsEntry"
        summary="Autofill manual fallback all passwords entry"/>
    <variant name="AutofillManualFallbackPasswordEntry"
        summary="Autofill manual fallback password entry"/>
    <variant name="AutofillManualFallbackPaymentEntry"
        summary="Autofill manual fallback payment entry"/>
    <variant name="BookmarkEntry" summary="Bookmark entry"/>
    <variant name="BookmarkFolder" summary="Bookmark folder"/>
    <variant name="HistoryEntry" summary="History entry"/>
    <variant name="InactiveTabsEntry" summary="Inactive Tabs entry"/>
    <variant name="MostVisitedEntry" summary="Most Visited entry"/>
    <variant name="OmniboxMostVisitedEntry"
        summary="Omnibox Most Visited entry"/>
    <variant name="PinnedTabsEntry" summary="Pinned Tabs entry"/>
    <variant name="ReadingListEntry" summary="Reading List entry"/>
    <variant name="RecentTabsEntry" summary="Recent Tabs entry"/>
    <variant name="RecentTabsHeader" summary="Recent Tabs header/device"/>
    <variant name="SelectDriveIdentityEntry"
        summary="Select Drive Identity Entry"/>
    <variant name="SortDriveItemsEntry" summary="Sort Drive Items Entry"/>
    <variant name="TabGrid" summary="Tab Grid Entry"/>
    <variant name="TabGridAddTo" summary="Tab Grid Add To"/>
    <variant name="TabGridEdit" summary="Tab Grid Edit"/>
    <variant name="TabGridSearchResult" summary="Tab Grid Search Result"/>
    <variant name="TabGroupEntry" summary="Tab group view entry"/>
    <variant name="TabGroupsPanelEntry" summary="Tab group panel entry"/>
    <variant name="TabGroupViewEntry"
        summary="Tab group view entry in tab grid"/>
    <variant name="TabStrip" summary="Tab Strip tab"/>
    <variant name="Toolbar" summary="Menu from a toolbar button"/>
    <variant name="WebImage" summary="Image on a Web page"/>
    <variant name="WebImageLink" summary="Image-Link on a Web page"/>
    <variant name="WebLink" summary="Link on a Web page"/>
  </token>
</histogram>

<histogram base="true" name="Mobile.DefaultBrowser.BrowserCount" units="units"
    expires_after="never">
<!-- Name completed by histogram_suffixes name="Mobile.DefaultBrowser.Type" -->

<!-- expires-never: Used to keep track of Android browser ecosystem. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The number of browsers installed on the device. Logged when a new
    session is started.
  </summary>
</histogram>

<histogram name="Mobile.DefaultBrowser.State" enum="MobileDefaultBrowserState"
    expires_after="never">
<!-- expires-never: Used to keep track of Android browser ecosystem. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Whether or not the device has a default browser and whether or not
    it is a part of the original system image. Logged when a new session is
    started.

    This can be subtly misleading. Read the information below!

    Some manufacturers have their initial setup program configured to install
    apps rather than have the apps come pre-installed as part of the system
    image. These apps that are installed during the initial setup will not be
    counted as coming pre-installed in the system image. For example, on a
    Samsung Galaxy Tab S7 used for testing, after a factory reset you get to
    choose whether you want to install Samsung Internet Browser or not. If you
    say yes and choose it, Samsung Internet Browser will be marked as not part
    the system image.

    Also, manufacturers may change how they set up devices over time. A
    manufacturer can go from shipping a browser app as part of the system image
    to downloading it during the initial setup. As a result, these metrics can
    change over time even if the user preferences did not.

    Consequently, browsers that are marked as &quot;not part of the system
    image&quot; does not mean the user had to go out of their way to install
    those apps. It also means that decisions made by manufacturers (when an app
    gets installed)--not users--may affect the balance between &quot;in original
    system image&quot; and &quot;not in original system image&quot;.
  </summary>
</histogram>

<histogram base="true" name="Mobile.DefaultBrowser.SystemBrowserCount"
    units="units" expires_after="never">
<!-- Name completed by histogram_suffixes
    name="Mobile.DefaultBrowser.SystemDefaultBrowser.Type" -->

<!-- expires-never: Used to keep track of Android browser ecosystem. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The number of system installed browsers. Logged when a new session
    is started.
  </summary>
</histogram>

<histogram name="Mobile.Keyboard.LensSupportStatus" enum="IOSLensSupportStatus"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not Lens is supported in the Omnibox keyboard accessory view
    (shown above the number keys upon focusing the omnibox for edit), and if
    not, the reason why. Recorded each time the Omnibox keyboard is opened.
  </summary>
</histogram>

<histogram name="Mobile.Messages.Badge.Tapped.{MobileInfobarType}"
    enum="MobileMessagesBadgeState" expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the state of a badge when it was tapped. {MobileInfobarType}
  </summary>
  <token key="MobileInfobarType" variants="MobileInfobarType"/>
</histogram>

<histogram name="Mobile.Messages.Banner.Dismiss.{MobileInfobarType}"
    enum="MobileMessagesBannerDismissType" expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the reason why an infobar banner was dismissed. {MobileInfobarType}
  </summary>
  <token key="MobileInfobarType" variants="MobileInfobarType"/>
</histogram>

<histogram name="Mobile.Messages.Banner.Event.{MobileInfobarType}"
    enum="MobileMessagesBannerEvent" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records infobar banner events. {MobileInfobarType}</summary>
  <token key="MobileInfobarType" variants="MobileInfobarType"/>
</histogram>

<histogram name="Mobile.Messages.Banner.OnScreenTime" units="ms"
    expires_after="2025-02-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the time an Infobar (Messages) Banner is visible on screen. Used to
    know how long it takes a user to act on the banner before it gets
    auto-dismissed.
  </summary>
</histogram>

<histogram name="Mobile.Messages.ConcurrentPresented" units="infobars"
    expires_after="2022-07-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks the number of multiple Infobars being presented at the same time.
    This will be recorded everytime an Infobar is presented.
  </summary>
</histogram>

<histogram base="true" name="Mobile.Messages.Confirm.Accept.Time" units="ms"
    expires_after="2025-04-06">
<!-- Name completed by histogram_suffixes name="Mobile.Messages.Confirm.Type" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the time between the Infobar Delegate is created, and the user
    accepts a Confirm Infobar action.
  </summary>
</histogram>

<histogram base="true" name="Mobile.Messages.Confirm.Event"
    enum="MobileMessagesConfirmInfobarEvents" expires_after="2025-06-16">
<!-- Name completed by histogram_suffixes name="Mobile.Messages.Confirm.Type" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the events related to Confirm Infobars (e.g. Presented, Accepted,
    Dismissed,etc.)
  </summary>
</histogram>

<histogram name="Mobile.Messages.Modal.Event.{MobileInfobarType}"
    enum="MobileMessagesModalEvent" expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records generic infobar modal events. {MobileInfobarType}</summary>
  <token key="MobileInfobarType" variants="MobileInfobarType"/>
</histogram>

<histogram base="true" name="Mobile.Messages.OverflowRow.Tapped"
    enum="MobileMessagesInfobarType" expires_after="2024-06-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records a tap on an Infobar overflow menu row.</summary>
</histogram>

<histogram base="true" name="Mobile.Messages.Passwords.Modal.Dismiss"
    enum="MobileMessagesPasswordsModalDismiss" expires_after="2025-01-05">
<!-- Name completed by histogram_suffixes name="Mobile.Messages.Password.Type" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the reason why a Password Modal was dismissed.</summary>
</histogram>

<histogram base="true" name="Mobile.Messages.Passwords.Modal.Event"
    enum="MobileMessagesPasswordsModalEvent" expires_after="2024-09-29">
<!-- Name completed by histogram_suffixes name="Mobile.Messages.Password.Type" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records Password specific Infobar Modal events.</summary>
</histogram>

<histogram base="true" name="Mobile.Messages.Passwords.Modal.Present"
    enum="MobileMessagesPasswordsModalPresent" expires_after="2025-06-20">
<!-- Name completed by histogram_suffixes name="Mobile.Messages.Password.Type" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the context when a Password Modal was presented.</summary>
</histogram>

<histogram name="Mobile.Messages.Save.Card.Modal.Event"
    enum="MobileMessagesSaveCardModalEvent" expires_after="2023-10-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records Save Card specific Infobar Modal events.</summary>
</histogram>

<histogram name="Mobile.Messages.Translate.Banner.Event"
    enum="MobileMessagesTranslateBannerEvent" expires_after="2025-06-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the context when an iOS user taps on a Translate Banner Action
    Button.
  </summary>
</histogram>

<histogram name="Mobile.Messages.Translate.Modal.Event"
    enum="MobileMessagesTranslateModalEvent" expires_after="2025-01-28">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records when an iOS user initiates an Translate specific Infobar Modal
    event.
  </summary>
</histogram>

<histogram name="Mobile.Messages.Translate.Modal.Present"
    enum="MobileMessagesTranslateModalPresent" expires_after="2025-06-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the context when an iOS user initiates a Translate Modal
    presentation.
  </summary>
</histogram>

<histogram name="Mobile.NewTabPage.LensSupportStatus"
    enum="IOSLensSupportStatus" expires_after="2024-07-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not Lens is supported in the new tab page, and if not, the reason
    why. Recorded when a new tab is created. Subsequent navigations to an
    existing new tab page will not log the event.
  </summary>
</histogram>

<histogram name="Mobile.PlusButton.LensSupportStatus"
    enum="IOSLensSupportStatus" expires_after="2024-07-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not Lens is supported in the new tab opener &quot;plus&quot;
    button long press menu, and if not, the reason why. Recorded when the user
    long presses the new tab opener &quot;plus&quot; button.
  </summary>
</histogram>

<histogram name="Mobile.RecentTabsManager.TotalTabsFromOtherDevicesOpenAll"
    units="count" expires_after="2024-09-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the total number of tabs opened when Open all was selected from
    other devices in Recent Tabs, iOS only. Warning: this histogram expired
    between 2023-04-19 and M119.
  </summary>
</histogram>

<histogram name="Mobile.Share.EntryPoints" enum="IOSActivityScenario"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <improvement direction="HIGHER_IS_BETTER"/>
  <summary>
    Tracks which sharing entry point was triggered. To view the outcome of these
    sharing scenarios, take a look at their actions' histogram (the format is
    Mobile.Share.*.Actions). Currently only on iOS.
  </summary>
</histogram>

<histogram name="Mobile.Share.{EntryPoint}.Actions" enum="IOSShareAction"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Tracks the sharing actions executed when the sharing scenario was initiated
    for a {EntryPoint}. To view how often this sharing scenario was triggered,
    take a look at: Mobile.Share.EntryPoints. Currently only on iOS. Expired
    between 2023-05-06 and 2023-07-07.
  </summary>
  <token key="EntryPoint">
    <variant name="BookmarkEntry" summary="Bookmark entry"/>
    <variant name="HistoryEntry" summary="History entry"/>
    <variant name="MostVisitedEntry" summary="Most Visited entry"/>
    <variant name="OmniboxMostVisitedEntry"
        summary="Omnibox Most Visited entry"/>
    <variant name="QRCodeImage" summary="QR code image"/>
    <variant name="ReadingListEntry" summary="Reading List entry"/>
    <variant name="RecentTabsEntry" summary="Recent Tabs entry"/>
    <variant name="ShareChrome" summary="link to Chrome in the app store"/>
    <variant name="SharedHighlight" summary="highlighted fragment"/>
    <variant name="ShareInContextMenu" summary="share in context menu"/>
    <variant name="TabGridItem" summary="tab grid item"/>
    <variant name="TabGridSelectionMode" summary="tab grid selection mode"/>
    <variant name="TabShareButton" summary="current tab"/>
    <variant name="TabStripItem" summary="tab strip item"/>
  </token>
</histogram>

<histogram name="Mobile.Spotlight.LensSupportStatus"
    enum="IOSLensSupportStatus" expires_after="2024-07-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether or not Lens is supported in iOS spotlight search, and if not, the
    reason why. Recorded once when the spotlight actions are populated, which
    happens after app startup.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Action.Click"
    enum="SystemNotificationActionType" expires_after="never">
<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Records which Android notifications users interact with. Recorded when an
    user taps the button in a notification, for any Chrome-generated
    notification on Android that includes a button tap-target.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Action.Click.Age" units="minutes"
    expires_after="never">
<!-- Name completed by histogram_suffixes
       name="SystemNotificationAgeType" -->

<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Records the duration in minutes from the time when the system notification
    is shown to the time that the user clicked on an action button on the
    Android notification.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Blocked"
    enum="SystemNotificationType" expires_after="never">
<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Android: Represents the number of system notifications that were blocked and
    could not be shown by type.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.BlockedAfterShown"
    enum="SystemNotificationType" expires_after="never">
<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Android: Represents the type of notification that was last shown before the
    user disabled notification permissions on Chrome. This is only logged the
    first time we attempt to show a notification and fail.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.ChannelBlocked"
    enum="SystemNotificationType" expires_after="never">
<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Android: Represents the number of system notifications by type that we
    attempted to show but were blocked, due to their notification channel being
    blocked. Only applies to devices on Android O and above.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Content.Click"
    enum="SystemNotificationType" expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the type of notification when the user clicks the body of Android
    notification. This does not include clicks on notification action buttons.

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

<histogram name="Mobile.SystemNotification.Content.Click.Age" units="minutes"
    expires_after="never">
<!-- Name completed by histogram_suffixes
       name="SystemNotificationAgeType" -->

<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Records the duration in minutes from the time when the system notification
    is shown to the time that the user clicked the notification on Android.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Dismiss"
    enum="SystemNotificationType" expires_after="never">
<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Records the type of notification when the user dismisses the Android
    notification.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Dismiss.Age" units="minutes"
    expires_after="never">
<!-- Name completed by histogram_suffixes
       name="SystemNotificationAgeType" -->

<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Records the duration in minutes from the time when the system notification
    is shown to the time that the user dismissed the notification on Android.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Permission.Change"
    enum="BooleanEnabled" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the notification permission state every time Android notifies Chrome
    of a change, this includes when granting access via the OS prompt and
    granting/blocking access via the OS settings.
  </summary>
</histogram>

<histogram
    name="Mobile.SystemNotification.Permission.OneTapUnsubscribe.DuplicatePreUnsubscribeRealDelay"
    units="ms" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded for each `PRE_UNSUBSCRIBE` intent that is identified as a
    duplicate; and measures the time elapsed starting when the most recent
    non-duplicate `PRE_UNSUBSCRIBE` intent was dispatched and stopping when this
    duplicate intent is dispatched.

    Measure time as `elapsedRealtime`, which includes time spent in power-saving
    modes and/or display being dark, to approximate delays as perceived by the
    user.
  </summary>
</histogram>

<histogram
    name="Mobile.SystemNotification.Permission.OneTapUnsubscribe.IsDuplicatePreUnsubscribe"
    enum="Boolean" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <summary>
    Records whether the origin was already in the provisionally unsubscribed
    state when a tap on the `PRE_UNSUBSCRIBE` action button was processed. This
    can happen in case the native startup takes a long time and the user hits
    the button twice while waiting.
  </summary>
</histogram>

<histogram
    name="Mobile.SystemNotification.Permission.OneTapUnsubscribe.PreUnsubscribePreNativeDuration"
    units="ms" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records how long the pre-native processing for the `PRE_UNSUBSCRIBE` action
    button intent took. The clocks starts when the broadcast receiver
    syncronously calls into `onNotificationPreUnsubcribe`; and ends when the
    posted task to show the `provisionally unsubscribed` notification and
    suspend all other notifications is completed. Only recorded for each
    non-duplicate tap on the `PRE_UNSUBSCRIBE` action.

    Measures time as `uptimeMillis`, which stops the clock when in power-saving
    modes and/or display being dark.
  </summary>
</histogram>

<histogram
    name="Mobile.SystemNotification.Permission.OneTapUnsubscribe.PreUnsubscribePreNativeRealDuration"
    units="ms" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records how long the pre-native processing for the `PRE_UNSUBSCRIBE` action
    button intent took. The clocks starts when the broadcast receiver
    syncronously calls into `onNotificationPreUnsubcribe`; and ends when the
    posted task to show the `provisionally unsubscribed` notification and
    suspend all other notifications is completed. Only recorded for each
    non-duplicate tap on the `PRE_UNSUBSCRIBE` action.

    Measures time as `elapsedRealtime`, which includes time spent in
    power-saving modes and/or display being dark.
  </summary>
</histogram>

<histogram
    name="Mobile.SystemNotification.Permission.OneTapUnsubscribe.SuspendedNotificationCount"
    units="notifications" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <summary>
    Records the number of notifications that were suspended, each time the user
    hits the `PRE_UNSUBSCRIBE` action button. The count includes the clicked
    notification.
  </summary>
</histogram>

<histogram
    name="Mobile.SystemNotification.Permission.OneTapUnsubscribe.WasGlobalStatePreserved.{ForAction}"
    enum="Boolean" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <summary>
    Records whether the Java global state was preserved between the
    `PRE_UNSUBSCRIBE` action, and the `COMMIT_UNSUBSCRIBE_*` or
    `UNDO_UNSUBSCRIBE` actions.
  </summary>
  <token key="ForAction">
    <variant name="Commit"
        summary="Measure at the time a commit action is performed."/>
    <variant name="Undo"
        summary="Measure at the time an undo action is performed."/>
  </token>
</histogram>

<histogram name="Mobile.SystemNotification.Permission.OSPromptResult"
    enum="BooleanEnabled" expires_after="2024-07-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the action taken by the user after being shown the OS prompt to
    grant notification permissions. Only recorded on Android T+.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Permission.RationaleResult"
    enum="NotificationRationaleResult" expires_after="2024-07-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the action taken by the user after being shown the notification
    rationale prompt. Only recorded on Android T+.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Permission.StartupRequestCount"
    units="attempts" expires_after="2024-07-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records how many times we've shown the user any notification permission UI
    (either rationale and/or OS prompt) on startup. Recorded every time we are
    about to show any UI. Only recorded on Android T+.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Permission.StartupState"
    enum="NotificationPermissionState" expires_after="2023-12-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the current state of the notification permission and if disabled the
    reason. Recorded on startup before any permission prompts are shown. Only
    recorded on Android T+.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Shown" enum="SystemNotificationType"
    expires_after="never">
<!-- expires-never: Core Android notification metrics. Used by multiple teams. -->

  <owner>[email protected]</owner>
  <summary>
    Android: Represents the number of system notifications that will be
    successfully shown to the user by type.
  </summary>
</histogram>

<histogram name="Mobile.Translate.Unused.Count" units="units"
    expires_after="2023-07-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records a histogram for an infobar (both legacy and Messages) that the user
    did not interact with throughout its lifetime.
  </summary>
</histogram>

<histogram name="MobileDownload.DownloadLaterPromptStatus"
    enum="DownloadLaterPromptStatus" expires_after="2023-02-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Records whether download later dialog will be shown to the user.
    Recorded when the download later preference is initialized in native.
  </summary>
</histogram>

<histogram name="MobileDownload.DownloadPromptStatus"
    enum="DownloadPromptStatus" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Records whether download dialog will be shown to the user. Recorded
    when the download preference is initialized in native.
  </summary>
</histogram>

<histogram name="MobileDownload.Location.Dialog.DirectoryType"
    enum="DownloadLocationDirectoryType" expires_after="2022-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the directory type when the user selects the download directory
    through download location dialog. May be recorded even when the user didn't
    download anything.
  </summary>
</histogram>

<histogram name="MobileDownload.Location.Dialog.Result"
    enum="DownloadLocationDialogResult" expires_after="2022-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records whether the user accepted or dismissed the dialog to select a
    download location.
  </summary>
</histogram>

<histogram name="MobileDownload.Location.Dialog.Suggestion.Events"
    enum="DownloadLocationSuggestionEvent" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the download location suggestion event.</summary>
</histogram>

<histogram name="MobileDownload.Location.Dialog.SuggestionSelected"
    enum="BooleanSelected" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the download location suggestion choice.</summary>
</histogram>

<histogram name="MobileDownload.Location.Dialog.Type"
    enum="DownloadLocationDialogType" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the download location dialog type when the dialog is shown to the
    user.
  </summary>
</histogram>

<histogram name="MobileDownload.Location.DirectoryType"
    enum="DownloadLocationDirectoryType" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the directory type shown when a user opens download location dialog
    or download location setting. This is recorded when the directory provider
    generates a list of available directories.
  </summary>
</histogram>

<histogram name="MobileDownload.Location.Download.DirectoryType"
    enum="DownloadLocationDirectoryType" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Records the directory type when download is completed.</summary>
</histogram>

<histogram name="MobileDownload.Location.Setting.DirectoryType"
    enum="DownloadLocationDirectoryType" expires_after="2023-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the directory type when the user selects the download directory
    through download preference. May be recorded even when the user didn't
    download anything.
  </summary>
</histogram>

<histogram
    name="MobileFre.CctTos.EnterprisePolicyCheckSpeed2{MobileFreInflationSpeedComparison}"
    units="ms" expires_after="2022-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Records the time it takes from ToS fragment attached to the
    activity to the enterprise policy check completing. This check is often
    skipped when its result becomes irrelevant.
    {MobileFreInflationSpeedComparison}
  </summary>
  <token key="MobileFreInflationSpeedComparison"
      variants="MobileFreInflationSpeedComparison"/>
</histogram>

<histogram
    name="MobileFre.CctTos.IsDeviceOwnedCheckSpeed2{MobileFreInflationSpeedComparison}"
    units="ms" expires_after="2022-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Records the time it takes from ToS fragment attached to the
    activity to the device ownership check completing.
    {MobileFreInflationSpeedComparison}
  </summary>
  <token key="MobileFreInflationSpeedComparison"
      variants="MobileFreInflationSpeedComparison"/>
</histogram>

<histogram name="MobileFre.CctTos.LoadingDuration" units="ms"
    expires_after="2022-05-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Records how long it takes to load the enterprise CCT/ToS fragment.
  </summary>
</histogram>

<histogram name="MobileFre.ChildAccountStatusDuration" units="ms"
    expires_after="2023-11-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The amount of time spent fetching child account status during the
    FRE. Not applicable for light weight FRE.
  </summary>
</histogram>

<histogram base="true" name="MobileFre.FragmentInflationSpeed" units="ms"
    expires_after="2023-06-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Enterprise FRE cannot fully show the first page until the
    appRestrictions call returns. This suffixed histogram measures when fragment
    inflation was slower or faster than the appRestrictions call, and wether the
    UI had to wait. Note this is recorded for all clients, not just enterprise.
    Not applicable for light weight FRE.
  </summary>
</histogram>

<histogram name="MobileFre.FromLaunch.{Target}" units="ms"
    expires_after="2025-02-23">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The amount of time between when the FRE intent was initially constructed and
    when {Target}. Not emitted for the light-weight FRE. Android chrome only.
  </summary>
  <token key="Target">
    <variant name="ActivityInflated"
        summary="the activity is ready to be drawn, although likely empty"/>
    <variant name="ChildStatusAvailable"
        summary="the child account status is loaded"/>
    <variant name="FirstFragmentInflatedV2"
        summary="the first fragment is ready to be drawn, the first
                 meaningful paint. Version V2 fixed an issue that previous
                 data was not recording the time duration from FRE launched"/>
    <variant name="FreCompleted" summary="the entire FRE is completed"/>
    <variant name="NativeInitialized" summary="the native code is initialized"/>
    <variant name="NativePolicyAndChildStatusLoaded"
        summary="the native code, policies and child account status are
                 loaded"/>
    <variant name="PoliciesLoaded" summary="policies are loaded"/>
    <variant name="TosAccepted" summary="the ToS is accepted"/>
    <variant name="TriggerLayoutInflation"
        summary="layout inflation is triggered"/>
  </token>
</histogram>

<histogram name="MobileFre.NativeInitialized" units="ms"
    expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The amount of time spent between FRE started and native
    initialization. Recorded when native is fully initialized.
  </summary>
</histogram>

<histogram name="MobileFre.Progress" enum="MobileFreProgress"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Records which states of the &quot;first run experience&quot; have
    been reached. Each bucket represents a state and recorded everytime the
    state changed. Pages can be double counted if the user goes backwards in the
    flow.
  </summary>
</histogram>

<histogram name="MobileFre.SignInChoice" enum="MobileFreSignInChoice"
    expires_after="M82">
  <owner>[email protected]</owner>
  <summary>
    Android: How the user left the sign-in part of the &quot;first run
    experience&quot; activity (M-38+).
  </summary>
</histogram>

<histogram name="MobileFre.SlowestLoadPoint" enum="LoadPoint"
    expires_after="2025-03-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Slowest loading point among native, policy and child account status in the
    signin mobile FRE. Not emitted for the light-weight FRE. Android chrome
    only.
  </summary>
</histogram>

<histogram name="MobileFre.TosFragment.SpinnerVisibleDuration" units="ms"
    expires_after="2022-02-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The amount of time that the small spinner, which become visible
    after the ToS is accepted, is showing on screen.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.DurationAfterPotraitRotation" units="ms"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records the duration that a fullscreen video is played after device
    rotates from portrait to landscape mode for the first time, and before it
    exits fullscreen. If there is no device rotation or if the video starts with
    landscape mode, it is not recorded. If there are mutiple rotations between
    portrait and landscape mode, only one record is emitted and it is equal to
    the time period from the first rotation to the moment when the video exits
    fullscreen.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.LandscapeDuration" units="ms"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records the duration that a fullscreen video is played in landscape
    mode. If a video starts playing in landscape mode, and then it is switched
    back and forth between landscape and portrait mode, only the time period
    before the first switch is accounted. If a video starts playing in portrait
    mode, it is not recorded.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.LandscapeRotation" enum="BooleanEnabled"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records whether a fullscreen video is switched from landscape to
    portrait mode at any point during playback.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.OrientationPortrait"
    enum="BooleanEnabled" expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records the device orientation when a video enters fullscreen. The
    value is true if device orientation is portrait, or false otherwise. The
    video doesn't necessarily needs to be in a playing state.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.PortraitDuration" units="ms"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records the duration that a fullscreen video is played in portrait
    mode. If a video starts playing in portrait mode, and then it is switched
    back and forth between landscape and portrait mode, only the time period
    before the first switch is accounted. If a video starts playing in landscape
    mode, it is not recorded.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.PortraitRotation" enum="BooleanEnabled"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records whether a fullscreen video is switched from portrait to
    landscape mode at any point during playback.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.VideoPortrait" enum="BooleanEnabled"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Android: Records whether a video has a larger height than width when it
    enters the fullscreen mode.
  </summary>
</histogram>

<histogram name="MobileIntent.PageLoadDueToExternalApp" enum="ClientAppId"
    expires_after="never">
<!-- expires-never: Navigation (external-apps) heartbeat metric for Android. -->

  <owner>[email protected]</owner>
  <summary>
    Android: Count of page loads started by intents from external apps. In M87
    the reporting of this histogram was updated to exclude intents sent from
    Chrome itself.
  </summary>
</histogram>

<histogram name="MobileOmnibox.LongPressPasteAge" units="ms"
    expires_after="2021-04-18">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded when user long presses and pastes clipboard content into omnibox.
    The value indicates the estimated age of the clipboard.

    Intended to be compared to Omnibox.ClipboardSuggestionShownAge.
  </summary>
</histogram>

<histogram name="MobileOmnibox.PopupOpenDuration" units="ms"
    expires_after="2022-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Recorded when the omnibox popup is closed. Indicates the duration it was
    open.
  </summary>
</histogram>

<histogram name="MobileOmnibox.PressedClipboardSuggestionAge" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When a user presses an omnibox suggestion based on the content of the
    clipboard, this histograms records how long ago Chrome detected a change in
    the clipboard.

    Intended to be compared to Omnibox.ClipboardSuggestionShownAge.

    If Chrome never detected a change to the clipboard, no clipboard suggestion
    is shown, meaning this histogram will never be emitted to.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.BookmarkManager.ImpressionsTilDismiss"
    units="impressions" expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times the signin promo is implicitly dismissed (by closing
    the bookmark manager) per impression.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.BookmarkManager.ImpressionsTilSigninButtons"
    units="impressions" expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times one of the &quot;sign in&quot; buttons (any of the
    signed-out &quot;Sign in to Chrome&quot; button, the &quot;Continue as
    |name|&quot; button, or the &quot;Not |email|?&quot; button) is clicked per
    impression.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.BookmarkManager.ImpressionsTilXButton"
    units="impressions" expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times the explicit &quot;X&quot;-to-close button is clicked
    per impression.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.NTPFeedTop.ImpressionsTilDismiss"
    units="impressions" expires_after="2024-09-15">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times the signin promo is implicitly dismissed (by leaving
    the NTP) per impression of the NTP feed top section sign in promo.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.NTPFeedTop.ImpressionsTilSigninButtons"
    units="impressions" expires_after="2023-06-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times one of the &quot;sign in&quot; buttons (any of the
    signed-out &quot;Sign in to Chrome&quot; button, the &quot;Continue as
    |name|&quot; button, or the &quot;Not |email|?&quot; button) is clicked per
    impression of the NTP feed top section sign in promo.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.NTPFeedTop.ImpressionsTilXButton"
    units="impressions" expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times the explicit &quot;X&quot;-to-close button is clicked
    per impression of the NTP feed top section sign in promo.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.ReadingList.ImpressionsTilDismiss"
    units="impressions" expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times the signin promo is implicitly dismissed (by closing
    the reading list) per impression. Recorded when the sign-in promo is removed
    from the reading list view without being used. If the promo is removed by
    user authentication (eg. sign-in from another view), the histogram is not
    recorded.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.ReadingList.ImpressionsTilSigninButtons"
    units="impressions" expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times one of the &quot;sign in&quot; buttons (any of the
    signed-out &quot;Sign in to Chrome&quot; button, the &quot;Continue as
    |name|&quot; button, or the &quot;Not |email|?&quot; button) is clicked per
    impression in the reading list. Recorded when one of those buttons from the
    reading list sign-in promo is clicked.
  </summary>
</histogram>

<histogram name="MobileSignInPromo.ReadingList.ImpressionsTilXButton"
    units="impressions" expires_after="2025-04-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Counts how many times the explicit &quot;X&quot;-to-close button is clicked
    per impression in the reading list. Recorded when the &quot;X&quot;-to-close
    button from the reading list sign-in promo is clicked.
  </summary>
</histogram>

<histogram name="MobileStartup.DailyLaunchCount" units="units"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android only.

    The number of times the tabbed mode of Chrome is launched within a given 24
    hour window. Recall that custom tabs is not considered tabbed mode. A
    &quot;launch&quot; here is defined as anytime the tabbed mode is made
    visible (foregrounded), but all Chrome activities must be completely hidden
    before we'll count an additional launch. It includes all kinds of intents,
    such as MAIN and VIEW. By ensuring all Chrome activities are hidden, we
    avoid overcounting by going to Settings and returning to Chrome.

    This launch definition includes some items one might not expect: (i) click a
    link in Chrome that opens in another app, then click back. (ii) have Chrome
    in the foreground, then the screen times out (goes blank) or engages the
    lock screen, then wake up/unlock the device. (iii) switch to
    &quot;Recents&quot;, then re-select Chrome. In all these cases, Chrome has
    gone to the background so returning to it counts as another launch.

    The value reported reflects activity over a 24-hour window in the past,
    possibly the distant past. Reporting is controlled by storing an initial
    launch timestamp and counting all &quot;launches&quot; as a count until a
    new launch happens after the 24hr window has elapsed (at this point, a new
    24hr window is started). The count is reported at the start of the next 24hr
    window, so this is a retroactive count. For example, if a user uses Chrome
    in one day two months ago, then doesn't use Chrome at all, then when Chrome
    launches today it'll report the value during that 24-hour window.
  </summary>
</histogram>

<histogram name="MobileStartup.IntentToCreationTime" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The time it takes from creating an intent for ChromeActivity to
    activity creation. This includes activity creation time spent in the
    framework.
  </summary>
</histogram>

<histogram name="MobileStartup.LaunchCause" enum="LaunchCause"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records what caused Chrome to be launched.

    Recorded for all types of ChromeActivity, in all cases where Chrome becomes
    visible to the user, or intentionally transitions between Chrome Activities.
  </summary>
</histogram>

<histogram base="true" name="MobileStartup.ToolbarInflationTime" units="ms"
    expires_after="2023-12-28">
  <owner>[email protected]</owner>
  <summary>
    Android: The time spent performing toolbar layout inflation.
  </summary>
</histogram>

</histograms>

</histogram-configuration>