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/prefs/pref_service_syncable_observer.h" | 15 #include "chrome/browser/prefs/pref_service_syncable_observer.h" |
| 16 #include "chromeos/ime/input_method_manager.h" |
16 #include "components/user_manager/user_manager.h" | 17 #include "components/user_manager/user_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; |
(...skipping 19 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( |
58 const user_manager::User* user); | 59 PrefServiceSyncable* prefs, |
| 60 const user_manager::User* user, |
| 61 scoped_refptr<input_method::InputMethodManager::State> ime_state); |
59 void SetInputMethodListForTesting(); | 62 void SetInputMethodListForTesting(); |
60 | 63 |
61 private: | 64 private: |
62 enum ApplyReason { | 65 enum ApplyReason { |
63 REASON_INITIALIZATION, | 66 REASON_INITIALIZATION, |
64 REASON_ACTIVE_USER_CHANGED, | 67 REASON_ACTIVE_USER_CHANGED, |
65 REASON_PREF_CHANGED | 68 REASON_PREF_CHANGED |
66 }; | 69 }; |
67 | 70 |
68 // Initializes all member prefs. | 71 // Initializes all member prefs. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 // PrefServiceSyncableObserver implementation. | 103 // PrefServiceSyncableObserver implementation. |
101 virtual void OnIsSyncingChanged() OVERRIDE; | 104 virtual void OnIsSyncingChanged() OVERRIDE; |
102 | 105 |
103 // Overriden from ash::ShellObserver. | 106 // Overriden from ash::ShellObserver. |
104 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; | 107 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; |
105 | 108 |
106 // Overriden form user_manager::UserManager::UserSessionStateObserver. | 109 // Overriden form user_manager::UserManager::UserSessionStateObserver. |
107 virtual void ActiveUserChanged( | 110 virtual void ActiveUserChanged( |
108 const user_manager::User* active_user) OVERRIDE; | 111 const user_manager::User* active_user) OVERRIDE; |
109 | 112 |
| 113 void ActivateInputMethods(const user_manager::User* active_user); |
| 114 |
110 PrefServiceSyncable* prefs_; | 115 PrefServiceSyncable* prefs_; |
111 | 116 |
112 input_method::InputMethodManager* input_method_manager_; | 117 input_method::InputMethodManager* input_method_manager_; |
113 scoped_ptr<TracingManager> tracing_manager_; | 118 scoped_ptr<TracingManager> tracing_manager_; |
114 | 119 |
115 BooleanPrefMember performance_tracing_enabled_; | 120 BooleanPrefMember performance_tracing_enabled_; |
116 BooleanPrefMember tap_to_click_enabled_; | 121 BooleanPrefMember tap_to_click_enabled_; |
117 BooleanPrefMember tap_dragging_enabled_; | 122 BooleanPrefMember tap_dragging_enabled_; |
118 BooleanPrefMember three_finger_click_enabled_; | 123 BooleanPrefMember three_finger_click_enabled_; |
119 BooleanPrefMember natural_scroll_; | 124 BooleanPrefMember natural_scroll_; |
(...skipping 14 matching lines...) Expand all Loading... |
134 BooleanPrefMember xkb_auto_repeat_enabled_; | 139 BooleanPrefMember xkb_auto_repeat_enabled_; |
135 IntegerPrefMember xkb_auto_repeat_delay_pref_; | 140 IntegerPrefMember xkb_auto_repeat_delay_pref_; |
136 IntegerPrefMember xkb_auto_repeat_interval_pref_; | 141 IntegerPrefMember xkb_auto_repeat_interval_pref_; |
137 | 142 |
138 // User owning these preferences. | 143 // User owning these preferences. |
139 const user_manager::User* user_; | 144 const user_manager::User* user_; |
140 | 145 |
141 // Whether user is a primary user. | 146 // Whether user is a primary user. |
142 bool user_is_primary_; | 147 bool user_is_primary_; |
143 | 148 |
| 149 // Input Methods state for this user. |
| 150 scoped_refptr<input_method::InputMethodManager::State> ime_state_; |
| 151 |
144 DISALLOW_COPY_AND_ASSIGN(Preferences); | 152 DISALLOW_COPY_AND_ASSIGN(Preferences); |
145 }; | 153 }; |
146 | 154 |
147 } // namespace chromeos | 155 } // namespace chromeos |
148 | 156 |
149 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ | 157 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ |
OLD | NEW |