blob: bdf4d26969c10aa482da1b6a912ad9165674d974 [file] [log] [blame]
<!--
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 CustomTabs histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
chromium-metrics-reviews@google.com.
-->
<histogram-configuration>
<histograms>
<histogram base="true" name="CustomTab.SessionDuration" units="ms"
expires_after="2020-10-18">
<owner>ranj@chromium.org</owner>
<owner>yfriedman@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="CustomTabOpenSource" -->
<summary>
Records the time duration in CustomTab Activity from onStart/onResume to
onStop/onPause, if that activity is opened by Webapp/WebApk/Trusted Web
Activity.
</summary>
</histogram>
<histogram name="CustomTabs.AutoclosedSessionDuration" units="ms"
expires_after="2023-08-20">
<owner>jinsukkim@chromium.org</owner>
<owner>twellington@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Android: Duration in milliseconds of a custom tab session (between onResume
and onPause). This is logged for the sessions closed automatically without
user intervention. Sessions closed by user input (back press/close button)
will not be logged.
Note that there can be user inputs that go undetected by the logic. So the
histogram can contain false positives i.e. session closed by user but
regarded as auto-closed.
</summary>
</histogram>
<histogram name="CustomTabs.Branding.BrandingCheckCanceled"
enum="BooleanCanceled" expires_after="2023-10-22">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
For every CCT launch, Chrome will start an async task in the background
checking the last time branding is shown for the client app. Record whether
such branding check is canceled due to timeout when it is finished. Record
for Android CCT only.
</summary>
</histogram>
<histogram name="CustomTabs.Branding.BrandingCheckDuration" units="ms"
expires_after="2023-10-22">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
For every CCT launch, Chrome will start an async task in the background
checking the last time branding is shown for the client app. Record the
duration of this background async task when it completes, regardless whether
it is canceled. Record for Android CCT only.
</summary>
</histogram>
<histogram name="CustomTabs.Branding.BrandingDecision"
enum="CustomTabsBrandingDecision" expires_after="2023-10-22">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
For every CCT launch, Chrome will start an async task in the background
checking the last time branding is shown for the client app. When such task
completed, a branding decision will be made based on the last time branding
was shown, and the task completion time. (e.g. show a &quot;chrome logo +
text&quot; combination on the toolbar). See go/clank-cct-branding-dd for
detail.
Record what branding decision will be used for the current CCT session when
the branding check is finished or canceled. Record for Android CCT only.
</summary>
</histogram>
<histogram name="CustomTabs.Branding.IsPackageNameValid" enum="BooleanValid"
expires_after="2023-10-22">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
For every CCT launch, Chrome will start an async task in the background
checking the last time branding is shown for the client app. Recorded
whether the package name of CCT client app can be found on device when the
async task is finished. Record for Android CCT only.
If the client app is using CCT service connection, the client app package
name will be read from CCT service; otherwise the package name will be
parsed from the Activity#getReferrer of CustomTabsActivity.
</summary>
</histogram>
<histogram name="CustomTabs.Branding.NumberOfClients" units="count"
expires_after="2023-10-22">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
For every CCT launch, Chrome will start an async task in the background
checking the last time branding is shown for the client app. Records the
number of package names of CCT client apps that had the branding shown after
each CCT launched. Record after the branding decision is made, on Android
CCT only.
</summary>
</histogram>
<histogram name="CustomTabs.ClientAppId" enum="ClientAppId"
expires_after="2023-10-08">
<owner>yusufo@chromium.org</owner>
<summary>
Android: AppId declared by the launching application in EXTRA_APPLICATION_ID
in a custom tab. This histogram is used as a means to count the total
instances of custom tabs created meanwhile binning them across launching
apps that have identified themselves. Starting with M84 this is is also
recorded for webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.ClientAppId.Incognito" enum="ClientAppId"
expires_after="M114">
<owner>roagarwal@chromium.org</owner>
<owner>chrome-incognito@google.com</owner>
<owner>cct-team@google.com</owner>
<summary>
Android: This histogram is used as a means to count the total instances of
Incognito custom tabs created meanwhile binning them across launching first
party apps.
The launching first party apps are inferred by the package name they
provided when creating a custom tab connection and if we can't infer via
package name then as a fallback we rely on them declaring
EXTRA_APPLICATION_ID when launching Incognito custom tabs. If both fails,
then the launch is recorded in the Others entry.
This metric is never recorded for 3P apps.
</summary>
</histogram>
<histogram name="CustomTabs.CloseButton.ChildTab.ScopeAlgorithm.ClosesOneTab"
enum="BooleanCloseJustCurrentTab" expires_after="M114">
<owner>peconn@chromium.org</owner>
<owner>
src/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OWNERS
</owner>
<summary>
Records whether the CustomTab/TrustedWebActivity &quot;navigate to landing
page&quot; algorithm for child tabs - e.g. tabs opened via window.open() -
produces the same behaviour (closes the current tab) as the webapp
&quot;close current tab&quot; algorithm. Recorded when the user clicks the
CustomTab/TrustedWebActivity close button on a child tab. Starting with M84
this is is also recorded for webapps/WebAPKs. Filter the platform for just
CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.CloseCause" enum="CustomTabsCloseCause"
expires_after="2023-10-22">
<owner>jinsukkim@chromium.org</owner>
<owner>twellington@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Android: The reason a custom tab is closed. Main interest is whether a
custom tab is triggered by user inputs like back press/close button click,
or it is automatically closed by the app that opened it.
</summary>
</histogram>
<histogram name="CustomTabs.ConnectionStatusOnReturn.GSA"
enum="CustomTabsConnection" expires_after="2023-07-16">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Android: Recorded whenever user closes the custom tab by hitting the close
button or back to return to the caller app. Keeps track of the connection
status and whether the app was using a KeepAlive connection. Recorded only
for AGSA. Starting with M84 this is is also recorded for webapps/WebAPKs.
Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.ConnectionStatusOnReturn.NonGSA"
enum="CustomTabsConnection" expires_after="2023-07-16">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Android: Recorded whenever user closes the custom tab by hitting the close
button or back to return to the caller app. Keeps track of the connection
status and whether the app was using a KeepAlive connection. Recorded for
all apps other than AGSA. Starting with M84 this is is also recorded for
webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram base="true" name="CustomTabs.DetachedResourceRequest.Duration"
units="ms" expires_after="2021-10-17">
<owner>lizeb@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Time between the start of a detached resource request and its completion
(failure or success). Android only. Starting with M84 this is is also
recorded for webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.DetachedResourceRequest.FinalStatus"
enum="NetErrorCodes" expires_after="2023-09-10">
<owner>lizeb@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Reports the final status of the detached request, including success.
Recorded once per detached resource request. Android only. Starting with M84
this is is also recorded for webapps/WebAPKs. Filter the platform for just
CCT/TWA data.
</summary>
</histogram>
<histogram base="true" name="CustomTabs.DetachedResourceRequest.RedirectsCount"
units="redirects" expires_after="M92">
<owner>lizeb@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Number of redirects followed by a detached resource request until success or
failure. Android only. Starting with M84 this is is also recorded for
webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.FeatureUsage" enum="CustomTabsFeatureUsed"
expires_after="2023-09-03">
<owner>donnd@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Records each feature of a Chrome Custom Tab when that feature is used. A
single key feature - &quot;Sessions&quot; - is logged once per CCT Session,
and no other feature enum may be logged more frequently. This provides a
single large list of features and their percentage usage (one or more times
per session) right in the UMA timeline. Recorded during a CCT Session.
Android only.
</summary>
</histogram>
<histogram name="CustomTabs.HadInteractionOnClose" enum="Boolean"
expires_after="2023-06-18">
<obsolete>
Deprecated 2022-12. Replaced by CustomTabs.HadInteractionOnClose.Form and
CustomTabs.HadInteractionOnClose.Navigation
</obsolete>
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Whether current CCT has seen any interactions. &quot;Interactions&quot;
includes any form entries for text / drop down, and whether a tab can go
forward / back when it is closed. Recorded when CCT tab is closed.
</summary>
</histogram>
<histogram name="CustomTabs.HadInteractionOnClose.Form" enum="Boolean"
expires_after="2023-10-22">
<owner>katzz@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
This histogram records true when the current CCT has seen any form
interactions (e.g. text entry, drop down entry) throughout the session and
false if there have been no form interactions at the time of closing the
CCT. If the tab is restored the previous form interactions will be reset.
</summary>
</histogram>
<histogram name="CustomTabs.HadInteractionOnClose.FormStillActive"
enum="Boolean" expires_after="2023-09-17">
<owner>katzz@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
This histogram records true when the current CCT has seen form interaction
(e.g. text entry, drop down entry) on the active page, and false if there
are no interactions in the active form, or if the interaction is reset (e.g.
navigation, form submission) at the time of closing the CCT.
</summary>
</histogram>
<histogram name="CustomTabs.HadInteractionOnClose.Navigation" enum="Boolean"
expires_after="2023-10-22">
<owner>katzz@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
This histogram records true when the current CCT has interactions with the
web contents (e.g. touch, scroll, fling), and the active tab can go back /
forward and false if there have not been web contents interactions or the
tab cannot go back / forward at the time of closing the CCT. If the tab is
restored the previous form interactions will be reset.
</summary>
</histogram>
<histogram name="CustomTabs.ImmersiveModeConfirmationsSettingConfirmed"
enum="Boolean" expires_after="2023-05-14">
<obsolete>
Deprecated 2022-12. No longer needed.
</obsolete>
<owner>kgrosu@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Android only. Recorded during Partial Custom Tab creation, if it has not
already been logged during the existing Chrome session. Returns true if the
value for &quot;immersive_mode_confirmations&quot; from Settings.Secure is
set to &quot;confirmed&quot;, false otherwise.
This is trying to approximate what percentage of Chrome sessions that run
PCCTs have already confirmed the dialog that shows up when an app enters
immersive mode (e.g. when hiding the navigation bar buttons or status bar).
Once the user has tapped on the dialog, it should never be displayed again.
This metric will be used to measure the impact that hiding the navigation
bar buttons would have. In the scenario where we hide the nav bar buttons
only when a PCCT is being resized, this confirmation dialog shows only while
the user is dragging the PCCT window, but disappears as soon as the finger
is lifted from the screen, giving no time for the user to confirm that they
are aware that they entered immersive mode.
</summary>
</histogram>
<histogram name="CustomTabs.IncognitoCCTCallerId" enum="IncognitoCCTCallerId"
expires_after="2023-07-16">
<owner>roagarwal@chromium.org</owner>
<owner>chrome-incognito@google.com</owner>
<owner>cct-team@google.com</owner>
<summary>
This metrics records the caller of Incognito CCTs. For Chrome features, the
feature name is recorded, for external calls, either Google App or
Non-Google App categories are recorded. The metric is recorded when an
Incognito CCT opening intent is received.
</summary>
</histogram>
<histogram name="CustomTabs.IntentToFirstCommitNavigationTime3" units="ms"
expires_after="M81">
<owner>lizeb@chromium.org</owner>
<summary>
Time between the intent arrival to a Custom Tab and the first navigation
commit. Recorded for every custom tabs intent when the page has finished
loading.
</summary>
</histogram>
<histogram name="CustomTabs.IntentToFirstNavigationStartTime" units="ms"
expires_after="M81">
<owner>lizeb@chromium.org</owner>
<summary>
Time between the intent arrival to a Custom Tab and the navigation start.
Recorded when the page has finished loading. Non-&quot;Herb&quot; mode.
</summary>
</histogram>
<histogram name="CustomTabs.IntentToPageLoadedTime" units="ms"
expires_after="M77">
<owner>lizeb@chromium.org</owner>
<summary>
Time between the intent arrival in Chrome and the first &quot;page
loaded&quot; event, if the navigation is successful. Non-&quot;Herb&quot;
mode.
</summary>
</histogram>
<histogram name="CustomTabs.MayLaunchUrlType" enum="MayLaunchUrlType"
expires_after="M77">
<owner>lizeb@chromium.org</owner>
<summary>
Android only. Which flavors of mayLaunchUrl() were used before a tab launch.
Can be low and/or high confidence. Recorded at the same time as
CustomTabs.WarmupStateOnLaunch for the buckets &quot;Session, No Warmup,
Warmup called from another UID&quot;, &quot;Session, No Warmup&quot; and
&quot;Session, Warmup&quot;.
</summary>
</histogram>
<histogram name="CustomTabs.ParallelRequestStatusOnStart"
enum="CustomTabsParallelRequestStatusOnStart" expires_after="2021-10-10">
<owner>lizeb@chromium.org</owner>
<owner>cct-team@google.com</owner>
<summary>
Recorded only on Android. Whether a parallel request was requested by the
calling application, and if so its initial status. Recorded once per handled
intent, when the request is initiated. Starting with M84 this is is also
recorded for webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.PartialCustomTabType"
enum="CustomTabsPartialCustomTabType" expires_after="2023-10-01">
<owner>kgrosu@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Type of the Partial Custom Tab that has been created. A new entry will be
logged each time a PCCT is opened or when the user transitions from a type
of PCCT to another (e.g. on screen rotation if the type changes from
bottom-sheet to side-sheet). Multiple entries can be logged for each PCCT
that is being displayed.
</summary>
</histogram>
<histogram name="CustomTabs.PostMessage.OnMessage" enum="Boolean"
expires_after="2023-08-26">
<owner>sinansahin@google.com</owner>
<owner>jinsukkim@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Android only. Recorded when the tab controlled by the CustomTabsSession
sends a postMessage. Always emits true.
</summary>
</histogram>
<histogram name="CustomTabs.PostMessage.PostMessageFromClientApp"
enum="Boolean" expires_after="2023-08-26">
<owner>sinansahin@google.com</owner>
<owner>jinsukkim@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Android only. Recorded when the CCT client sends a postMessage request to
the tab. Always emits true.
</summary>
</histogram>
<histogram name="CustomTabs.PostMessage.RequestPostMessageChannel"
enum="Boolean" expires_after="2023-08-26">
<owner>sinansahin@google.com</owner>
<owner>jinsukkim@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Android only. Recorded when the CCT client calls requestPostMessageChannel
to establish a two way postMessage channel. Emits true if the request is
successful and false otherwise. A true value emitted here doesn't mean the
request cannot fail later; and a false value may be the result of multiple
things, e.g. the warmup hasn't been called.
</summary>
</histogram>
<histogram name="CustomTabs.PredictionStatus" enum="PredictionStatus"
expires_after="2020-03-01">
<owner>lizeb@chromium.org</owner>
<summary>
For Custom Tabs, records whether mayLaunchUrl() has been called, and if so,
whether the call was later matched by a URL launch.
</summary>
</histogram>
<histogram name="CustomTabs.PredictionToLaunch" units="ms"
expires_after="2020-03-01">
<owner>lizeb@chromium.org</owner>
<summary>
When a URL prediction succeeds, time in ms between the prediction and the
actual launch.
</summary>
</histogram>
<histogram name="CustomTabs.ResizeType" enum="CustomTabsResizeType"
expires_after="2023-05-14">
<obsolete>
Deprecated 2022-11. Replaced by CustomTabs.ResizeType2
</obsolete>
<owner>kgrosu@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
When a Partial Custom Tab has been resized by the user log if it is an
expansion or a minimization of the tab.
</summary>
</histogram>
<histogram name="CustomTabs.ResizeType2" enum="CustomTabsResizeType2"
expires_after="2023-10-01">
<owner>kgrosu@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
When a bottom-sheet Partial Custom Tab has been resized by the user log if
it is an expansion or a minimization of the tab.
</summary>
</histogram>
<histogram
name="CustomTabs.RetainableSessionsV2.TimeBetweenLaunch{IdentifierType}"
units="seconds" expires_after="2023-06-12">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
When a CCT session is launched, if it is launched with same URL and has the
same package name or the same taskId + referrer combo, record the duration
between previous CCT closure and current CCT launch. Recorded on CCT launch.
A CCT can be defined as retainable if 1) it is launching with the same URL
as the most recently closed CCT; 2) it is launched from the same embedded
app as the most recently closed CCT; 3) the most recently closed CCT had
user interactions. See &quot;CustomTabs.HadInteractionOnClose.Form&quot; and
&quot;CustomTabs.HadInteractionOnClose.Navigation&quot; for information on
interactions.
The histogram suffix identifies whether the CCT is created with the same
intent Uri data and for the same embedded app, launching CCT with the same
taskId and package name. The package name identifier to use will depend on
whether the client app is using CustomTabService. If app is using the CCT
service, the package name will be read from CCT service; otherwise the
package name is read from the referrer of CCT activity.
This histogram is recorded for {IdentifierType}
</summary>
<token key="IdentifierType">
<variant name=".Different"
summary="App is not launched from the same embedded app as package
name / referrer is different."/>
<variant name=".Mixed"
summary="Apps not consistently using CCT services. Referrer and
package are used together."/>
<variant name=".PackageName"
summary="Apps that provide package name. Package name is used as
identifier."/>
<variant name=".Referrer"
summary="Apps not connecting with CCT services. Activity referrer is
used as identifier."/>
</token>
</histogram>
<histogram name="CustomTabs.SessionDisconnectStatus"
enum="CustomTabsSessionDisconnectStatus" expires_after="2023-09-17">
<owner>kgrosu@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Recorded only for Android. Record information about the state of the client
app, custom tab and system in the moment the connection between the client
and the custom tab is terminated. With this, we are trying to understand how
often a connection is terminated (the client app dies/is killed/is closed)
while a custom tab is in foreground. Also, if the EXTRA_KEEP_ALIVE is set,
we want to understand if it reduces the number of connections being
terminated. The aim is that CT_FOREGROUND and CT_FOREGROUND_KEEPALIVE are
logged as little as possible, while the rest of the states are expected ways
in which a connection may be terminated.
*CT_FOREGROUND*/*CT_BACKGROUND* - an enum value that contains this text
reflects if the custom tab was in the foreground/background when the
connection was terminated.
*KEEP_ALIVE* - an enum value that contains this text reflects that the
EXTRA_KEEP_ALIVE intent extra was specified and that the custom tab binds to
the service provided by it in order to increase the priority of the client
app to foreground.
*LOW_MEMORY* - an enum value that contains this text reflects that the
system was low on memory when the connection was terminated. This does not
mean that this was indeed the reason for the connection being terminated,
but it might be a good indicator of it.
UNKNOWN - if this is logged then there is probably a bug in the code as we
have a state we can be in that we don't currently account for.
</summary>
</histogram>
<histogram name="CustomTabs.ShareOptionLocation" enum="ShareOptionLocation"
expires_after="M115">
<owner>sophey@chromium.org</owner>
<owner>src/components/send_tab_to_self/OWNERS</owner>
<summary>
Records the location of the share option in the Custom Tab. Recorded when
the share option is added while the Custom Tab is being constructed.
</summary>
</histogram>
<histogram name="CustomTabs.SideSheetResizeType" enum="CustomTabsResizeType2"
expires_after="2023-10-01">
<owner>kgrosu@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Resize type of the Partial Custom Tab that's either an expansion or
minimization. Recorded when the PCCT has been maximized/minimized by the
user.
</summary>
</histogram>
<histogram name="CustomTabs.SpeculationStatusOnStart"
enum="CustomTabsSpeculationStatusOnStart" expires_after="2021-02-14">
<owner>lizeb@chromium.org</owner>
<summary>
Recorded only for Android. How a speculation was started or why it was
disallowed. This is recorded when a speculation of any kind is requested,
with either a &quot;Speculation allowed&quot; value, or a reason why it was
not allowed. If the speculation is allowed and is attempted to be started,
the status on start will be counted in addition: one of
&quot;Prefetch&quot;, &quot;Prerender&quot;, &quot;Background Tab&quot; or
&quot;Prerender not started&quot;. The last case is when a prerender is
abandoned during start. Starting with M84 this is is also recorded for
webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.SpeculationStatusOnSwap"
enum="CustomTabsSpeculationStatusOnSwap" expires_after="2020-07-26">
<owner>lizeb@chromium.org</owner>
<summary>
Recorded only for Android. Recorded when a speculation is requesting to swap
into a visible tab. Starting with M84 this is is also recorded for
webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.TabCounts.OnClosingAllTabs" units="count"
expires_after="2023-10-08">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Recorded only for Android. Records the number of tabs closed when closing
all the tabs (e.g. via hitting the close button). Only recorded when closing
is initiated by the user, so if custom tab is killed while in the background
this will not be recorded.
</summary>
</histogram>
<histogram name="CustomTabs.TabCounts.UniqueTabsSeen" units="count"
expires_after="2023-10-08">
<owner>wenyufu@chromium.org</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Recorded only for Android. Records the number of unique tabs open in the
current custom tab session, when a new tab is opened. The count of this
histogram includes the initial tab being opened, and can be recorded more
than once in the same session.
Do not record nor increase the count when switching into the previous tab
(e.g. create new tab, close, and land onto an existing tab).
</summary>
</histogram>
<histogram name="CustomTabs.TimeScrollUpdateReceivedAfterScrollEnd" units="ms"
expires_after="2023-08-26">
<owner>sinansahin@google.com</owner>
<owner>chrome-connective-tissue@google.com</owner>
<summary>
Android only. Recorded when the RealtimeEngagementSignalObserver receives a
scroll-update signal after the scroll-end signal from the renderer. This is
the time it took to receive the scroll-update after the scroll-end signal in
milliseconds.
</summary>
</histogram>
<histogram name="CustomTabs.Visible" enum="VisibleTab" expires_after="never">
<!-- expires-never: Used to classify UMA reports by the dashboards. -->
<owner>yusufo@chromium.org</owner>
<owner>src/base/metrics/OWNERS</owner>
<summary>
Recorded only for Android. Records on every metrics upload whether the
currently visible tab is a custom tab. The custom tab is launched by a
client app with customized UI. Some metrics like page load time will behave
differently for these tabs since it will be possible to warm up the browser
process and prepare resources for specific urls ahead of time via a service
connection. This histogram can be used to cluster these metric differently.
As of M87, this histogram is logged on a log start, rather than log end to
tag more logs.
</summary>
</histogram>
<histogram name="CustomTabs.WarmupStateOnLaunch" enum="WarmupStateOnLaunch"
expires_after="2023-10-01">
<owner>lizeb@chromium.org</owner>
<summary>
Recorded only on Android. Reports whether warmup() has been called when a
Custom Tabs Intent is received from an application, and if so, whether the
call could be matched with a session. Starting with M84 this is is also
recorded for webapps/WebAPKs. Filter the platform for just CCT/TWA data.
</summary>
</histogram>
<histogram name="CustomTabs.WebContentsStateOnLaunch" enum="WebContentsState"
expires_after="M77">
<owner>lizeb@chromium.org</owner>
<summary>
Android: When a CustomTabActivity creates its Tab, whether we use a
prerendered WebContents, a spare renderer or create a new WebContents.
</summary>
</histogram>
<histogram name="TrustedWebActivity.ClearDataDialogOnClearAppDataAccepted"
enum="Boolean" expires_after="M114">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Emits true if the user went to site settings from the dialog that is shown
after a Trusted Web Activity client app has had its data cleared.
</summary>
</histogram>
<histogram name="TrustedWebActivity.ClearDataDialogOnUninstallAccepted"
enum="Boolean" expires_after="M114">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Emits true if the user went to site settings from the dialog that is shown
after a Trusted Web Activity client app has been uninstalled.
</summary>
</histogram>
<histogram name="TrustedWebActivity.DelegatedNotificationSmallIconFallback"
enum="TrustedWebActivityDelegatedNotificationSmallIconFallback"
expires_after="M114">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Logs which kind of fallback for notification small icon was used for Trusted
Web Activity notification delegation.
</summary>
</histogram>
<histogram name="TrustedWebActivity.ExtraCommandSuccess.{command}"
enum="BooleanSuccess" expires_after="2023-11-01">
<owner>mvanouwerkerk@google.com</owner>
<owner>peconn@chromium.org</owner>
<owner>
src/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OWNERS
</owner>
<summary>
Records whether the extra command {command} called from
TrustedWebActivityClient resulted in success or failure.
</summary>
<token key="command">
<variant name="checkNotificationPermission"/>
<variant name="getNotificationPermissionRequestPendingIntent"/>
</token>
</histogram>
<histogram name="TrustedWebActivity.LocationDelegationEnrolled" enum="Boolean"
expires_after="2023-09-03">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When a site running in Truested Web Activity is accessing geolocation,
records whether the last tracked focused Trusted Web Activity client app
enrolled location delegation.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationPermissionChanged"
enum="TrustedWebActivityPermissionChanged" expires_after="2023-09-03">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When a Trusted Web Activity client app's location permission is changed,
record the previous state and new stase.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationPermissionRequestIsGranted"
enum="Boolean" expires_after="2023-09-03">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records the boolean result (granted or not) from requesting a Trusted Web
Activity client app's location permission.
</summary>
</histogram>
<histogram name="TrustedWebActivity.LocationUpdateErrorCode"
enum="TrustedWebActivityLocationErrorCode" expires_after="2022-10-23">
<obsolete>
Deprecated 2022-09. no longer needed.
</obsolete>
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
Records an error code when we get a new location update or location error
from the Trusted Web Activity client app. Record
&quot;LocationUpdateError.NONE&quot; (value = 0) if there is no error and
the geoposition is valid.
</summary>
</histogram>
<histogram name="TrustedWebActivity.Notification.PermissionRequestResult"
enum="ContentSetting" expires_after="2023-11-01">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<owner>
src/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OWNERS
</owner>
<summary>
The result of a TWA notification permission request for the purpose of
notification delegation. This is logged when the
NotificationPermissionUpdater receives the result from the
TrustedWebActivityClient.
</summary>
</histogram>
<histogram name="TrustedWebActivity.QualityEnforcementViolation"
enum="TrustedWebActivityQualityEnforcementViolationType"
expires_after="2023-09-03">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When Trusted Web Activity launches or navigates to a site that violate the
quality criteria, records the violation type.
</summary>
</histogram>
<histogram name="TrustedWebActivity.QualityEnforcementViolation.Crashed"
enum="TrustedWebActivityQualityEnforcementViolationType"
expires_after="M104">
<owner>eirage@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>
When Trusted Web Activity launches or navigates to a site that violate the
quality criteria, and the CCT will be closed, records the violation type.
This is similar to TrustedWebActivity.QualityEnforcementViolation but only
records when the violation will close the CCT.
</summary>
</histogram>
<histogram name="TrustedWebActivity.ShareTargetRequest"
enum="WebShareTargetMethod" expires_after="M114">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>Recorded when data is shared via a Trusted Web Activity.</summary>
</histogram>
<histogram name="TrustedWebActivity.SplashScreenShown" enum="Boolean"
expires_after="2023-09-17">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Records whether or not a splash screen has been shown when launching a
Trusted Web Activity.
</summary>
</histogram>
<histogram name="TrustedWebActivity.TimeInVerifiedOrigin.V2" units="ms"
expires_after="M120">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time spent in a verified origin until navigating to an unverified one or
pausing the Trusted Web Activity.
</summary>
</histogram>
<histogram name="TrustedWebActivity.TimeOutOfVerifiedOrigin.V2" units="ms"
expires_after="M120">
<owner>peconn@chromium.org</owner>
<owner>peter@chromium.org</owner>
<summary>
Time spent out of verified origins until navigating back to a verified one
or pausing the Trusted Web Activity.
</summary>
</histogram>
</histograms>
</histogram-configuration>