| Index: chrome/browser/chromeos/language_preferences.cc
|
| diff --git a/chrome/browser/chromeos/language_preferences.cc b/chrome/browser/chromeos/language_preferences.cc
|
| index e699eaa8f70b53e0004b20896c01beeaa9cff073..6cf9667595a013715d7986f752493dc1c7b5fea3 100644
|
| --- a/chrome/browser/chromeos/language_preferences.cc
|
| +++ b/chrome/browser/chromeos/language_preferences.cc
|
| @@ -32,35 +32,47 @@ const char kChewingSectionName[] = "engine/Chewing";
|
| // ibus-chewing/files/src/Config.cc.
|
| const LanguageBooleanPrefs kChewingBooleanPrefs[] = {
|
| { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION,
|
| + PrefService::SYNCABLE_PREF },
|
| /* Temporarily disabled. (crosbug.com/14185)
|
| { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT,
|
| + PrefService::SYNCABLE_PREF },
|
| */
|
| { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageChewingForceLowercaseEnglish, false,
|
| "forceLowercaseEnglish",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH,
|
| + PrefService::SYNCABLE_PREF },
|
| /* Temporarily disabled. (crosbug.com/14185)
|
| { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN,
|
| + PrefService::SYNCABLE_PREF },
|
| */
|
| { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION,
|
| + PrefService::SYNCABLE_PREF },
|
| };
|
| COMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs),
|
| TheSizeShouldMatch);
|
|
|
| const LanguageIntegerRangePreference kChewingIntegerPrefs[] = {
|
| { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN,
|
| + PrefService::SYNCABLE_PREF
|
| + },
|
| { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE},
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE,
|
| + PrefService::SYNCABLE_PREF
|
| + },
|
| };
|
| COMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs),
|
| TheSizeShouldMatch);
|
| @@ -85,6 +97,7 @@ const LanguageMultipleChoicePreference<const char*>
|
| IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 },
|
| { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }},
|
| IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE,
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageChewingSelKeys,
|
| "1234567890",
|
| @@ -106,6 +119,7 @@ const LanguageMultipleChoicePreference<const char*>
|
| { "1234qweras",
|
| IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }},
|
| IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS,
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| };
|
| COMPILE_ASSERT(kNumChewingMultipleChoicePrefs ==
|
| @@ -119,6 +133,7 @@ const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = {
|
| {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 },
|
| { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }},
|
| IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE,
|
| + PrefService::SYNCABLE_PREF,
|
| };
|
|
|
| // ---------------------------------------------------------------------------
|
| @@ -155,27 +170,38 @@ const char kPinyinSectionName[] = "engine/Pinyin";
|
| // ibus-pinyin/files/src/Config.cc.
|
| const LanguageBooleanPrefs kPinyinBooleanPrefs[] = {
|
| { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinInitChinese, true, "InitChinese",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinInitFull, false, "InitFull",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT,
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese",
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE },
|
| + IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE,
|
| + PrefService::SYNCABLE_PREF },
|
| // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32
|
| // additional boolean prefs.)
|
| };
|
| @@ -193,11 +219,13 @@ const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = {
|
| { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY},
|
| { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}},
|
| IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA,
|
| + PrefService::SYNCABLE_PREF,
|
| };
|
|
|
| const PinyinIntegerPref kPinyinIntegerPrefs[] = {
|
| // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint.
|
| - { prefs::kLanguagePinyinLookupTablePageSize, 5, "LookupTablePageSize" },
|
| + { prefs::kLanguagePinyinLookupTablePageSize, 5, "LookupTablePageSize",
|
| + PrefService::UNSYNCABLE_PREF } // don't sync as it's not user configurable.
|
| };
|
| COMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs),
|
| TheSizeShouldMatch);
|
| @@ -214,43 +242,43 @@ const LanguageBooleanPrefs kMozcBooleanPrefs[] = {
|
| { prefs::kLanguageMozcIncognitoMode,
|
| false,
|
| "incognito_mode",
|
| - IDS_MOZC(INCOGNITO_MODE)
|
| - },
|
| + IDS_MOZC(INCOGNITO_MODE),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseAutoImeTurnOff,
|
| true,
|
| "use_auto_ime_turn_off",
|
| - IDS_MOZC(USE_AUTO_IME_TURN_OFF)
|
| - },
|
| + IDS_MOZC(USE_AUTO_IME_TURN_OFF),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseDateConversion,
|
| true,
|
| "use_date_conversion",
|
| - IDS_MOZC(USE_DATE_CONVERSION)
|
| - },
|
| + IDS_MOZC(USE_DATE_CONVERSION),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseSingleKanjiConversion,
|
| true,
|
| "use_single_kanji_conversion",
|
| - IDS_MOZC(USE_SINGLE_KANJI_CONVERSION)
|
| - },
|
| + IDS_MOZC(USE_SINGLE_KANJI_CONVERSION),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseSymbolConversion,
|
| true,
|
| "use_symbol_conversion",
|
| - IDS_MOZC(USE_SYMBOL_CONVERSION)
|
| - },
|
| + IDS_MOZC(USE_SYMBOL_CONVERSION),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseNumberConversion,
|
| true,
|
| "use_number_conversion",
|
| - IDS_MOZC(USE_NUMBER_CONVERSION)
|
| - },
|
| + IDS_MOZC(USE_NUMBER_CONVERSION),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseHistorySuggest,
|
| true,
|
| "use_history_suggest",
|
| - IDS_MOZC(USE_HISTORY_SUGGEST)
|
| - },
|
| + IDS_MOZC(USE_HISTORY_SUGGEST),
|
| + PrefService::SYNCABLE_PREF },
|
| { prefs::kLanguageMozcUseDictionarySuggest,
|
| true,
|
| "use_dictionary_suggest",
|
| - IDS_MOZC(USE_DICTIONARY_SUGGEST)
|
| - },
|
| + IDS_MOZC(USE_DICTIONARY_SUGGEST),
|
| + PrefService::SYNCABLE_PREF },
|
| };
|
| COMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs),
|
| TheSizeShouldMatch);
|
| @@ -263,6 +291,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| {{ "ROMAN", IDS_MOZC(PREEDIT_METHOD_ROMAN) },
|
| { "KANA", IDS_MOZC(PREEDIT_METHOD_KANA) }},
|
| IDS_MOZC(PREEDIT_METHOD),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageMozcSessionKeymap,
|
| "MSIME",
|
| @@ -272,6 +301,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "KOTOERI", IDS_MOZC(SESSION_KEYMAP_KOTOERI) }},
|
| // TODO: Support "CUSTOM" keymap.
|
| IDS_MOZC(SESSION_KEYMAP),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageMozcPunctuationMethod,
|
| "KUTEN_TOUTEN",
|
| @@ -285,6 +315,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "COMMA_TOUTEN",
|
| IDS_MOZC(PUNCTUATION_METHOD_COMMA_TOUTEN) }},
|
| IDS_MOZC(PUNCTUATION_METHOD),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageMozcSymbolMethod,
|
| "CORNER_BRACKET_MIDDLE_DOT",
|
| @@ -298,6 +329,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "SQUARE_BRACKET_MIDDLE_DOT",
|
| IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_DOT) }},
|
| IDS_MOZC(SYMBOL_METHOD),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageMozcSpaceCharacterForm,
|
| "FUNDAMENTAL_INPUT_MODE",
|
| @@ -309,6 +341,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "FUNDAMENTAL_HALF_WIDTH",
|
| IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF_WIDTH) }},
|
| IDS_MOZC(SPACE_CHARACTER_FORM),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageMozcHistoryLearningLevel,
|
| "DEFAULT_HISTORY",
|
| @@ -320,6 +353,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "NO_HISTORY",
|
| IDS_MOZC(HISTORY_LEARNING_LEVEL_NO_HISTORY) }},
|
| IDS_MOZC(HISTORY_LEARNING_LEVEL),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| // TODO(mazda): Uncomment this block once the candidate window in Chrome OS
|
| // supports changing shortcut labels.
|
| @@ -333,6 +367,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| // { "SHORTCUT_ASDFGHJKL",
|
| // IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_ASDFGHJKL) }},
|
| // IDS_MOZC(SELECTION_SHORTCUT),
|
| + // PrefService::SYNCABLE_PREF,
|
| // },
|
| { prefs::kLanguageMozcShiftKeyModeSwitch,
|
| "ASCII_INPUT_MODE",
|
| @@ -344,6 +379,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "KATAKANA_INPUT_MODE",
|
| IDS_MOZC(SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_MODE) }},
|
| IDS_MOZC(SHIFT_KEY_MODE_SWITCH),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| { prefs::kLanguageMozcNumpadCharacterForm,
|
| "NUMPAD_HALF_WIDTH",
|
| @@ -357,6 +393,7 @@ extern const LanguageMultipleChoicePreference<const char*>
|
| { "NUMPAD_DIRECT_INPUT",
|
| IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_INPUT) }},
|
| IDS_MOZC(NUMPAD_CHARACTER_FORM),
|
| + PrefService::SYNCABLE_PREF,
|
| },
|
| };
|
| COMPILE_ASSERT(kNumMozcMultipleChoicePrefs ==
|
| @@ -365,7 +402,7 @@ COMPILE_ASSERT(kNumMozcMultipleChoicePrefs ==
|
|
|
| const LanguageIntegerRangePreference kMozcIntegerPrefs[] = {
|
| { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size",
|
| - IDS_MOZC(SUGGESTIONS_SIZE)},
|
| + IDS_MOZC(SUGGESTIONS_SIZE), PrefService::SYNCABLE_PREF }
|
| };
|
| COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs),
|
| TheSizeShouldMatch);
|
| @@ -375,18 +412,6 @@ COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs),
|
| // ---------------------------------------------------------------------------
|
| // For keyboard stuff
|
| // ---------------------------------------------------------------------------
|
| -const LanguageMultipleChoicePreference<int> kXkbModifierMultipleChoicePrefs = {
|
| - NULL, // don't use this field since the config is associated with 3 prefs.
|
| - kNoRemap,
|
| - NULL, // does not use the ibus configuration service.
|
| - {{ kNoRemap, IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_NO_REMAP },
|
| - { kSwapCtrlAndAlt,
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_CTRL_ALT },
|
| - { kSwapSearchAndCtrl,
|
| - IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_SEARCH_CTRL }},
|
| - 0, // does not use the label.
|
| -};
|
| -
|
| const int kXkbAutoRepeatDelayInMs = 500;
|
| const int kXkbAutoRepeatIntervalInMs = 50;
|
| const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout";
|
|
|