// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Defines a list of the preferences that the
// PreferencesChangeProcessor should process changes for.
#ifndef CHROME_BROWSER_SYNC_GLUE_SYNCHRONIZED_PREFERENCES_H_
#define CHROME_BROWSER_SYNC_GLUE_SYNCHRONIZED_PREFERENCES_H_
#pragma once
#include "chrome/browser/translate/translate_prefs.h"
#include "chrome/common/pref_names.h"
namespace browser_sync {
static const char* kSynchronizedPreferences[] = {
// Options dialog: Basics tab.
prefs::kRestoreOnStartup,
prefs::kURLsToRestoreOnStartup,
prefs::kShowBookmarkBar,
prefs::kHomePageIsNewTabPage,
prefs::kHomePage,
prefs::kShowHomeButton,
// Default Search is not synced, needs a new data type. See
// http://crbug.com/40482
// Options dialog: Personal Stuff tab.
prefs::kPasswordManagerEnabled,
prefs::kAutofillEnabled,
prefs::kUseCustomChromeFrame,
// Options dialog: Under the hood -> Content Settings -> Cookies.
// Cookie settings and exceptions not working
prefs::kBlockThirdPartyCookies,
prefs::kClearSiteDataOnExit,
// Options dialog: Under the hood -> Content Settings ->
// Images, JavaScript, Plug-ins, Pop-ups.
prefs::kDefaultContentSettings,
prefs::kContentSettingsPatterns,
// Options dialog: Under the hood -> Content Settings -> Location.
// Exceptions not working (dialog not working either).
prefs::kGeolocationContentSettings,
prefs::kGeolocationDefaultContentSetting,
// Options dialog: under the hood -> Content Settings -> Notifications.
prefs::kDesktopNotificationDefaultContentSetting,
// Options dialog: Under the hood -> Clear browsing data.
// All working but no live update.
prefs::kDeleteBrowsingHistory,
prefs::kDeleteDownloadHistory,
prefs::kDeleteCache,
prefs::kDeleteCookies,
prefs::kDeletePasswords,
prefs::kDeleteFormData,
prefs::kDeleteTimePeriod,
// Options dialog: Under the hood -> Change proxy settings.
// Uses native OS dialog, not synced.
// Options dialog: Under the hood -> Change font and language settings.
// Serif, San Serif, Fixed font settings not synced.
prefs::kDefaultCharset,
// There is no dialog to modify the kAcceptLanguages list on OSX, so
// don't sync it.
#if !defined(OS_MACOSX)
prefs::kAcceptLanguages,
#endif
prefs::kEnableSpellCheck,
// Spell checker language not synced.
prefs::kApplicationLocale,
// Options dialog: Under the hood.
prefs::kAlternateErrorPagesEnabled,
prefs::kSearchSuggestEnabled,
prefs::kNetworkPredictionEnabled,
prefs::kSafeBrowsingEnabled,
prefs::kEnableTranslate,
// Download directory not synced.
// Clear auto-opening settings not synced.
prefs::kPromptForDownload,
// Wrench menu -> Extensions.
prefs::kExtensionsUIDeveloperMode, // no live update
// Document menu -> Zoom.
// prefs::kPerHostZoomLevels creates bad UX when synced, see
// http://crbug.com/47359.
// Document menu -> Encoding -> Auto Detect.
prefs::kWebKitUsesUniversalDetector,
// Autofill dialog.
#if defined(OS_MACOSX)
prefs::kAutofillAuxiliaryProfilesEnabled,
#endif
// Translate preferences.
TranslatePrefs::kPrefTranslateLanguageBlacklist,
TranslatePrefs::kPrefTranslateSiteBlacklist,
TranslatePrefs::kPrefTranslateWhitelists,
TranslatePrefs::kPrefTranslateDeniedCount,
TranslatePrefs::kPrefTranslateAcceptedCount,
// Desktop notification permissions.
prefs::kDesktopNotificationAllowedOrigins,
prefs::kDesktopNotificationDeniedOrigins,
// (Mac) Application menu.
prefs::kConfirmToQuitEnabled,
#if defined(OS_CHROMEOS)
// IME prefs
prefs::kLanguageChewingAddPhraseDirection,
prefs::kLanguageChewingAutoShiftCur,
prefs::kLanguageChewingCandPerPage,
prefs::kLanguageChewingEasySymbolInput,
prefs::kLanguageChewingEscCleanAllBuf,
prefs::kLanguageChewingForceLowercaseEnglish,
prefs::kLanguageChewingHsuSelKeyType,
prefs::kLanguageChewingKeyboardType,
prefs::kLanguageChewingMaxChiSymbolLen,
prefs::kLanguageChewingPhraseChoiceRearward,
prefs::kLanguageChewingPlainZhuyin,
prefs::kLanguageChewingSelKeys,
prefs::kLanguageChewingSpaceAsSelection,
prefs::kLanguageHangulKeyboard,
prefs::kLanguageMozcHistoryLearningLevel,
prefs::kLanguageMozcIncognitoMode,
prefs::kLanguageMozcNumpadCharacterForm,
prefs::kLanguageMozcPreeditMethod,
prefs::kLanguageMozcPunctuationMethod,
prefs::kLanguageMozcSessionKeymap,
prefs::kLanguageMozcShiftKeyModeSwitch,
prefs::kLanguageMozcSpaceCharacterForm,
prefs::kLanguageMozcSuggestionsSize,
prefs::kLanguageMozcSymbolMethod,
prefs::kLanguageMozcUseAutoImeTurnOff,
prefs::kLanguageMozcUseDateConversion,
prefs::kLanguageMozcUseDictionarySuggest,
prefs::kLanguageMozcUseHistorySuggest,
prefs::kLanguageMozcUseNumberConversion,
prefs::kLanguageMozcUseSingleKanjiConversion,
prefs::kLanguageMozcUseSymbolConversion,
prefs::kLanguagePinyinAutoCommit,
prefs::kLanguagePinyinCommaPeriodPage,
prefs::kLanguagePinyinCorrectPinyin,
prefs::kLanguagePinyinDoublePinyin,
prefs::kLanguagePinyinDoublePinyinSchema,
prefs::kLanguagePinyinFuzzyPinyin,
prefs::kLanguagePinyinInitChinese,
prefs::kLanguagePinyinInitFull,
prefs::kLanguagePinyinInitFullPunct,
prefs::kLanguagePinyinInitSimplifiedChinese,
prefs::kLanguagePinyinMinusEqualPage,
prefs::kLanguagePinyinShiftSelectCandidate,
prefs::kLanguagePinyinTradCandidate,
prefs::kLanguagePreferredLanguages,
prefs::kLanguagePreloadEngines,
// We don't sync the following IME prefs since they are not user-configurable
// (yet):
// prefs::kLanguageHangulHanjaKeys,
// prefs::kLanguageHotkeyNextEngineInMenu,
// prefs::kLanguageHotkeyPreviousEngine,
// prefs::kLanguageMozcSelectionShortcut,
// prefs::kLanguagePinyinLookupTablePageSize,
//
// We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod.
// Keyboard prefs
prefs::kLanguageXkbRemapAltKeyTo,
prefs::kLanguageXkbRemapControlKeyTo,
prefs::kLanguageXkbRemapSearchKeyTo,
// We don't sync the following keyboard prefs since they are not user-
// configurable:
// prefs::kLanguageXkbAutoRepeatDelay,
// prefs::kLanguageXkbAutoRepeatEnabled,
// prefs::kLanguageXkbAutoRepeatInterval,
// Whether to show mobile plan notifications.
// Settings -> Internet -> Mobile plan details
prefs::kShowPlanNotifications,
// Whether to require password to wake up from sleep
// Settings -> Personal Stuff -> Account
prefs::kEnableScreenLock,
// Whether to enable tap-to-click
// Settings -> System -> Touchpad
prefs::kTapToClickEnabled,
// Whether to use the 24-hour clock format.
// Settings -> System -> Date and Time
prefs::kUse24HourClock,
#endif
};
} // namespace browser_sync
#endif // CHROME_BROWSER_SYNC_GLUE_SYNCHRONIZED_PREFERENCES_H_