Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Side by Side Diff: chrome/browser/chromeos/preferences.cc

Issue 10907196: Add the ability to filter out extension IMEs from the language settings page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix mock input manager Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/preferences.h" 5 #include "chrome/browser/chromeos/preferences.h"
6 6
7 #include "base/chromeos/chromeos_version.h" 7 #include "base/chromeos/chromeos_version.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/i18n/time_formatting.h" 9 #include "base/i18n/time_formatting.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 PrefService::UNSYNCABLE_PREF); 147 PrefService::UNSYNCABLE_PREF);
148 // We don't sync the list of input methods and preferred languages since a 148 // We don't sync the list of input methods and preferred languages since a
149 // user might use two or more devices with different hardware keyboards. 149 // user might use two or more devices with different hardware keyboards.
150 // crosbug.com/15181 150 // crosbug.com/15181
151 prefs->RegisterStringPref(prefs::kLanguagePreferredLanguages, 151 prefs->RegisterStringPref(prefs::kLanguagePreferredLanguages,
152 kFallbackInputMethodLocale, 152 kFallbackInputMethodLocale,
153 PrefService::UNSYNCABLE_PREF); 153 PrefService::UNSYNCABLE_PREF);
154 prefs->RegisterStringPref(prefs::kLanguagePreloadEngines, 154 prefs->RegisterStringPref(prefs::kLanguagePreloadEngines,
155 hardware_keyboard_id, 155 hardware_keyboard_id,
156 PrefService::UNSYNCABLE_PREF); 156 PrefService::UNSYNCABLE_PREF);
157 prefs->RegisterStringPref(prefs::kLanguageFilteredExtensionImes,
158 "",
159 PrefService::UNSYNCABLE_PREF);
157 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 160 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
158 prefs->RegisterBooleanPref( 161 prefs->RegisterBooleanPref(
159 language_prefs::kChewingBooleanPrefs[i].pref_name, 162 language_prefs::kChewingBooleanPrefs[i].pref_name,
160 language_prefs::kChewingBooleanPrefs[i].default_pref_value, 163 language_prefs::kChewingBooleanPrefs[i].default_pref_value,
161 language_prefs::kChewingBooleanPrefs[i].sync_status); 164 language_prefs::kChewingBooleanPrefs[i].sync_status);
162 } 165 }
163 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 166 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
164 prefs->RegisterStringPref( 167 prefs->RegisterStringPref(
165 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, 168 language_prefs::kChewingMultipleChoicePrefs[i].pref_name,
166 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value, 169 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value,
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 prefs, this); 302 prefs, this);
300 disable_drive_hosted_files_.Init(prefs::kDisableGDataHostedFiles, 303 disable_drive_hosted_files_.Init(prefs::kDisableGDataHostedFiles,
301 prefs, this); 304 prefs, this);
302 download_default_directory_.Init(prefs::kDownloadDefaultDirectory, 305 download_default_directory_.Init(prefs::kDownloadDefaultDirectory,
303 prefs, this); 306 prefs, this);
304 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight, 307 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight,
305 prefs, this); 308 prefs, this);
306 preferred_languages_.Init(prefs::kLanguagePreferredLanguages, 309 preferred_languages_.Init(prefs::kLanguagePreferredLanguages,
307 prefs, this); 310 prefs, this);
308 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this); 311 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this);
312 filtered_extension_imes_.Init(prefs::kLanguageFilteredExtensionImes,
313 prefs, this);
309 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this); 314 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this);
310 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this); 315 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this);
311 316
312 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 317 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
313 chewing_boolean_prefs_[i].Init( 318 chewing_boolean_prefs_[i].Init(
314 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this); 319 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this);
315 } 320 }
316 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 321 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
317 chewing_multiple_choice_prefs_[i].Init( 322 chewing_multiple_choice_prefs_[i].Init(
318 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this); 323 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this);
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 } 492 }
488 493
489 if (!pref_name) { 494 if (!pref_name) {
490 SetInputMethodList(); 495 SetInputMethodList();
491 } else if (*pref_name == prefs::kLanguagePreloadEngines) { 496 } else if (*pref_name == prefs::kLanguagePreloadEngines) {
492 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName, 497 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName,
493 language_prefs::kPreloadEnginesConfigName, 498 language_prefs::kPreloadEnginesConfigName,
494 preload_engines_.GetValue()); 499 preload_engines_.GetValue());
495 } 500 }
496 501
502 if (!pref_name || *pref_name == prefs::kLanguageFilteredExtensionImes) {
503 std::string value(filtered_extension_imes_.GetValue());
504
505 std::vector<std::string> split_values;
506 if (!value.empty())
507 base::SplitString(value, ',', &split_values);
508
509 input_method_manager_->SetFilteredExtensionImes(&split_values);
510 }
511
497 // Do not check |*pref_name| of the prefs for remembering current/previous 512 // Do not check |*pref_name| of the prefs for remembering current/previous
498 // input methods here. We're only interested in initial values of the prefs. 513 // input methods here. We're only interested in initial values of the prefs.
499 514
500 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 515 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
501 if (!pref_name || 516 if (!pref_name ||
502 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) { 517 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) {
503 SetLanguageConfigBoolean( 518 SetLanguageConfigBoolean(
504 language_prefs::kChewingSectionName, 519 language_prefs::kChewingSectionName,
505 language_prefs::kChewingBooleanPrefs[i].ibus_config_name, 520 language_prefs::kChewingBooleanPrefs[i].ibus_config_name,
506 chewing_boolean_prefs_[i].GetValue()); 521 chewing_boolean_prefs_[i].GetValue());
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 726
712 input_method::AutoRepeatRate rate; 727 input_method::AutoRepeatRate rate;
713 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); 728 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue();
714 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); 729 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue();
715 DCHECK(rate.initial_delay_in_ms > 0); 730 DCHECK(rate.initial_delay_in_ms > 0);
716 DCHECK(rate.repeat_interval_in_ms > 0); 731 DCHECK(rate.repeat_interval_in_ms > 0);
717 input_method::XKeyboard::SetAutoRepeatRate(rate); 732 input_method::XKeyboard::SetAutoRepeatRate(rate);
718 } 733 }
719 734
720 } // namespace chromeos 735 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/browser/resources/options/language_list.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698