File: entity_specifics.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 (195 lines) | stat: -rw-r--r-- 9,956 bytes parent folder | download | duplicates (5)
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
// Copyright 2021 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 java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

import "components/sync/protocol/encryption.proto";
import "components/sync/protocol/app_list_specifics.proto";
import "components/sync/protocol/app_setting_specifics.proto";
import "components/sync/protocol/app_specifics.proto";
import "components/sync/protocol/arc_package_specifics.proto";
import "components/sync/protocol/autofill_specifics.proto";
import "components/sync/protocol/autofill_offer_specifics.proto";
import "components/sync/protocol/autofill_valuable_specifics.proto";
import "components/sync/protocol/autofill_wallet_credential_specifics.proto";
import "components/sync/protocol/autofill_wallet_usage_specifics.proto";
import "components/sync/protocol/bookmark_specifics.proto";
import "components/sync/protocol/collaboration_group_specifics.proto";
import "components/sync/protocol/product_comparison_specifics.proto";
import "components/sync/protocol/contact_info_specifics.proto";
import "components/sync/protocol/cookie_specifics.proto";
import "components/sync/protocol/device_info_specifics.proto";
import "components/sync/protocol/dictionary_specifics.proto";
import "components/sync/protocol/extension_setting_specifics.proto";
import "components/sync/protocol/extension_specifics.proto";
import "components/sync/protocol/history_delete_directive_specifics.proto";
import "components/sync/protocol/history_specifics.proto";
import "components/sync/protocol/managed_user_setting_specifics.proto";
import "components/sync/protocol/managed_user_shared_setting_specifics.proto";
import "components/sync/protocol/nigori_specifics.proto";
import "components/sync/protocol/os_preference_specifics.proto";
import "components/sync/protocol/os_priority_preference_specifics.proto";
import "components/sync/protocol/password_sharing_invitation_specifics.proto";
import "components/sync/protocol/password_specifics.proto";
import "components/sync/protocol/plus_address_setting_specifics.proto";
import "components/sync/protocol/plus_address_specifics.proto";
import "components/sync/protocol/power_bookmark_specifics.proto";
import "components/sync/protocol/preference_specifics.proto";
import "components/sync/protocol/printer_specifics.proto";
import "components/sync/protocol/printers_authorization_server_specifics.proto";
import "components/sync/protocol/priority_preference_specifics.proto";
import "components/sync/protocol/reading_list_specifics.proto";
import "components/sync/protocol/saved_tab_group_specifics.proto";
import "components/sync/protocol/search_engine_specifics.proto";
import "components/sync/protocol/security_event_specifics.proto";
import "components/sync/protocol/send_tab_to_self_specifics.proto";
import "components/sync/protocol/session_specifics.proto";
import "components/sync/protocol/shared_tab_group_data_specifics.proto";
import "components/sync/protocol/sharing_message_specifics.proto";
import "components/sync/protocol/theme_specifics.proto";
import "components/sync/protocol/typed_url_specifics.proto";
import "components/sync/protocol/user_consent_specifics.proto";
import "components/sync/protocol/user_event_specifics.proto";
import "components/sync/protocol/web_apk_specifics.proto";
import "components/sync/protocol/web_app_specifics.proto";
import "components/sync/protocol/webauthn_credential_specifics.proto";
import "components/sync/protocol/wifi_configuration_specifics.proto";
import "components/sync/protocol/workspace_desk_specifics.proto";
import "components/sync/protocol/shared_tab_group_account_data_specifics.proto";

message EntitySpecifics {
  // If a datatype is encrypted, this field will contain the encrypted
  // original EntitySpecifics. The extension for the datatype will continue
  // to exist, but contain only the default values.
  // Note that currently passwords employ their own legacy encryption scheme and
  // do not use this field.
  optional EncryptedData encrypted = 1;

  // To add new datatype-specific fields to the protocol, extend
  // EntitySpecifics.  First, pick a non-colliding tag number by
  // picking a Cr-Commit-Position of one of your past commits
  // to src.chromium.org.  Then, in a different protocol buffer
  // definition, define your message type, and add an optional field
  // to the list below using the unique tag value you selected.
  //
  //  optional MyDatatypeSpecifics my_datatype = 32222;
  //
  // where:
  //   - 32222 is the non-colliding tag number you picked earlier.
  //   - MyDatatypeSpecifics is the type (probably a message type defined
  //     in your new .proto file) that you want to associate with each
  //     object of the new datatype.
  //   - my_datatype is the field identifier you'll use to access the
  //     datatype specifics from the code.
  //
  // Server implementations are obligated to preserve the contents of
  // EntitySpecifics when it contains unrecognized fields.  In this
  // way, it is possible to add new datatype fields without having
  // to update the server.
  //
  // Note: The tag selection process is based on legacy versions of the
  // protocol which used protobuf extensions. We have kept the process
  // consistent as the old values cannot change.  The 5+ digit nature of the
  // tags also makes them recognizable (individually and collectively) from
  // noise in logs and debugging contexts, and creating a divergent subset of
  // tags would only make things a bit more confusing.

  oneof specifics_variant {
    AutofillSpecifics autofill = 31729;
    BookmarkSpecifics bookmark = 32904;
    PreferenceSpecifics preference = 37702;
    ThemeSpecifics theme = 41210;
    PasswordSpecifics password = 45873;
    NigoriSpecifics nigori = 47745;
    ExtensionSpecifics extension = 48119;
    AppSpecifics app = 48364;
    SessionSpecifics session = 50119;
    AutofillProfileSpecifics autofill_profile = 63951;
    SearchEngineSpecifics search_engine = 88610;
    ExtensionSettingSpecifics extension_setting = 96159;
    AppSettingSpecifics app_setting = 103656;
    HistoryDeleteDirectiveSpecifics history_delete_directive = 150251;
    DeviceInfoSpecifics device_info = 154522;
    PriorityPreferenceSpecifics priority_preference = 163425;
    DictionarySpecifics dictionary = 170540;
    ManagedUserSettingSpecifics managed_user_setting = 186662;
    AppListSpecifics app_list = 229170;
    AutofillWalletSpecifics autofill_wallet = 306270;
    WalletMetadataSpecifics wallet_metadata = 330441;
    ArcPackageSpecifics arc_package = 340906;
    PrinterSpecifics printer = 410745;
    ReadingListSpecifics reading_list = 411028;
    UserEventSpecifics user_event = 455206;
    UserConsentSpecifics user_consent = 556014;
    SendTabToSelfSpecifics send_tab_to_self = 601980;
    SecurityEventSpecifics security_event = 600372;
    WebApkSpecifics web_apk = 1117170;
    WebAppSpecifics web_app = 673225;
    WifiConfigurationSpecifics wifi_configuration = 662827;
    OsPreferenceSpecifics os_preference = 702141;
    OsPriorityPreferenceSpecifics os_priority_preference = 703915;
    SharingMessageSpecifics sharing_message = 728866;
    AutofillOfferSpecifics autofill_offer = 774329;
    WorkspaceDeskSpecifics workspace_desk = 874841;
    WebauthnCredentialSpecifics webauthn_credential = 895275;
    HistorySpecifics history = 963985;
    PrintersAuthorizationServerSpecifics printers_authorization_server = 974304;
    SavedTabGroupSpecifics saved_tab_group = 1004874;
    AutofillWalletUsageSpecifics autofill_wallet_usage = 1033580;
    ContactInfoSpecifics contact_info = 1034378;
    PowerBookmarkSpecifics power_bookmark = 1073150;
    IncomingPasswordSharingInvitationSpecifics
        incoming_password_sharing_invitation = 1141935;
    OutgoingPasswordSharingInvitationSpecifics
        outgoing_password_sharing_invitation = 1142081;
    AutofillWalletCredentialSpecifics autofill_wallet_credential = 1164238;
    SharedTabGroupDataSpecifics shared_tab_group_data = 1239418;
    CollaborationGroupSpecifics collaboration_group = 1259076;
    ProductComparisonSpecifics product_comparison = 1329438;
    PlusAddressSpecifics plus_address = 1267844;
    CookieSpecifics cookie = 1281100;
    PlusAddressSettingSpecifics plus_address_setting = 1303742;
    AutofillValuableSpecifics autofill_valuable = 1419865;
    SharedTabGroupAccountDataSpecifics shared_tab_group_account_data = 1429255;
    // When adding a new type, follow the docs below and keep this comment as
    // the last entry.
    // https://www.chromium.org/developers/design-documents/sync/integration-checklist/

    // No-longer-supported data types, in various stages of removal.
    // TODO(crbug.com/40881888): Eventually, these should all become "reserved"
    // fields, or at least use "EmptySpecifics". But some of them are still
    // needed by the server, e.g. to support older clients.
    EmptySpecifics app_notification = 45184 [deprecated = true];
    EmptySpecifics synced_notification = 153108 [deprecated = true];
    EmptySpecifics synced_notification_app_info = 235816 [deprecated = true];
    EmptySpecifics managed_user = 194582 [deprecated = true];
    ManagedUserSharedSettingSpecifics managed_user_shared_setting = 202026
        [deprecated = true];
    EmptySpecifics managed_user_allowlist = 306060 [deprecated = true];
    TypedUrlSpecifics typed_url = 40781 [deprecated = true];
  }
  reserved 161496;
  reserved "experiments";
  reserved 181534;
  reserved "favicon_tracking";
  reserved 182019;
  reserved "favicon_image";
  reserved 218175;
  reserved "wifi_credential";
  reserved 223759;
  reserved "article";
  reserved 545005;
  reserved "mountain_share";
  reserved 1026052;
  reserved "segmentation";
}

message EmptySpecifics {}