Spaces:
Running
Running
// 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.optimization_guide.proto"; | |
option java_outer_classname = "CommonTypesProto"; | |
package optimization_guide.proto; | |
// Context in which the items are requested. | |
enum RequestContext { | |
reserved 1, 3, 10; | |
// Context not specified. | |
CONTEXT_UNSPECIFIED = 0; | |
// Requesting items on page navigation. | |
CONTEXT_PAGE_NAVIGATION = 2; | |
// Requesting as part of a SRP fetch. | |
CONTEXT_BATCH_UPDATE_GOOGLE_SRP = 4; | |
// Requesting as part of a regularly scheduled fetch for active tabs. | |
CONTEXT_BATCH_UPDATE_ACTIVE_TABS = 5; | |
// Requesting a batch of models to update. | |
CONTEXT_BATCH_UPDATE_MODELS = 6; | |
// Requesting page load metadata for a user's bookmarks when visiting the | |
// bookmarks surface. | |
CONTEXT_BOOKMARKS = 7; | |
// Requesting metadata for a user when visiting the Journeys surface. | |
CONTEXT_JOURNEYS = 8; | |
// Requesting metadata for a user when visiting the new tab page. | |
CONTEXT_NEW_TAB_PAGE = 9; | |
// Requesting metadata for a user when visiting the Page Insights feature; | |
// Gaia can be attached to request. | |
CONTEXT_PAGE_INSIGHTS_HUB = 11; | |
// Requesting metadata for a user when visiting the Page Insights feature; | |
// Gaia cannot be attached to request. | |
CONTEXT_NON_PERSONALIZED_PAGE_INSIGHTS_HUB = 12; | |
// Requesting metadata for shopping features. This is used for relevant URLs | |
// (open tabs, bookmarks, etc.) if information is determined to be stale or | |
// has otherwise been flushed from the cache. | |
CONTEXT_SHOPPING = 13; | |
} | |
message FieldTrial { | |
// The hash of a field trial. | |
optional uint32 name_hash = 1; | |
// The hash of the active group within the field trial. | |
optional uint32 group_hash = 2; | |
} | |
// A Duration represents a signed, fixed-length span of time represented | |
// as a count of seconds and fractions of seconds at nanosecond | |
// resolution. It is independent of any calendar and concepts like "day" | |
// or "month". It is related to Timestamp in that the difference between | |
// two Timestamp values is a Duration and it can be added or subtracted | |
// from a Timestamp. Range is approximately +-10,000 years. | |
// This is local definition matching server side duration.proto definition. | |
message Duration { | |
// Signed seconds of the span of time. Must be from -315,576,000,000 | |
// to +315,576,000,000 inclusive. | |
optional int64 seconds = 1; | |
// Signed fractions of a second at nanosecond resolution of the span | |
// of time. Durations less than one second are represented with a 0 | |
// `seconds` field and a positive or negative `nanos` field. For durations | |
// of one second or more, a non-zero value for the `nanos` field must be | |
// of the same sign as the `seconds` field. Must be from -999,999,999 | |
// to +999,999,999 inclusive. | |
optional int32 nanos = 2; | |
} | |
message Timestamp { | |
// Represents seconds of UTC time since Unix epoch | |
// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to | |
// 9999-12-31T23:59:59Z inclusive. | |
optional int64 seconds = 1; | |
// Non-negative fractions of a second at nanosecond resolution. Negative | |
// second values with fractions must still have non-negative nanos values | |
// that count forward in time. Must be from 0 to 999,999,999 | |
// inclusive. | |
optional int32 nanos = 2; | |
} | |
message Any { | |
// A URL/resource name that uniquely identifies the type of the serialized | |
// protocol buffer message. | |
optional string type_url = 1; | |
// Must be a valid serialized protocol buffer of the above specified type. | |
optional bytes value = 2; | |
} | |
// Information about the request origin, common to all Cacao requests. | |
message OriginInfo { | |
// The platform for the user's Chrome. | |
optional Platform platform = 1; | |
} | |
// The platform for the user's Chrome on which the request was made. | |
enum Platform { | |
reserved 7; | |
// Undefined is used when the user's platform cannot be resolved. | |
PLATFORM_UNDEFINED = 0; | |
// Android based platforms. | |
PLATFORM_ANDROID = 1; | |
// ChromeOS platforms including all architectures. | |
PLATFORM_CHROMEOS = 2; | |
// IOS based platforms. | |
PLATFORM_IOS = 3; | |
// Linux platforms including all architectures. | |
PLATFORM_LINUX = 4; | |
// Mac based platforms. | |
PLATFORM_MAC = 5; | |
// Windows based platforms. | |
PLATFORM_WINDOWS = 6; | |
} | |