Home | History | Annotate | Download | only in glue
      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