• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 // Defines a list of the preferences that the
6 // PreferencesChangeProcessor should process changes for.
7 
8 #ifndef CHROME_BROWSER_SYNC_GLUE_SYNCHRONIZED_PREFERENCES_H_
9 #define CHROME_BROWSER_SYNC_GLUE_SYNCHRONIZED_PREFERENCES_H_
10 #pragma once
11 
12 #include "chrome/browser/translate/translate_prefs.h"
13 #include "chrome/common/pref_names.h"
14 
15 namespace browser_sync {
16 
17 static const char* kSynchronizedPreferences[] = {
18   // Options dialog: Basics tab.
19   prefs::kRestoreOnStartup,
20   prefs::kURLsToRestoreOnStartup,
21   prefs::kShowBookmarkBar,
22   prefs::kHomePageIsNewTabPage,
23   prefs::kHomePage,
24   prefs::kShowHomeButton,
25   // Default Search is not synced, needs a new data type.  See
26   // http://crbug.com/40482
27 
28   // Options dialog: Personal Stuff tab.
29   prefs::kPasswordManagerEnabled,
30   prefs::kAutofillEnabled,
31   prefs::kUseCustomChromeFrame,
32 
33   // Options dialog: Under the hood -> Content Settings -> Cookies.
34   //   Cookie settings and exceptions not working
35   prefs::kBlockThirdPartyCookies,
36   prefs::kClearSiteDataOnExit,
37 
38   // Options dialog: Under the hood -> Content Settings ->
39   //     Images, JavaScript, Plug-ins, Pop-ups.
40   prefs::kDefaultContentSettings,
41   prefs::kContentSettingsPatterns,
42 
43   // Options dialog: Under the hood -> Content Settings -> Location.
44   //   Exceptions not working (dialog not working either).
45   prefs::kGeolocationContentSettings,
46   prefs::kGeolocationDefaultContentSetting,
47 
48   // Options dialog: under the hood -> Content Settings -> Notifications.
49   prefs::kDesktopNotificationDefaultContentSetting,
50 
51   // Options dialog: Under the hood -> Clear browsing data.
52   //  All working but no live update.
53   prefs::kDeleteBrowsingHistory,
54   prefs::kDeleteDownloadHistory,
55   prefs::kDeleteCache,
56   prefs::kDeleteCookies,
57   prefs::kDeletePasswords,
58   prefs::kDeleteFormData,
59   prefs::kDeleteTimePeriod,
60 
61   // Options dialog: Under the hood -> Change proxy settings.
62   //  Uses native OS dialog, not synced.
63 
64   // Options dialog: Under the hood -> Change font and language settings.
65   //   Serif, San Serif, Fixed font settings not synced.
66   prefs::kDefaultCharset,
67   // There is no dialog to modify the kAcceptLanguages list on OSX, so
68   // don't sync it.
69 #if !defined(OS_MACOSX)
70   prefs::kAcceptLanguages,
71 #endif
72   prefs::kEnableSpellCheck,
73   // Spell checker language not synced.
74   prefs::kApplicationLocale,
75 
76   // Options dialog: Under the hood.
77   prefs::kAlternateErrorPagesEnabled,
78   prefs::kSearchSuggestEnabled,
79   prefs::kNetworkPredictionEnabled,
80   prefs::kSafeBrowsingEnabled,
81   prefs::kEnableTranslate,
82   // Download directory not synced.
83   // Clear auto-opening settings not synced.
84   prefs::kPromptForDownload,
85 
86   // Wrench menu -> Extensions.
87   prefs::kExtensionsUIDeveloperMode,  // no live update
88 
89   // Document menu -> Zoom.
90   //   prefs::kPerHostZoomLevels creates bad UX when synced, see
91   //   http://crbug.com/47359.
92 
93   // Document menu -> Encoding -> Auto Detect.
94   prefs::kWebKitUsesUniversalDetector,
95 
96   // Autofill dialog.
97 #if defined(OS_MACOSX)
98   prefs::kAutofillAuxiliaryProfilesEnabled,
99 #endif
100 
101   // Translate preferences.
102   TranslatePrefs::kPrefTranslateLanguageBlacklist,
103   TranslatePrefs::kPrefTranslateSiteBlacklist,
104   TranslatePrefs::kPrefTranslateWhitelists,
105   TranslatePrefs::kPrefTranslateDeniedCount,
106   TranslatePrefs::kPrefTranslateAcceptedCount,
107 
108   // Desktop notification permissions.
109   prefs::kDesktopNotificationAllowedOrigins,
110   prefs::kDesktopNotificationDeniedOrigins,
111 
112   // (Mac) Application menu.
113   prefs::kConfirmToQuitEnabled,
114 
115 #if defined(OS_CHROMEOS)
116   // IME prefs
117   prefs::kLanguageChewingAddPhraseDirection,
118   prefs::kLanguageChewingAutoShiftCur,
119   prefs::kLanguageChewingCandPerPage,
120   prefs::kLanguageChewingEasySymbolInput,
121   prefs::kLanguageChewingEscCleanAllBuf,
122   prefs::kLanguageChewingForceLowercaseEnglish,
123   prefs::kLanguageChewingHsuSelKeyType,
124   prefs::kLanguageChewingKeyboardType,
125   prefs::kLanguageChewingMaxChiSymbolLen,
126   prefs::kLanguageChewingPhraseChoiceRearward,
127   prefs::kLanguageChewingPlainZhuyin,
128   prefs::kLanguageChewingSelKeys,
129   prefs::kLanguageChewingSpaceAsSelection,
130   prefs::kLanguageHangulKeyboard,
131   prefs::kLanguageMozcHistoryLearningLevel,
132   prefs::kLanguageMozcIncognitoMode,
133   prefs::kLanguageMozcNumpadCharacterForm,
134   prefs::kLanguageMozcPreeditMethod,
135   prefs::kLanguageMozcPunctuationMethod,
136   prefs::kLanguageMozcSessionKeymap,
137   prefs::kLanguageMozcShiftKeyModeSwitch,
138   prefs::kLanguageMozcSpaceCharacterForm,
139   prefs::kLanguageMozcSuggestionsSize,
140   prefs::kLanguageMozcSymbolMethod,
141   prefs::kLanguageMozcUseAutoImeTurnOff,
142   prefs::kLanguageMozcUseDateConversion,
143   prefs::kLanguageMozcUseDictionarySuggest,
144   prefs::kLanguageMozcUseHistorySuggest,
145   prefs::kLanguageMozcUseNumberConversion,
146   prefs::kLanguageMozcUseSingleKanjiConversion,
147   prefs::kLanguageMozcUseSymbolConversion,
148   prefs::kLanguagePinyinAutoCommit,
149   prefs::kLanguagePinyinCommaPeriodPage,
150   prefs::kLanguagePinyinCorrectPinyin,
151   prefs::kLanguagePinyinDoublePinyin,
152   prefs::kLanguagePinyinDoublePinyinSchema,
153   prefs::kLanguagePinyinFuzzyPinyin,
154   prefs::kLanguagePinyinInitChinese,
155   prefs::kLanguagePinyinInitFull,
156   prefs::kLanguagePinyinInitFullPunct,
157   prefs::kLanguagePinyinInitSimplifiedChinese,
158   prefs::kLanguagePinyinMinusEqualPage,
159   prefs::kLanguagePinyinShiftSelectCandidate,
160   prefs::kLanguagePinyinTradCandidate,
161   prefs::kLanguagePreferredLanguages,
162   prefs::kLanguagePreloadEngines,
163 
164   // We don't sync the following IME prefs since they are not user-configurable
165   // (yet):
166   //   prefs::kLanguageHangulHanjaKeys,
167   //   prefs::kLanguageHotkeyNextEngineInMenu,
168   //   prefs::kLanguageHotkeyPreviousEngine,
169   //   prefs::kLanguageMozcSelectionShortcut,
170   //   prefs::kLanguagePinyinLookupTablePageSize,
171   //
172   // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod.
173 
174   // Keyboard prefs
175   prefs::kLanguageXkbRemapAltKeyTo,
176   prefs::kLanguageXkbRemapControlKeyTo,
177   prefs::kLanguageXkbRemapSearchKeyTo,
178 
179   // We don't sync the following keyboard prefs since they are not user-
180   // configurable:
181   //   prefs::kLanguageXkbAutoRepeatDelay,
182   //   prefs::kLanguageXkbAutoRepeatEnabled,
183   //   prefs::kLanguageXkbAutoRepeatInterval,
184 
185   // Whether to show mobile plan notifications.
186   //   Settings -> Internet -> Mobile plan details
187   prefs::kShowPlanNotifications,
188 
189   // Whether to require password to wake up from sleep
190   //   Settings -> Personal Stuff -> Account
191   prefs::kEnableScreenLock,
192 
193   // Whether to enable tap-to-click
194   //   Settings -> System -> Touchpad
195   prefs::kTapToClickEnabled,
196 
197   // Whether to use the 24-hour clock format.
198   //   Settings -> System -> Date and Time
199   prefs::kUse24HourClock,
200 #endif
201 };
202 
203 }  // namespace browser_sync
204 
205 #endif  // CHROME_BROWSER_SYNC_GLUE_SYNCHRONIZED_PREFERENCES_H_
206