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 // Flags for enabling the GCM feature. 43 message GcmChannelFlags { 44 optional bool enabled = 1; 45 } 46 47 // Flags for enabling the experimental enhanced bookmarks feature. 48 message EnhancedBookmarksFlags { 49 optional bool enabled = 1; 50 optional string extension_id = 2; 51 } 52 53 // Flags for enabling GCM channel for invalidations. 54 message GcmInvalidationsFlags { 55 optional bool enabled = 1; 56 } 57 58 // Contains one flag or set of related flags. Each node of the experiments type 59 // will have a unique_client_tag identifying which flags it contains. By 60 // convention, the tag name should match the sub-message name. 61 message ExperimentsSpecifics { 62 optional KeystoreEncryptionFlags keystore_encryption = 1; 63 optional HistoryDeleteDirectives history_delete_directives = 2; 64 optional AutofillCullingFlags autofill_culling = 3; 65 optional FaviconSyncFlags favicon_sync = 4; 66 optional PreCommitUpdateAvoidanceFlags pre_commit_update_avoidance = 5; 67 optional GcmChannelFlags gcm_channel = 6; 68 optional EnhancedBookmarksFlags enhanced_bookmarks = 7; 69 optional GcmInvalidationsFlags gcm_invalidations = 8; 70 } 71