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