|  | // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // This was a sync protocol datatype extension for experimental feature flags, | 
|  | // also exposed via a separate ExperimentStatus API. As of M75, the datatype | 
|  | // isn't used anymore, and as of M81 the ExperimentStatus API isn't used anymore | 
|  | // either (see crbug.com/939819 and crbug.com/1009361). The proto definition | 
|  | // needs to stay around for now so that the server can continue supporting these | 
|  | // old clients . | 
|  |  | 
|  | syntax = "proto2"; | 
|  |  | 
|  | option java_multiple_files = true; | 
|  | option java_package = "org.chromium.components.sync.protocol"; | 
|  |  | 
|  | option optimize_for = LITE_RUNTIME; | 
|  |  | 
|  | package sync_pb; | 
|  |  | 
|  | // A flag to enable support for keystore encryption. | 
|  | message KeystoreEncryptionFlags { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Whether history delete directives are enabled. | 
|  | message HistoryDeleteDirectives { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Whether this client should cull (delete) expired autofill | 
|  | // entries when autofill sync is enabled. | 
|  | message AutofillCullingFlags { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Whether the favicon sync datatypes are enabled, and what parameters | 
|  | // they should operate under. | 
|  | message FaviconSyncFlags { | 
|  | optional bool enabled = 1; | 
|  | optional int32 favicon_sync_limit = 2 [default = 200]; | 
|  | } | 
|  |  | 
|  | // Flags for enabling the experimental no-precommit GU feature. | 
|  | message PreCommitUpdateAvoidanceFlags { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Flags for enabling the GCM feature. | 
|  | message GcmChannelFlags { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Flags for enabling the experimental enhanced bookmarks feature. | 
|  | message EnhancedBookmarksFlags { | 
|  | optional bool enabled = 1; | 
|  | optional string extension_id = 2; | 
|  | } | 
|  |  | 
|  | // Flags for enabling GCM channel for invalidations. | 
|  | message GcmInvalidationsFlags { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Flags for enabling wallet data syncing. | 
|  | message WalletSyncFlags { | 
|  | optional bool enabled = 1; | 
|  | } | 
|  |  | 
|  | // Contains one flag or set of related flags.  Each node of the experiments type | 
|  | // will have a unique_client_tag identifying which flags it contains.  By | 
|  | // convention, the tag name should match the sub-message name. | 
|  | message ExperimentsSpecifics { | 
|  | optional KeystoreEncryptionFlags keystore_encryption = 1; | 
|  | optional HistoryDeleteDirectives history_delete_directives = 2; | 
|  | optional AutofillCullingFlags autofill_culling = 3; | 
|  | optional FaviconSyncFlags favicon_sync = 4; | 
|  | optional PreCommitUpdateAvoidanceFlags pre_commit_update_avoidance = 5; | 
|  | optional GcmChannelFlags gcm_channel = 6; | 
|  | // No longer used as of M43. | 
|  | optional EnhancedBookmarksFlags obsolete_enhanced_bookmarks = 7; | 
|  | // No longer used as of M72. | 
|  | optional GcmInvalidationsFlags gcm_invalidations = 8; | 
|  | // No longer used as of M51. | 
|  | optional WalletSyncFlags obsolete_wallet_sync = 9; | 
|  | } |