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 7syntax = "proto2"; 8 9option optimize_for = LITE_RUNTIME; 10option retain_unknown_fields = true; 11 12package sync_pb; 13 14// A flag to enable support for keystore encryption. 15message KeystoreEncryptionFlags { 16 optional bool enabled = 1; 17} 18 19// Whether history delete directives are enabled. 20message HistoryDeleteDirectives { 21 optional bool enabled = 1; 22} 23 24// Whether this client should cull (delete) expired autofill 25// entries when autofill sync is enabled. 26message AutofillCullingFlags { 27 optional bool enabled = 1; 28} 29 30// Whether the favicon sync datatypes are enabled, and what parameters 31// they should operate under. 32message 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. 38message PreCommitUpdateAvoidanceFlags { 39 optional bool enabled = 1; 40} 41 42// Flags for enabling the GCM feature. 43message GcmChannelFlags { 44 optional bool enabled = 1; 45} 46 47// Flags for enabling the experimental enhanced bookmarks feature. 48message EnhancedBookmarksFlags { 49 optional bool enabled = 1; 50 optional string extension_id = 2; 51} 52 53// Flags for enabling GCM channel for invalidations. 54message 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. 61message 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