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

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: Code review fixes 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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 prefs, this); 301 prefs, this);
299 disable_drive_hosted_files_.Init(prefs::kDisableGDataHostedFiles, 302 disable_drive_hosted_files_.Init(prefs::kDisableGDataHostedFiles,
300 prefs, this); 303 prefs, this);
301 download_default_directory_.Init(prefs::kDownloadDefaultDirectory, 304 download_default_directory_.Init(prefs::kDownloadDefaultDirectory,
302 prefs, this); 305 prefs, this);
303 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight, 306 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight,
304 prefs, this); 307 prefs, this);
305 preferred_languages_.Init(prefs::kLanguagePreferredLanguages, 308 preferred_languages_.Init(prefs::kLanguagePreferredLanguages,
306 prefs, this); 309 prefs, this);
307 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this); 310 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this);
311 filtered_extension_imes_.Init(prefs::kLanguageFilteredExtensionImes,
312 prefs, this);
308 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this); 313 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this);
309 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this); 314 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this);
310 315
311 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 316 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
312 chewing_boolean_prefs_[i].Init( 317 chewing_boolean_prefs_[i].Init(
313 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this); 318 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this);
314 } 319 }
315 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 320 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
316 chewing_multiple_choice_prefs_[i].Init( 321 chewing_multiple_choice_prefs_[i].Init(
317 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this); 322 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this);
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 } 477 }
473 478
474 if (!pref_name) { 479 if (!pref_name) {
475 SetInputMethodList(); 480 SetInputMethodList();
476 } else if (*pref_name == prefs::kLanguagePreloadEngines) { 481 } else if (*pref_name == prefs::kLanguagePreloadEngines) {
477 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName, 482 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName,
478 language_prefs::kPreloadEnginesConfigName, 483 language_prefs::kPreloadEnginesConfigName,
479 preload_engines_.GetValue()); 484 preload_engines_.GetValue());
480 } 485 }
481 486
487 if (!pref_name || *pref_name == prefs::kLanguageFilteredExtensionImes) {
488 std::string value(filtered_extension_imes_.GetValue());
489
490 std::vector<std::string> split_values;
491 if (!value.empty())
492 base::SplitString(value, ',', &split_values);
493
494 input_method_manager_->SetFilteredExtensionImes(&split_values);
495 }
496
482 // Do not check |*pref_name| of the prefs for remembering current/previous 497 // Do not check |*pref_name| of the prefs for remembering current/previous
483 // input methods here. We're only interested in initial values of the prefs. 498 // input methods here. We're only interested in initial values of the prefs.
484 499
485 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 500 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
486 if (!pref_name || 501 if (!pref_name ||
487 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) { 502 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) {
488 SetLanguageConfigBoolean( 503 SetLanguageConfigBoolean(
489 language_prefs::kChewingSectionName, 504 language_prefs::kChewingSectionName,
490 language_prefs::kChewingBooleanPrefs[i].ibus_config_name, 505 language_prefs::kChewingBooleanPrefs[i].ibus_config_name,
491 chewing_boolean_prefs_[i].GetValue()); 506 chewing_boolean_prefs_[i].GetValue());
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 711
697 input_method::AutoRepeatRate rate; 712 input_method::AutoRepeatRate rate;
698 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); 713 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue();
699 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); 714 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue();
700 DCHECK(rate.initial_delay_in_ms > 0); 715 DCHECK(rate.initial_delay_in_ms > 0);
701 DCHECK(rate.repeat_interval_in_ms > 0); 716 DCHECK(rate.repeat_interval_in_ms > 0);
702 input_method::XKeyboard::SetAutoRepeatRate(rate); 717 input_method::XKeyboard::SetAutoRepeatRate(rate);
703 } 718 }
704 719
705 } // namespace chromeos 720 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698