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

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: 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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 PrefService::UNSYNCABLE_PREF); 146 PrefService::UNSYNCABLE_PREF);
147 // We don't sync the list of input methods and preferred languages since a 147 // We don't sync the list of input methods and preferred languages since a
148 // user might use two or more devices with different hardware keyboards. 148 // user might use two or more devices with different hardware keyboards.
149 // crosbug.com/15181 149 // crosbug.com/15181
150 prefs->RegisterStringPref(prefs::kLanguagePreferredLanguages, 150 prefs->RegisterStringPref(prefs::kLanguagePreferredLanguages,
151 kFallbackInputMethodLocale, 151 kFallbackInputMethodLocale,
152 PrefService::UNSYNCABLE_PREF); 152 PrefService::UNSYNCABLE_PREF);
153 prefs->RegisterStringPref(prefs::kLanguagePreloadEngines, 153 prefs->RegisterStringPref(prefs::kLanguagePreloadEngines,
154 hardware_keyboard_id, 154 hardware_keyboard_id,
155 PrefService::UNSYNCABLE_PREF); 155 PrefService::UNSYNCABLE_PREF);
156 prefs->RegisterStringPref(prefs::kLanguageFilteredExtensionImes,
157 "",
158 PrefService::UNSYNCABLE_PREF);
156 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 159 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
157 prefs->RegisterBooleanPref( 160 prefs->RegisterBooleanPref(
158 language_prefs::kChewingBooleanPrefs[i].pref_name, 161 language_prefs::kChewingBooleanPrefs[i].pref_name,
159 language_prefs::kChewingBooleanPrefs[i].default_pref_value, 162 language_prefs::kChewingBooleanPrefs[i].default_pref_value,
160 language_prefs::kChewingBooleanPrefs[i].sync_status); 163 language_prefs::kChewingBooleanPrefs[i].sync_status);
161 } 164 }
162 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 165 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
163 prefs->RegisterStringPref( 166 prefs->RegisterStringPref(
164 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, 167 language_prefs::kChewingMultipleChoicePrefs[i].pref_name,
165 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value, 168 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value,
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 disable_gdata_.Init(prefs::kDisableGData, prefs, this); 299 disable_gdata_.Init(prefs::kDisableGData, prefs, this);
297 disable_gdata_over_cellular_.Init(prefs::kDisableGDataOverCellular, 300 disable_gdata_over_cellular_.Init(prefs::kDisableGDataOverCellular,
298 prefs, this); 301 prefs, this);
299 disable_gdata_hosted_files_.Init(prefs::kDisableGDataHostedFiles, 302 disable_gdata_hosted_files_.Init(prefs::kDisableGDataHostedFiles,
300 prefs, this); 303 prefs, this);
301 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight, 304 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight,
302 prefs, this); 305 prefs, this);
303 preferred_languages_.Init(prefs::kLanguagePreferredLanguages, 306 preferred_languages_.Init(prefs::kLanguagePreferredLanguages,
304 prefs, this); 307 prefs, this);
305 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this); 308 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this);
309 filtered_extension_imes_.Init(prefs::kLanguageFilteredExtensionImes,
310 prefs, this);
306 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this); 311 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this);
307 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this); 312 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this);
308 313
309 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 314 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
310 chewing_boolean_prefs_[i].Init( 315 chewing_boolean_prefs_[i].Init(
311 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this); 316 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this);
312 } 317 }
313 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 318 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
314 chewing_multiple_choice_prefs_[i].Init( 319 chewing_multiple_choice_prefs_[i].Init(
315 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this); 320 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this);
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 } 463 }
459 464
460 if (!pref_name) { 465 if (!pref_name) {
461 SetInputMethodList(); 466 SetInputMethodList();
462 } else if (*pref_name == prefs::kLanguagePreloadEngines) { 467 } else if (*pref_name == prefs::kLanguagePreloadEngines) {
463 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName, 468 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName,
464 language_prefs::kPreloadEnginesConfigName, 469 language_prefs::kPreloadEnginesConfigName,
465 preload_engines_.GetValue()); 470 preload_engines_.GetValue());
466 } 471 }
467 472
473 if (!pref_name || *pref_name == prefs::kLanguageFilteredExtensionImes) {
474 std::string value(filtered_extension_imes_.GetValue());
475
476 std::vector<std::string> split_values;
477 if (!value.empty())
478 base::SplitString(value, ',', &split_values);
479
480 input_method_manager_->SetFilteredExtensionImes(split_values);
481 }
482
468 // Do not check |*pref_name| of the prefs for remembering current/previous 483 // Do not check |*pref_name| of the prefs for remembering current/previous
469 // input methods here. We're only interested in initial values of the prefs. 484 // input methods here. We're only interested in initial values of the prefs.
470 485
471 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 486 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
472 if (!pref_name || 487 if (!pref_name ||
473 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) { 488 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) {
474 SetLanguageConfigBoolean( 489 SetLanguageConfigBoolean(
475 language_prefs::kChewingSectionName, 490 language_prefs::kChewingSectionName,
476 language_prefs::kChewingBooleanPrefs[i].ibus_config_name, 491 language_prefs::kChewingBooleanPrefs[i].ibus_config_name,
477 chewing_boolean_prefs_[i].GetValue()); 492 chewing_boolean_prefs_[i].GetValue());
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 698
684 input_method::AutoRepeatRate rate; 699 input_method::AutoRepeatRate rate;
685 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); 700 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue();
686 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); 701 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue();
687 DCHECK(rate.initial_delay_in_ms > 0); 702 DCHECK(rate.initial_delay_in_ms > 0);
688 DCHECK(rate.repeat_interval_in_ms > 0); 703 DCHECK(rate.repeat_interval_in_ms > 0);
689 input_method::XKeyboard::SetAutoRepeatRate(rate); 704 input_method::XKeyboard::SetAutoRepeatRate(rate);
690 } 705 }
691 706
692 } // namespace chromeos 707 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698