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 {}
|