OLD | NEW |
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 |
11 #include "ash/shell_observer.h" | 11 #include "ash/shell_observer.h" |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/prefs/pref_member.h" | 13 #include "base/prefs/pref_member.h" |
14 #include "chrome/browser/chromeos/language_preferences.h" | 14 #include "chrome/browser/chromeos/language_preferences.h" |
15 #include "chrome/browser/chromeos/login/users/user_manager.h" | 15 #include "chrome/browser/chromeos/login/users/user_manager.h" |
16 #include "chrome/browser/prefs/pref_service_syncable_observer.h" | 16 #include "chrome/browser/prefs/pref_service_syncable_observer.h" |
| 17 #include "chromeos/ime/input_method_manager.h" |
17 | 18 |
18 class PrefRegistrySimple; | 19 class PrefRegistrySimple; |
19 class PrefService; | 20 class PrefService; |
20 class PrefServiceSyncable; | 21 class PrefServiceSyncable; |
21 | 22 |
22 class TracingManager; | 23 class TracingManager; |
23 | 24 |
24 namespace user_prefs { | 25 namespace user_prefs { |
25 class PrefRegistrySyncable; | 26 class PrefRegistrySyncable; |
26 } | 27 } |
(...skipping 18 matching lines...) Expand all Loading... |
45 explicit Preferences( | 46 explicit Preferences( |
46 input_method::InputMethodManager* input_method_manager); // for testing | 47 input_method::InputMethodManager* input_method_manager); // for testing |
47 virtual ~Preferences(); | 48 virtual ~Preferences(); |
48 | 49 |
49 // These method will register the prefs associated with Chrome OS settings. | 50 // These method will register the prefs associated with Chrome OS settings. |
50 static void RegisterPrefs(PrefRegistrySimple* registry); | 51 static void RegisterPrefs(PrefRegistrySimple* registry); |
51 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); | 52 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); |
52 | 53 |
53 // This method will initialize Chrome OS settings to values in user prefs. | 54 // This method will initialize Chrome OS settings to values in user prefs. |
54 // |user| is the user owning this preferences. | 55 // |user| is the user owning this preferences. |
55 void Init(PrefServiceSyncable* prefs, const user_manager::User* user); | 56 void Init(Profile* profile, const user_manager::User* user); |
56 | 57 |
57 void InitUserPrefsForTesting(PrefServiceSyncable* prefs, | 58 void InitUserPrefsForTesting(PrefServiceSyncable* prefs, |
58 const user_manager::User* user); | 59 const user_manager::User* user); |
59 void SetInputMethodListForTesting(); | 60 void SetInputMethodListForTesting(); |
60 | 61 |
61 private: | 62 private: |
62 enum ApplyReason { | 63 enum ApplyReason { |
63 REASON_INITIALIZATION, | 64 REASON_INITIALIZATION, |
64 REASON_ACTIVE_USER_CHANGED, | 65 REASON_ACTIVE_USER_CHANGED, |
65 REASON_PREF_CHANGED | 66 REASON_PREF_CHANGED |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 // PrefServiceSyncableObserver implementation. | 101 // PrefServiceSyncableObserver implementation. |
101 virtual void OnIsSyncingChanged() OVERRIDE; | 102 virtual void OnIsSyncingChanged() OVERRIDE; |
102 | 103 |
103 // Overriden from ash::ShellObserver. | 104 // Overriden from ash::ShellObserver. |
104 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; | 105 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; |
105 | 106 |
106 // Overriden form UserManager::UserSessionStateObserver. | 107 // Overriden form UserManager::UserSessionStateObserver. |
107 virtual void ActiveUserChanged( | 108 virtual void ActiveUserChanged( |
108 const user_manager::User* active_user) OVERRIDE; | 109 const user_manager::User* active_user) OVERRIDE; |
109 | 110 |
| 111 void ActivateInputMethods(const user_manager::User* active_user); |
| 112 |
110 PrefServiceSyncable* prefs_; | 113 PrefServiceSyncable* prefs_; |
111 | 114 |
112 input_method::InputMethodManager* input_method_manager_; | 115 input_method::InputMethodManager* input_method_manager_; |
113 scoped_ptr<TracingManager> tracing_manager_; | 116 scoped_ptr<TracingManager> tracing_manager_; |
114 | 117 |
115 BooleanPrefMember performance_tracing_enabled_; | 118 BooleanPrefMember performance_tracing_enabled_; |
116 BooleanPrefMember tap_to_click_enabled_; | 119 BooleanPrefMember tap_to_click_enabled_; |
117 BooleanPrefMember tap_dragging_enabled_; | 120 BooleanPrefMember tap_dragging_enabled_; |
118 BooleanPrefMember three_finger_click_enabled_; | 121 BooleanPrefMember three_finger_click_enabled_; |
119 BooleanPrefMember natural_scroll_; | 122 BooleanPrefMember natural_scroll_; |
(...skipping 14 matching lines...) Expand all Loading... |
134 BooleanPrefMember xkb_auto_repeat_enabled_; | 137 BooleanPrefMember xkb_auto_repeat_enabled_; |
135 IntegerPrefMember xkb_auto_repeat_delay_pref_; | 138 IntegerPrefMember xkb_auto_repeat_delay_pref_; |
136 IntegerPrefMember xkb_auto_repeat_interval_pref_; | 139 IntegerPrefMember xkb_auto_repeat_interval_pref_; |
137 | 140 |
138 // User owning these preferences. | 141 // User owning these preferences. |
139 const user_manager::User* user_; | 142 const user_manager::User* user_; |
140 | 143 |
141 // Whether user is a primary user. | 144 // Whether user is a primary user. |
142 bool user_is_primary_; | 145 bool user_is_primary_; |
143 | 146 |
| 147 // Input Methods state for this user. |
| 148 scoped_refptr<input_method::InputMethodManager::State> ime_state_; |
| 149 |
144 DISALLOW_COPY_AND_ASSIGN(Preferences); | 150 DISALLOW_COPY_AND_ASSIGN(Preferences); |
145 }; | 151 }; |
146 | 152 |
147 } // namespace chromeos | 153 } // namespace chromeos |
148 | 154 |
149 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ | 155 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ |
OLD | NEW |