File: sync_enums.proto

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (242 lines) | stat: -rw-r--r-- 9,651 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol for communication between sync client and server.

// If you change or add any enums in this file, update
// proto_enum_conversions.{h, cc}.
// If you deprecate enum or enum values, mark any corresponding entry in
// tools/metrics/histograms/enums.xml as <obsolete>.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

message SyncEnums {
  // These events are sent by the DebugInfo class for singleton events.
  enum SingletonDebugEventType {
    // Connection status change. Note this gets generated even during a
    // successful connection.
    CONNECTION_STATUS_CHANGE = 1;
    // Client received an updated token.
    UPDATED_TOKEN = 2;
    // Cryptographer needs passphrase.
    PASSPHRASE_REQUIRED = 3;
    // Passphrase was accepted by cryptographer.
    PASSPHRASE_ACCEPTED = 4;
    // Sync Initialization is complete.
    INITIALIZATION_COMPLETE = 5;
    // Server sent stop syncing permanently. This event should never be seen by
    // the server in the absence of bugs.
    STOP_SYNCING_PERMANENTLY = 6;
    // Client has finished encrypting all data.
    // DEPRECATED_ENCRYPTION_COMPLETE = 7;
    // Client received an actionable error.
    ACTIONABLE_ERROR = 8;
    // Set of encrypted types has changed.
    ENCRYPTED_TYPES_CHANGED = 9;
    // The encryption passphrase state changed.
    PASSPHRASE_TYPE_CHANGED = 10;
    // A new keystore encryption token was persisted. Deprecated 11/2021.
    DEPRECATED_KEYSTORE_TOKEN_UPDATED = 11;
    // The datatype manager has finished an at least partially successful
    // configuration and is once again syncing with the server.
    CONFIGURE_COMPLETE = 12;
    // A new cryptographer bootstrap token was generated.
    DEPRECATED_BOOTSTRAP_TOKEN_UPDATED = 13;
    // Cryptographer needs trusted vault decryption keys.
    TRUSTED_VAULT_KEY_REQUIRED = 14;
    // Cryptographer no longer needs trusted vault decryption keys.
    TRUSTED_VAULT_KEY_ACCEPTED = 15;
  }

  // See ui/base/page_transition_types.h for detailed information on the
  // values of PageTransition and PageTransitionRedirectType below.

  // Types of transitions between pages.
  enum PageTransition {
    LINK = 0;
    TYPED = 1;
    AUTO_BOOKMARK = 2;
    AUTO_SUBFRAME = 3;
    MANUAL_SUBFRAME = 4;
    GENERATED = 5;
    AUTO_TOPLEVEL = 6;
    FORM_SUBMIT = 7;
    RELOAD = 8;
    KEYWORD = 9;
    KEYWORD_GENERATED = 10;
    // The below two were mistakenly added but never properly used. They are
    // actually transition qualifiers, and are set independently of other
    // qualifiers and of the main transitions. See session_specifics.proto for
    // the list of synced transition qualifiers.
    // DEPRECATED_CHAIN_START = 12;
    // DEPRECATED_CHAIN_END = 13;
  }

  // Types of redirects that triggered a transition.
  enum PageTransitionRedirectType {
    CLIENT_REDIRECT = 1;
    SERVER_REDIRECT = 2;
  }

  enum ErrorType {
    SUCCESS = 0;
    // DEPRECATED_ACCESS_DENIED = 1;
    // Returned when the server and client disagree on the store birthday. This
    // should be interpreted as all local sync metadata requiring cleanup,
    // obviously including the locally-cached store birthday.
    NOT_MY_BIRTHDAY = 2;
    // Returned when the store has exceeded the allowed bandwidth utilization.
    THROTTLED = 3;
    // DEPRECATED_AUTH_EXPIRED = 4;
    // DEPRECATED_USER_NOT_ACTIVATED = 5;
    // DEPRECATED_AUTH_INVALID = 6;
    // DEPRECATED_CLEAR_PENDING = 7;
    // A transient error occurred (e.g. a backend timeout). The client should
    // try again later.
    TRANSIENT_ERROR = 8;
    // A server-side migration has taken place for one or more data types. The
    // client should clear the cache for these data types only and then re-sync
    // with a server.
    MIGRATION_DONE = 9;
    // An administrator disabled sync for this domain.
    DISABLED_BY_ADMIN = 10;
    // Deprecated in M50.
    // DEPRECATED_USER_ROLLBACK = 11;
    // Returned when the client wants to update several data types, but some of
    // them failed (e.g. throttled).
    PARTIAL_FAILURE = 12;
    // Returned when the server detects that this client's sync metadata is
    // obsolete. The client should reset local sync metadata and restart
    // syncing.
    CLIENT_DATA_OBSOLETE = 13;
    // Returned when the server detects that the encryption state (Nigori,
    // keystore keys) has been reset/overridden, which means the local
    // Nigori-related state is obsolete and should be cleared.
    // Introduced in M84.
    ENCRYPTION_OBSOLETE = 14;
    // Unknown value. This should never be explicitly used; it is the default
    // value when an out-of-date client parses a value it doesn't recognize.
    UNKNOWN = 100;
  }

  enum Action {
    UPGRADE_CLIENT = 0;  // Upgrade the client to latest version.
    // DEPRECATED_CLEAR_USER_DATA_AND_RESYNC = 1;
    // DEPRECATED_ENABLE_SYNC_ON_ACCOUNT = 2;
    // DEPRECATED_STOP_AND_RESTART_SYNC = 3;
    // DEPRECATED_DISABLE_SYNC_ON_CLIENT = 4;
    UNKNOWN_ACTION = 5;  // This is the default.
  }

  // New enums to describe the device type were introduced; OsType and
  // FormFactor. Deprecated 12/2022.
  // TODO(crbug.com/40882073): Remove deprecated values from DeviceType enum.
  enum DeviceType {
    TYPE_UNSET = 0 [deprecated = true];
    TYPE_WIN = 1 [deprecated = true];
    TYPE_MAC = 2 [deprecated = true];
    TYPE_LINUX = 3 [deprecated = true];
    TYPE_CROS = 4 [deprecated = true];
    TYPE_OTHER = 5 [deprecated = true];
    TYPE_PHONE = 6 [deprecated = true];
    TYPE_TABLET = 7 [deprecated = true];
  }

  // Types of device OS.
  enum OsType {
    OS_TYPE_UNSPECIFIED = 0;
    OS_TYPE_WINDOWS = 1;
    OS_TYPE_MAC = 2;
    OS_TYPE_LINUX = 3;
    OS_TYPE_CHROME_OS_ASH = 4;
    OS_TYPE_ANDROID = 5;
    OS_TYPE_IOS = 6;
    OS_TYPE_CHROME_OS_LACROS = 7;
    OS_TYPE_FUCHSIA = 8;
  }

  // Types of device form factors.
  enum DeviceFormFactor {
    DEVICE_FORM_FACTOR_UNSPECIFIED = 0;
    DEVICE_FORM_FACTOR_DESKTOP = 1;
    DEVICE_FORM_FACTOR_PHONE = 2;
    DEVICE_FORM_FACTOR_TABLET = 3;
    DEVICE_FORM_FACTOR_AUTOMOTIVE = 4;
    DEVICE_FORM_FACTOR_WEARABLE = 5;
    DEVICE_FORM_FACTOR_TV = 6;
  }

  // Types of browsers; used for history-related data types.
  enum BrowserType {
    BROWSER_TYPE_UNKNOWN = 0;
    TYPE_TABBED = 1;      // A normal tabbed window.
    TYPE_POPUP = 2;       // A popup window.
    TYPE_CUSTOM_TAB = 3;  // A custom tab within an app.
    TYPE_AUTH_TAB = 4;    // A auth-dedicated custom tab within an app.
  }

  // The "password state" is the presence/absence of a password field on a
  // website; used for history-related data types.
  enum PasswordState {
    PASSWORD_STATE_UNKNOWN = 0;
    NO_PASSWORD_FIELD = 1;
    HAS_PASSWORD_FIELD = 2;
  }

  // This is the successor to GetUpdatesSource.  It merges the "normal mode"
  // values (LOCAL, NOTIFICATION and DATATYPE_REFRESH), which were never really
  // mutually exclusive to being with, into the GU_TRIGGER value.  It also
  // drops support for some old values that are not supported by newer clients.
  //
  // Mind the gaps: Some values are intentionally unused because we want to
  // keep the values in sync with GetUpdatesSource as much as possible.  Please
  // don't add any values < 12 unless there's a good reason for it.
  //
  // Introduced in M28.
  // LINT.IfChange(SyncGetUpdatesOrigin)
  enum GetUpdatesOrigin {
    UNKNOWN_ORIGIN = 0;  // The source was not set by the caller.
    PERIODIC = 4;        // The source of the update was periodic polling.
    NEWLY_SUPPORTED_DATATYPE = 7;  // The client is in configuration mode
                                   // because it's syncing all datatypes, and
                                   // support for a new datatype was recently
                                   // released via a software auto-update.
    MIGRATION = 8;         // The client is in configuration mode because a
                           // MIGRATION_DONE error previously returned by the
                           // server necessitated resynchronization.
    NEW_CLIENT = 9;        // The client is in configuration mode because the
                           // user enabled sync for the first time.  Not to be
                           // confused with FIRST_UPDATE.
    RECONFIGURATION = 10;  // The client is in configuration mode because the
                           // user opted to sync a different set of datatypes.
    GU_TRIGGER = 12;  // The client is in 'normal' mode.  It may have several
                      // reasons for requesting an update.  See the per-type
                      // GetUpdateTriggers message for more details.
    // DEPRECATED_RETRY = 13;
    PROGRAMMATIC = 14;  // A GU to programmatically enable/disable a
                        // datatype, often due to error handling.

    reserved 13;
    reserved "RETRY";
  }
  // LINT.ThenChange(/tools/metrics/histograms/metadata/sync/enums.xml:SyncGetUpdatesOrigin)

  // Type of message sent to the receiving device for the send tab to self
  // feature.
  enum SendTabReceivingType {
    // Send tab notification can be received as an in-app message. This is the
    // default value.
    SEND_TAB_RECEIVING_TYPE_CHROME_OR_UNSPECIFIED = 0;
    // Send tab notification can be received as a push notification and/or
    // in-app message.
    SEND_TAB_RECEIVING_TYPE_CHROME_AND_PUSH_NOTIFICATION = 1;
  }
}