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

Unified Diff: chrome/browser/notifications/message_center_settings_controller.cc

Issue 895803003: [Profiles] Remove the NotificationService from the ProfileInfoCache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: copy paste the right function Created 5 years, 10 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/notifications/message_center_settings_controller.cc
diff --git a/chrome/browser/notifications/message_center_settings_controller.cc b/chrome/browser/notifications/message_center_settings_controller.cc
index 6a70af4a0aa87548754621c7d6f26374975dbfee..25795dd2f2b2189a281ce6a0a0b6f1cd2663d61b 100644
--- a/chrome/browser/notifications/message_center_settings_controller.cc
+++ b/chrome/browser/notifications/message_center_settings_controller.cc
@@ -134,9 +134,7 @@ MessageCenterSettingsController::MessageCenterSettingsController(
registrar_.Add(this,
chrome::NOTIFICATION_PROFILE_DESTROYED,
content::NotificationService::AllBrowserContextsAndSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
- content::NotificationService::AllBrowserContextsAndSources());
+ g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this);
RebuildNotifierGroups();
#if defined(OS_CHROMEOS)
@@ -147,6 +145,8 @@ MessageCenterSettingsController::MessageCenterSettingsController(
}
MessageCenterSettingsController::~MessageCenterSettingsController() {
+ g_browser_process->profile_manager()->
+ GetProfileInfoCache().RemoveObserver(this);
#if defined(OS_CHROMEOS)
// UserManager may not exist in some tests.
if (user_manager::UserManager::IsInitialized())
@@ -432,6 +432,37 @@ void MessageCenterSettingsController::Observe(
NotifierGroupChanged());
}
+void MessageCenterSettingsController::OnProfileAdded(
+ const base::FilePath& profile_path) {
+ RebuildNotifierGroups();
Cait (Slow) 2015/02/06 16:47:22 This pattern (Rebuild & Notify Observers) seems to
noms (inactive) 2015/02/12 21:46:02 Done.
+ FOR_EACH_OBSERVER(message_center::NotifierSettingsObserver,
+ observers_,
+ NotifierGroupChanged());
+}
+void MessageCenterSettingsController::OnProfileWasRemoved(
+ const base::FilePath& profile_path,
+ const base::string16& profile_name) {
+ RebuildNotifierGroups();
+ FOR_EACH_OBSERVER(message_center::NotifierSettingsObserver,
+ observers_,
+ NotifierGroupChanged());
+}
+void MessageCenterSettingsController::OnProfileNameChanged(
+ const base::FilePath& profile_path,
+ const base::string16& old_profile_name) {
+ RebuildNotifierGroups();
+ FOR_EACH_OBSERVER(message_center::NotifierSettingsObserver,
+ observers_,
+ NotifierGroupChanged());
+}
+void MessageCenterSettingsController::OnProfileUserNameChanged(
+ const base::FilePath& profile_path) {
+ RebuildNotifierGroups();
+ FOR_EACH_OBSERVER(message_center::NotifierSettingsObserver,
+ observers_,
+ NotifierGroupChanged());
+}
+
#if defined(OS_CHROMEOS)
void MessageCenterSettingsController::CreateNotifierGroupForGuestLogin() {
// Already created.
@@ -465,7 +496,6 @@ void MessageCenterSettingsController::RebuildNotifierGroups() {
current_notifier_group_ = 0;
const size_t count = profile_info_cache_->GetNumberOfProfiles();
-
for (size_t i = 0; i < count; ++i) {
scoped_ptr<message_center::ProfileNotifierGroup> group(
new message_center::ProfileNotifierGroup(

Powered by Google App Engine
This is Rietveld 408576698