177 lines
6.6 KiB
Protocol Buffer
177 lines
6.6 KiB
Protocol Buffer
|
|
// Copyright 2017 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";
|
|||
|
|
|
|||
|
|
package ukm;
|
|||
|
|
|
|||
|
|
// Types of source ids defined by
|
|||
|
|
// https://cs.chromium.org/chromium/src/services/metrics/public/cpp/ukm_source_id.h
|
|||
|
|
// WARNING: Please update both the internal version and the Chromium version of
|
|||
|
|
// this file when new enum values are added.
|
|||
|
|
enum SourceType {
|
|||
|
|
DEFAULT = 0;
|
|||
|
|
NAVIGATION_ID = 1;
|
|||
|
|
APP_ID = 2;
|
|||
|
|
HISTORY_ID = 3;
|
|||
|
|
WEBAPK_ID = 4;
|
|||
|
|
PAYMENT_APP_ID = 5;
|
|||
|
|
DESKTOP_WEB_APP_ID = 6;
|
|||
|
|
WORKER_ID = 7;
|
|||
|
|
NO_URL_ID = 8;
|
|||
|
|
REDIRECT_ID = 9;
|
|||
|
|
WEB_IDENTITY_ID = 10;
|
|||
|
|
CHROMEOS_WEBSITE_ID = 11;
|
|||
|
|
EXTENSION_ID = 12;
|
|||
|
|
SOFT_NAVIGATION_ID = 13;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Android Activity Type defined by
|
|||
|
|
// https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/flags/android/chrome_session_state.h?q=ActivityType
|
|||
|
|
enum AndroidActivityType {
|
|||
|
|
TABBED = 0;
|
|||
|
|
CUSTOM_TAB = 1;
|
|||
|
|
TRUSTED_WEB_ACTIVITY = 2;
|
|||
|
|
WEB_APP = 3;
|
|||
|
|
WEB_APK = 4;
|
|||
|
|
PRE_FIRST_TAB = 5;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// This signifies if the reported source is a navigation to the same origin as
|
|||
|
|
// the previous document.
|
|||
|
|
// Its value is "unset" for error pages and same document navigations.
|
|||
|
|
// It is "same origin" when the previous document is of the same origin as the
|
|||
|
|
// one we're navigating to.
|
|||
|
|
// Otherwise, it is "cross origin".
|
|||
|
|
enum SameOriginStatus {
|
|||
|
|
SAME_ORIGIN_STATUS_UNSET = 0;
|
|||
|
|
SAME_ORIGIN = 1;
|
|||
|
|
CROSS_ORIGIN = 2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
enum UrlScheme {
|
|||
|
|
URL_SCHEME_UNSUPPORTED = 0;
|
|||
|
|
HTTP = 1;
|
|||
|
|
HTTPS = 2;
|
|||
|
|
FTP = 3;
|
|||
|
|
ABOUT = 4;
|
|||
|
|
CHROME = 5;
|
|||
|
|
CHROME_EXTENSION = 6;
|
|||
|
|
APP = 7;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message UrlInfo {
|
|||
|
|
optional string url = 1;
|
|||
|
|
|
|||
|
|
// Number of URLs seen for this source before the current URL.
|
|||
|
|
// If unset, it’s equivalent to the count of the UrlInfo before it + 1,
|
|||
|
|
// or 0 if it’s the first UrlInfo.
|
|||
|
|
optional int32 previous_url_count = 2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message NavigationMetadata {
|
|||
|
|
// Whether this is the same origin as the previous document, cross-origin or
|
|||
|
|
// unset.
|
|||
|
|
optional SameOriginStatus same_origin_status = 1;
|
|||
|
|
|
|||
|
|
// Whether this navigation is initiated by the renderer.
|
|||
|
|
// Renderer-initiated navigations include navigations that were triggered
|
|||
|
|
// from Javascript, by users interacting with the content (e.g. clicking
|
|||
|
|
// on <a> links or submitting forms, or by client-side redirects.
|
|||
|
|
// On the other hand, we have browser-initiated navigations, e.g. ones
|
|||
|
|
// triggered by the user interacting with the browser's UI.
|
|||
|
|
optional bool is_renderer_initiated = 2;
|
|||
|
|
|
|||
|
|
// Whether the navigation committed an error page, as a result of a network
|
|||
|
|
// error.
|
|||
|
|
optional bool is_error_page = 3;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Next tag: 20
|
|||
|
|
message Source {
|
|||
|
|
// An identifier for the source. This should be unique within a session.
|
|||
|
|
optional int64 id = 1;
|
|||
|
|
|
|||
|
|
// The type, which is based on how the Source is created.
|
|||
|
|
optional SourceType type = 16;
|
|||
|
|
|
|||
|
|
// Unique identifier (for a given client_id/session_id) for the tab this
|
|||
|
|
// source is associated with. Should only be set for navigation sources.
|
|||
|
|
optional int64 tab_id = 10;
|
|||
|
|
|
|||
|
|
// The source id of the last committed non-same-document navigation for the
|
|||
|
|
// tab this source is in. Should only be set for navigation sources. For
|
|||
|
|
// backward compatibility, this field will never be set to the source id of a
|
|||
|
|
// same-document source. In cases where the last committed navigation was a
|
|||
|
|
// same-document navigation, previous_same_document_source_id will contain
|
|||
|
|
// the source id of that previous same document navigation, while
|
|||
|
|
// previous_source_id will contain the source id of the last committed
|
|||
|
|
// non-same-document navigation. For example, if a user starts on page A (a
|
|||
|
|
// non same document page load), then performs a same document navigation to
|
|||
|
|
// B, then navigates to C (which could be either a same document or a non same
|
|||
|
|
// document navigation), previous_source_id will reference A, and
|
|||
|
|
// previous_same_document_source_id will reference B.
|
|||
|
|
optional int64 previous_source_id = 11;
|
|||
|
|
|
|||
|
|
// The source id for the previous same document navigation, if the
|
|||
|
|
// previously committed source was a same document navigation. If
|
|||
|
|
// the previously committed source was not a same document
|
|||
|
|
// navigation, this field will be unset.
|
|||
|
|
optional int64 previous_same_document_source_id = 14;
|
|||
|
|
|
|||
|
|
// For sources representing the first navigation in a new tab, this id marks
|
|||
|
|
// the source which opened the tab. Should only be set for the first
|
|||
|
|
// navigation source in a tab.
|
|||
|
|
optional int64 opener_source_id = 12;
|
|||
|
|
|
|||
|
|
// Data about each URL associated with the Source within the record's
|
|||
|
|
// scope, in the order that the URLs were encountered. Data may include full
|
|||
|
|
// or partial redirect chains for main frame navigations.
|
|||
|
|
repeated UrlInfo urls = 8;
|
|||
|
|
|
|||
|
|
// Data about the URL of the Document, copied from the Source message whose
|
|||
|
|
// id matched the navigation source id of the DocumentCreated event.
|
|||
|
|
repeated UrlInfo resolved_urls = 15;
|
|||
|
|
|
|||
|
|
// Whether this source is for a same document navigation. Examples of same
|
|||
|
|
// document navigations are fragment navigations, pushState/replaceState,
|
|||
|
|
// and same page history navigation.
|
|||
|
|
optional bool is_same_document_navigation = 13;
|
|||
|
|
|
|||
|
|
// Metadata about the navigation that is set when the URL is recorded.
|
|||
|
|
optional NavigationMetadata navigation_metadata = 17;
|
|||
|
|
|
|||
|
|
// The URL of the source, as recorded in history. If this URL has not been
|
|||
|
|
// discovered by Google's crawler, it should not be recorded.
|
|||
|
|
// Replaced by |urls| field.
|
|||
|
|
optional string deprecated_url = 2 [deprecated = true];
|
|||
|
|
reserved 5;
|
|||
|
|
reserved "deprecated_url_origin";
|
|||
|
|
reserved 9;
|
|||
|
|
reserved "deprecated_url_scheme";
|
|||
|
|
|
|||
|
|
// The initial URL of the source. Set in cases where the source URL changed
|
|||
|
|
// (e.g. it was redirected), otherwise unset. If this URL has not been
|
|||
|
|
// discovered by Google's crawler, it should not be recorded.
|
|||
|
|
optional string deprecated_initial_url = 6 [deprecated = true];
|
|||
|
|
|
|||
|
|
// Denotes the Chrome Android activity type when created. See
|
|||
|
|
// https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/flags/android/chrome_session_state.h;l=20;drc=c14f6f4b9c44fe479a8d004576b42723b2a5feb6
|
|||
|
|
optional AndroidActivityType android_activity_type = 18;
|
|||
|
|
|
|||
|
|
// Relative time of navigation for this Source, as seen by the client, and is
|
|||
|
|
// set for sources of type ukm::SourceIdType::NAVIGATION_ID. Time of events
|
|||
|
|
// related to this Source will generally be relative to this timestamp. The
|
|||
|
|
// recorded navigation time is in TimeTicks, which is the relative time since
|
|||
|
|
// the origin. The origin is platform-specific but is guaranteed to be
|
|||
|
|
// monotonically increase within each session.
|
|||
|
|
optional int64 navigation_time_msec = 3;
|
|||
|
|
|
|||
|
|
reserved 4;
|
|||
|
|
reserved 7;
|
|||
|
|
}
|