// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.metrics";
option java_outer_classname = "CustomTabSessionProtos";
package metrics;
// Stores information about a Custom Tabs session. Custom Tabs are a Chrome on
// Android feature that allow a Chrome tab to be launched as part of another
// application. The launching app has the ability to close the Custom Tab. This
// proto will let us detect apps that open a Custom Tab (loading a given URL
// with the user's cookie jar) and then kill it without the user interacting.
// Next tag: 7
message CustomTabSessionProto {
// The time the recording was taken. Recorded as seconds since epoch.
optional int64 time_sec = 1;
// The package name of the app that launched the Custom Tab.
optional string package_name = 2;
// How long the Custom Tab was open for. It is recorded in seconds with a 10%
// fuzzing (real numbers will be fuzzed uniformity in the range of -10% to 10%
// before recording). It is capped at 300 seconds (exclusive).
optional int32 session_duration_sec = 3;
// Did the user interact with the page displayed by the Custom Tab?
optional bool did_user_interact = 4;
// True if the Custom Tab was closed through a user action (for example
// hitting the Close Button or the Android Back button).
optional bool was_user_closed = 5;
// Was the Custom Tab launched as a Partial Custom Tab
// (go/prd-partial-custom-tabs)
optional bool is_partial = 6;
}