| // 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; | |
| // keep-sorted start | |
| import "components/sync/protocol/account_setting_specifics.proto"; | |
| import "components/sync/protocol/ai_thread_specifics.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_entity_suppression_specifics.proto"; | |
| import "components/sync/protocol/autofill_offer_specifics.proto"; | |
| import "components/sync/protocol/autofill_specifics.proto"; | |
| import "components/sync/protocol/autofill_valuable_metadata_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/contact_info_specifics.proto"; | |
| import "components/sync/protocol/contextual_task_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/encrypted_tab_context_container_specifics.proto"; | |
| import "components/sync/protocol/encrypted_tab_context_item_specifics.proto"; | |
| import "components/sync/protocol/encryption.proto"; | |
| import "components/sync/protocol/extension_setting_specifics.proto"; | |
| import "components/sync/protocol/extension_specifics.proto"; | |
| import "components/sync/protocol/gemini_thread_specifics.proto"; | |
| import "components/sync/protocol/history_delete_directive_specifics.proto"; | |
| import "components/sync/protocol/history_specifics.proto"; | |
| import "components/sync/protocol/journey_specifics.proto"; | |
| import "components/sync/protocol/managed_user_setting_specifics.proto"; | |
| import "components/sync/protocol/nigori_specifics.proto"; | |
| import "components/sync/protocol/notebook_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/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/product_comparison_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_comment_specifics.proto"; | |
| import "components/sync/protocol/shared_tab_group_account_data_specifics.proto"; | |
| import "components/sync/protocol/shared_tab_group_data_specifics.proto"; | |
| import "components/sync/protocol/sharing_message_specifics.proto"; | |
| import "components/sync/protocol/skill_specifics.proto"; | |
| import "components/sync/protocol/theme_android_specifics.proto"; | |
| import "components/sync/protocol/theme_ios_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_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"; | |
| // keep-sorted end | |
| 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; | |
| ThemeAndroidSpecifics theme_android = 1587331; | |
| ThemeIosSpecifics theme_ios = 1577986; | |
| 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; | |
| WebAppSpecifics web_app = 673225; | |
| WifiConfigurationSpecifics wifi_configuration = 662827; | |
| OsPreferenceSpecifics os_preference = 702141; | |
| OsPriorityPreferenceSpecifics os_priority_preference = 703915; | |
| SharingMessageSpecifics sharing_message = 728866; | |
| 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; | |
| 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; | |
| CookieSpecifics cookie = 1281100; | |
| AutofillValuableSpecifics autofill_valuable = 1419865; | |
| SharedTabGroupAccountDataSpecifics shared_tab_group_account_data = 1429255; | |
| SharedCommentSpecifics shared_comment = 1484017; | |
| AccountSettingSpecifics account_setting = 1438954; | |
| AiThreadSpecifics ai_thread = 1517585; | |
| ContextualTaskSpecifics contextual_task = 1518931; | |
| AutofillValuableMetadataSpecifics autofill_valuable_metadata = 1520954; | |
| SkillSpecifics skill = 1564245; | |
| GeminiThreadSpecifics gemini_thread = 1569348; | |
| EncryptedTabContextContainerSpecifics encrypted_tab_context_container = | |
| 1656053; | |
| EncryptedTabContextItemSpecifics encrypted_tab_context_item = 1661069; | |
| NotebookSpecifics notebook = 1670544; | |
| JourneySpecifics journey = 1670131; | |
| AutofillEntitySuppressionSpecifics autofill_entity_suppression = 1688594; | |
| // 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]; | |
| EmptySpecifics managed_user_shared_setting = 202026 [deprecated = true]; | |
| EmptySpecifics managed_user_allowlist = 306060 [deprecated = true]; | |
| EmptySpecifics accessibility_annotation = 1588764 [deprecated = true]; | |
| AutofillOfferSpecifics autofill_offer = 774329 [deprecated = true]; | |
| EmptySpecifics web_apk = 1117170 [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"; | |
| reserved 1073150; | |
| reserved "power_bookmark"; | |
| reserved 1267844; | |
| reserved "plus_address"; | |
| reserved 1303742; | |
| reserved "plus_address_setting"; | |
| } | |
| message EmptySpecifics {} |