// 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; }