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

Unified Diff: chrome/browser/chromeos/login/wallpaper_manager.cc

Issue 23494053: Remove NOTIFICATION_SYSTEM_SETTING_CHANGED, switch CrosSettings to base::CallbackRegistry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: trailing space Created 7 years, 3 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/chromeos/login/wallpaper_manager.cc
diff --git a/chrome/browser/chromeos/login/wallpaper_manager.cc b/chrome/browser/chromeos/login/wallpaper_manager.cc
index 6da98195cfab0ad128aefa1915d58011360b4fa3..3692a2acafa4b939a5842cc4274123a8646b26d4 100644
--- a/chrome/browser/chromeos/login/wallpaper_manager.cc
+++ b/chrome/browser/chromeos/login/wallpaper_manager.cc
@@ -130,8 +130,7 @@ WallpaperManager* WallpaperManager::Get() {
}
WallpaperManager::WallpaperManager()
- : no_observers_(true),
- loaded_wallpapers_(0),
+ : loaded_wallpapers_(0),
wallpaper_loader_(new UserImageLoader(ImageDecoder::ROBUST_JPEG_CODEC)),
command_line_for_testing_(NULL),
should_cache_wallpaper_(false),
@@ -156,15 +155,13 @@ WallpaperManager::WallpaperManager()
WallpaperManager::~WallpaperManager() {
// TODO(bshe): Lifetime of WallpaperManager needs more consideration.
// http://crbug.com/171694
- DCHECK(no_observers_);
+ DCHECK(!show_user_name_on_signin_subscription_);
ClearObsoleteWallpaperPrefs();
weak_factory_.InvalidateWeakPtrs();
}
void WallpaperManager::Shutdown() {
- CrosSettings::Get()->RemoveSettingsObserver(
- kAccountsPrefShowUserNamesOnSignIn, this);
- no_observers_ = true;
+ show_user_name_on_signin_subscription_.reset();
}
// static
@@ -175,9 +172,11 @@ void WallpaperManager::RegisterPrefs(PrefRegistrySimple* registry) {
}
void WallpaperManager::AddObservers() {
- CrosSettings::Get()->AddSettingsObserver(kAccountsPrefShowUserNamesOnSignIn,
- this);
- no_observers_ = false;
+ show_user_name_on_signin_subscription_ =
+ CrosSettings::Get()->AddSettingsObserver(
+ kAccountsPrefShowUserNamesOnSignIn,
+ base::Bind(&WallpaperManager::InitializeRegisteredDeviceWallpaper,
+ base::Unretained(this)));
}
void WallpaperManager::EnsureLoggedInUserWallpaperLoaded() {
@@ -310,13 +309,6 @@ void WallpaperManager::Observe(int type,
}
break;
}
- case chrome::NOTIFICATION_SYSTEM_SETTING_CHANGED: {
- if (*content::Details<const std::string>(details).ptr() ==
- kAccountsPrefShowUserNamesOnSignIn) {
- InitializeRegisteredDeviceWallpaper();
- }
- break;
- }
default:
NOTREACHED() << "Unexpected notification " << type;
}
« no previous file with comments | « chrome/browser/chromeos/login/wallpaper_manager.h ('k') | chrome/browser/chromeos/policy/app_pack_updater.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698