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

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

Issue 312023002: Sync starting language and input method preferences (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
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 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 #ifndef CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_PREFERENCES_H_
6 #define CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ 6 #define CHROME_BROWSER_CHROMEOS_PREFERENCES_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 80
81 // A variant of SetLanguageConfigStringList. You can pass comma-separated 81 // A variant of SetLanguageConfigStringList. You can pass comma-separated
82 // values. Examples of |value|: "", "Control+space,Hiragana" 82 // values. Examples of |value|: "", "Control+space,Hiragana"
83 void SetLanguageConfigStringListAsCSV(const char* section, 83 void SetLanguageConfigStringListAsCSV(const char* section,
84 const char* name, 84 const char* name,
85 const std::string& value); 85 const std::string& value);
86 86
87 // Restores the user's preferred input method / keyboard layout on signing in. 87 // Restores the user's preferred input method / keyboard layout on signing in.
88 void SetInputMethodList(); 88 void SetInputMethodList();
89 89
90 // Parses and applies the local extension IME pref.
91 void SetEnabledExtensionImes();
92
93 // Copies local language and input method prefs to their global counterparts.
94 void SetSyncableInputMethodPrefs();
95
90 // Updates the initial key repeat delay and key repeat interval following 96 // Updates the initial key repeat delay and key repeat interval following
91 // current prefs values. We set the delay and interval at once since an 97 // current prefs values. We set the delay and interval at once since an
92 // underlying XKB API requires it. 98 // underlying XKB API requires it.
93 void UpdateAutoRepeatRate(); 99 void UpdateAutoRepeatRate();
94 100
95 // Force natural scroll to on if --enable-natural-scroll-default is specified 101 // Force natural scroll to on if --enable-natural-scroll-default is specified
96 // on the cmd line. 102 // on the cmd line.
97 void ForceNaturalScrollDefault(); 103 void ForceNaturalScrollDefault();
98 104
105 // Add the input methods from the syncable prefs to the local prefs.
106 void MergeSyncedInputMethods();
107
99 // PrefServiceSyncableObserver implementation. 108 // PrefServiceSyncableObserver implementation.
100 virtual void OnIsSyncingChanged() OVERRIDE; 109 virtual void OnIsSyncingChanged() OVERRIDE;
101 110
102 // Overriden from ash::ShellObserver. 111 // Overriden from ash::ShellObserver.
103 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; 112 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE;
104 113
105 // Overriden form UserManager::UserSessionStateObserver. 114 // Overriden form UserManager::UserSessionStateObserver.
106 virtual void ActiveUserChanged(const User* active_user) OVERRIDE; 115 virtual void ActiveUserChanged(const User* active_user) OVERRIDE;
107 116
108 PrefServiceSyncable* prefs_; 117 PrefServiceSyncable* prefs_;
109 118
110 input_method::InputMethodManager* input_method_manager_; 119 input_method::InputMethodManager* input_method_manager_;
111 scoped_ptr<TracingManager> tracing_manager_; 120 scoped_ptr<TracingManager> tracing_manager_;
112 121
113 BooleanPrefMember performance_tracing_enabled_; 122 BooleanPrefMember performance_tracing_enabled_;
114 BooleanPrefMember tap_to_click_enabled_; 123 BooleanPrefMember tap_to_click_enabled_;
115 BooleanPrefMember tap_dragging_enabled_; 124 BooleanPrefMember tap_dragging_enabled_;
116 BooleanPrefMember three_finger_click_enabled_; 125 BooleanPrefMember three_finger_click_enabled_;
117 BooleanPrefMember natural_scroll_; 126 BooleanPrefMember natural_scroll_;
118 BooleanPrefMember vert_edge_scroll_enabled_; 127 BooleanPrefMember vert_edge_scroll_enabled_;
119 IntegerPrefMember speed_factor_; 128 IntegerPrefMember speed_factor_;
120 IntegerPrefMember mouse_sensitivity_; 129 IntegerPrefMember mouse_sensitivity_;
121 IntegerPrefMember touchpad_sensitivity_; 130 IntegerPrefMember touchpad_sensitivity_;
122 BooleanPrefMember primary_mouse_button_right_; 131 BooleanPrefMember primary_mouse_button_right_;
123 FilePathPrefMember download_default_directory_; 132 FilePathPrefMember download_default_directory_;
124 BooleanPrefMember touch_hud_projection_enabled_; 133 BooleanPrefMember touch_hud_projection_enabled_;
125 134
126 // Input method preferences. 135 // Input method preferences.
127 StringPrefMember preload_engines_;
128 StringPrefMember current_input_method_; 136 StringPrefMember current_input_method_;
129 StringPrefMember previous_input_method_; 137 StringPrefMember previous_input_method_;
138 // Only apply the local variants to the device settings, since the user may
139 // have different hardware keyboards on their devices. We only use the
140 // syncable variants to note the user's most recent choices, and in the
141 // initial post-OOBE sync, we add the most recent synced choices to the local
142 // values. This never affects existing profiles.
143 StringPrefMember preferred_languages_;
144 StringPrefMember preferred_languages_syncable_;
145 StringPrefMember preload_engines_;
146 StringPrefMember preload_engines_syncable_;
130 StringPrefMember enabled_extension_imes_; 147 StringPrefMember enabled_extension_imes_;
148 StringPrefMember enabled_extension_imes_syncable_;
131 149
132 BooleanPrefMember xkb_auto_repeat_enabled_; 150 BooleanPrefMember xkb_auto_repeat_enabled_;
133 IntegerPrefMember xkb_auto_repeat_delay_pref_; 151 IntegerPrefMember xkb_auto_repeat_delay_pref_;
134 IntegerPrefMember xkb_auto_repeat_interval_pref_; 152 IntegerPrefMember xkb_auto_repeat_interval_pref_;
135 153
136 // User owning these preferences. 154 // User owning these preferences.
137 const User* user_; 155 const User* user_;
138 156
139 // Whether user is a primary user. 157 // Whether user is a primary user.
140 bool user_is_primary_; 158 bool user_is_primary_;
141 159
142 DISALLOW_COPY_AND_ASSIGN(Preferences); 160 DISALLOW_COPY_AND_ASSIGN(Preferences);
143 }; 161 };
144 162
145 } // namespace chromeos 163 } // namespace chromeos
146 164
147 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ 165 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698