| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/ui/webui/options/manage_profile_handler.h" | 5 #include "chrome/browser/ui/webui/options/manage_profile_handler.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
| 10 #include "base/prefs/scoped_user_pref_update.h" | 10 #include "base/prefs/scoped_user_pref_update.h" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 | 121 |
| 122 localized_strings->SetBoolean("newAvatarMenuEnabled", | 122 localized_strings->SetBoolean("newAvatarMenuEnabled", |
| 123 switches::IsNewAvatarMenu()); | 123 switches::IsNewAvatarMenu()); |
| 124 localized_strings->SetBoolean("profileShortcutsEnabled", | 124 localized_strings->SetBoolean("profileShortcutsEnabled", |
| 125 ProfileShortcutManager::IsFeatureEnabled()); | 125 ProfileShortcutManager::IsFeatureEnabled()); |
| 126 | 126 |
| 127 GenerateSignedinUserSpecificStrings(localized_strings); | 127 GenerateSignedinUserSpecificStrings(localized_strings); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void ManageProfileHandler::InitializeHandler() { | 130 void ManageProfileHandler::InitializeHandler() { |
| 131 registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, | 131 g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this); |
| 132 content::NotificationService::AllSources()); | |
| 133 | 132 |
| 134 Profile* profile = Profile::FromWebUI(web_ui()); | 133 Profile* profile = Profile::FromWebUI(web_ui()); |
| 135 pref_change_registrar_.Init(profile->GetPrefs()); | 134 pref_change_registrar_.Init(profile->GetPrefs()); |
| 136 pref_change_registrar_.Add( | 135 pref_change_registrar_.Add( |
| 137 prefs::kSupervisedUserCreationAllowed, | 136 prefs::kSupervisedUserCreationAllowed, |
| 138 base::Bind(&ManageProfileHandler::OnCreateSupervisedUserPrefChange, | 137 base::Bind(&ManageProfileHandler::OnCreateSupervisedUserPrefChange, |
| 139 base::Unretained(this))); | 138 base::Unretained(this))); |
| 140 ProfileSyncService* service = | 139 ProfileSyncService* service = |
| 141 ProfileSyncServiceFactory::GetForProfile(profile); | 140 ProfileSyncServiceFactory::GetForProfile(profile); |
| 142 // Sync may be disabled for tests. | 141 // Sync may be disabled for tests. |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 web_ui()->RegisterMessageCallback("refreshGaiaPicture", | 181 web_ui()->RegisterMessageCallback("refreshGaiaPicture", |
| 183 base::Bind(&ManageProfileHandler::RefreshGaiaPicture, | 182 base::Bind(&ManageProfileHandler::RefreshGaiaPicture, |
| 184 base::Unretained(this))); | 183 base::Unretained(this))); |
| 185 web_ui()->RegisterMessageCallback( | 184 web_ui()->RegisterMessageCallback( |
| 186 "showDisconnectManagedProfileDialog", | 185 "showDisconnectManagedProfileDialog", |
| 187 base::Bind(&ManageProfileHandler::ShowDisconnectManagedProfileDialog, | 186 base::Bind(&ManageProfileHandler::ShowDisconnectManagedProfileDialog, |
| 188 base::Unretained(this))); | 187 base::Unretained(this))); |
| 189 } | 188 } |
| 190 | 189 |
| 191 void ManageProfileHandler::Uninitialize() { | 190 void ManageProfileHandler::Uninitialize() { |
| 192 registrar_.RemoveAll(); | 191 g_browser_process->profile_manager()-> |
| 192 GetProfileInfoCache().RemoveObserver(this); |
| 193 } | 193 } |
| 194 | 194 |
| 195 void ManageProfileHandler::Observe( | 195 void ManageProfileHandler::OnProfileAdded(const base::FilePath& profile_path) { |
| 196 int type, | 196 SendExistingProfileNames(); |
| 197 const content::NotificationSource& source, | 197 } |
| 198 const content::NotificationDetails& details) { | 198 |
| 199 if (type == chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED) { | 199 void ManageProfileHandler::OnProfileWasRemoved( |
| 200 SendExistingProfileNames(); | 200 const base::FilePath& profile_path, |
| 201 base::StringValue value(kManageProfileIdentifier); | 201 const base::string16& profile_name) { |
| 202 SendProfileIconsAndNames(value); | 202 SendExistingProfileNames(); |
| 203 } | 203 } |
| 204 |
| 205 void ManageProfileHandler::OnProfileNameChanged( |
| 206 const base::FilePath& profile_path, |
| 207 const base::string16& old_profile_name) { |
| 208 base::StringValue value(kManageProfileIdentifier); |
| 209 SendProfileIconsAndNames(value); |
| 210 } |
| 211 |
| 212 void ManageProfileHandler::OnProfileAvatarChanged( |
| 213 const base::FilePath& profile_path) { |
| 214 base::StringValue value(kManageProfileIdentifier); |
| 215 SendProfileIconsAndNames(value); |
| 204 } | 216 } |
| 205 | 217 |
| 206 void ManageProfileHandler::OnStateChanged() { | 218 void ManageProfileHandler::OnStateChanged() { |
| 207 RequestCreateProfileUpdate(NULL); | 219 RequestCreateProfileUpdate(NULL); |
| 208 } | 220 } |
| 209 | 221 |
| 210 void ManageProfileHandler::GenerateSignedinUserSpecificStrings( | 222 void ManageProfileHandler::GenerateSignedinUserSpecificStrings( |
| 211 base::DictionaryValue* dictionary) { | 223 base::DictionaryValue* dictionary) { |
| 212 std::string username; | 224 std::string username; |
| 213 std::string domain_name; | 225 std::string domain_name; |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 | 549 |
| 538 // Update the UI buttons. | 550 // Update the UI buttons. |
| 539 OnHasProfileShortcuts(false); | 551 OnHasProfileShortcuts(false); |
| 540 } | 552 } |
| 541 | 553 |
| 542 void ManageProfileHandler::RefreshGaiaPicture(const base::ListValue* args) { | 554 void ManageProfileHandler::RefreshGaiaPicture(const base::ListValue* args) { |
| 543 profiles::UpdateGaiaProfileInfoIfNeeded(Profile::FromWebUI(web_ui())); | 555 profiles::UpdateGaiaProfileInfoIfNeeded(Profile::FromWebUI(web_ui())); |
| 544 } | 556 } |
| 545 | 557 |
| 546 } // namespace options | 558 } // namespace options |
| OLD | NEW |