Spaces:
Sleeping
Sleeping
| // 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; | |
| } | |