1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 // 5 // Sync protocol datatype extension for experimental feature flags. 6 7 syntax = "proto2"; 8 9 option optimize_for = LITE_RUNTIME; 10 option retain_unknown_fields = true; 11 12 package sync_pb; 13 14 // A flag to enable support for keystore encryption. 15 message KeystoreEncryptionFlags { 16 optional bool enabled = 1; 17 } 18 19 // Whether history delete directives are enabled. 20 message HistoryDeleteDirectives { 21 optional bool enabled = 1; 22 } 23 24 // Whether this client should cull (delete) expired autofill 25 // entries when autofill sync is enabled. 26 message AutofillCullingFlags { 27 optional bool enabled = 1; 28 } 29 30 // Whether the favicon sync datatypes are enabled, and what parameters 31 // they should operate under. 32 message FaviconSyncFlags { 33 optional bool enabled = 1; 34 optional int32 favicon_sync_limit = 2 [default = 200]; 35 } 36 37 // Flags for enabling the experimental no-precommit GU feature. 38 message PreCommitUpdateAvoidanceFlags { 39 optional bool enabled = 1; 40 } 41 42 // Contains one flag or set of related flags. Each node of the experiments type 43 // will have a unique_client_tag identifying which flags it contains. By 44 // convention, the tag name should match the sub-message name. 45 message ExperimentsSpecifics { 46 optional KeystoreEncryptionFlags keystore_encryption = 1; 47 optional HistoryDeleteDirectives history_delete_directives = 2; 48 optional AutofillCullingFlags autofill_culling = 3; 49 optional FaviconSyncFlags favicon_sync = 4; 50 optional PreCommitUpdateAvoidanceFlags pre_commit_update_avoidance = 5; 51 } 52