Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / sync_driver / user_selectable_sync_type.h
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 sync_driver {
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 sync_driver
65
66 #endif  // COMPONENTS_SYNC_DRIVER_USER_SELECTABLE_SYNC_TYPE_H_