Chromium Code Reviews (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out

Unified Diff: chrome/browser/chromeos/preferences.h

Issue 312023002: Sync starting language and input method preferences (Closed) Base URL: svn://
Patch Set: Changes in progress, probably broken... Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/preferences.h
diff --git a/chrome/browser/chromeos/preferences.h b/chrome/browser/chromeos/preferences.h
index 3ba680fdda6ae4bc5ebe2c9b5b33e71af839b3ab..c99fa8c9d78db64049342cd9c50872f3edd93b7b 100644
--- a/chrome/browser/chromeos/preferences.h
+++ b/chrome/browser/chromeos/preferences.h
@@ -87,6 +87,12 @@ class Preferences : public PrefServiceSyncableObserver,
// Restores the user's preferred input method / keyboard layout on signing in.
void SetInputMethodList();
+ // Parses and applies the local extension IME pref.
+ void SetEnabledExtensionImes();
+ // Copies local language and input method prefs to their global counterparts.
+ void SetSyncableInputMethodPrefs();
// Updates the initial key repeat delay and key repeat interval following
// current prefs values. We set the delay and interval at once since an
// underlying XKB API requires it.
@@ -96,6 +102,9 @@ class Preferences : public PrefServiceSyncableObserver,
// on the cmd line.
void ForceNaturalScrollDefault();
+ // Add the input methods from the syncable prefs to the local prefs.
+ void MergeSyncedInputMethods();
// PrefServiceSyncableObserver implementation.
virtual void OnIsSyncingChanged() OVERRIDE;
@@ -124,10 +133,19 @@ class Preferences : public PrefServiceSyncableObserver,
BooleanPrefMember touch_hud_projection_enabled_;
// Input method preferences.
- StringPrefMember preload_engines_;
StringPrefMember current_input_method_;
StringPrefMember previous_input_method_;
+ // Only apply the local variants to the device settings, since the user may
+ // have different hardware keyboards on their devices. We only use the
+ // syncable variants to note the user's most recent choices, and in the
+ // initial post-OOBE sync, we add the most recent synced choices to the local
+ // values. This never affects existing profiles.
+ StringPrefMember preferred_languages_;
+ StringPrefMember preferred_languages_syncable_;
+ StringPrefMember preload_engines_;
+ StringPrefMember preload_engines_syncable_;
StringPrefMember enabled_extension_imes_;
+ StringPrefMember enabled_extension_imes_syncable_;
BooleanPrefMember xkb_auto_repeat_enabled_;
IntegerPrefMember xkb_auto_repeat_delay_pref_;

Powered by Google App Engine
This is Rietveld 408576698