Home | History | Annotate | Download | only in sync_driver
      1 // Copyright 2014 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 #ifndef COMPONENTS_SYNC_DRIVER_USER_SELECTABLE_SYNC_TYPE_H_
      6 #define COMPONENTS_SYNC_DRIVER_USER_SELECTABLE_SYNC_TYPE_H_
      7 
      8 namespace browser_sync {
      9 namespace user_selectable_type {
     10 
     11 // An enumeration of the sync datatypes that are explicitly exposed to the user
     12 // via checkboxes in the "Advanced Sync Preferences" dialog. Used solely for the
     13 // purposes of UMA histogram logging of the datatypes explicitly selected by
     14 // users when sync is configured on a machine. This is a subset of the sync
     15 // types listed in sync/internal_api/public/base/model_type.h.
     16 //
     17 // Note: New sync datatypes must be added to the end of this list. Adding them
     18 // anywhere else will result in incorrect histogram logging.
     19 
     20 // THIS ENUM IS MEANT SOLELY FOR THE PURPOSE OF HISTOGRAM LOGGING. IF YOU ARE
     21 // LOOKING TO MODIFY SYNC FUNCTIONALITY AND NEED A LIST OF SYNC TYPES, USE
     22 // syncer::ModelType.
     23 
     24 enum UserSelectableSyncType {
     25   BOOKMARKS = 0,
     26   PREFERENCES = 1,
     27   PASSWORDS = 2,
     28   AUTOFILL = 3,
     29   THEMES = 4,
     30   TYPED_URLS = 5,
     31   EXTENSIONS = 6,
     32   PROXY_TABS = 7,
     33   APPS = 8,
     34   // TODO(petewil): There was talk of removing this from user selectable sync
     35   // types.  Should we?
     36   SYNCED_NOTIFICATIONS = 9,
     37 
     38   // The datatypes below are implicitly synced, and are not exposed via user
     39   // selectable checkboxes.
     40 
     41   // AUTOFILL_PROFILE,
     42   // NIGORI,
     43   // DICTIONARY
     44   // SEARCH_ENGINES,
     45   // APP_LIST,
     46   // APP_SETTINGS,
     47   // EXTENSION_SETTINGS,
     48   // APP_NOTIFICATIONS,
     49   // DEVICE_INFO,
     50   // EXPERIMENTS,
     51   // PRIORITY_PREFERENCES,
     52   // SESSIONS,
     53   // HISTORY_DELETE_DIRECTIVES,
     54   // FAVICON_IMAGES,
     55   // FAVICON_TRACKING,
     56   // ARTICLE,
     57   // SYNCED_NOTIFICATION_APP_INFO
     58 
     59   // Number of sync datatypes exposed to the user via checboxes in the UI.
     60   SELECTABLE_DATATYPE_COUNT = 10,
     61 };
     62 
     63 }  // namespace user_selectable_type
     64 }  // namespace browser_sync
     65 
     66 #endif  // COMPONENTS_SYNC_DRIVER_USER_SELECTABLE_SYNC_TYPE_H_
     67