Index: chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
index ef44c3902be4dc0fb73a1f9fddc69fbf93d22ff9..100d5dda1af048fd528d8b6bd46e84c3131aca52 100644 |
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
@@ -275,45 +275,8 @@ static WallpaperManager* g_wallpaper_manager = NULL; |
// WallpaperManager, public: --------------------------------------------------- |
-// static |
-WallpaperManager* WallpaperManager::Get() { |
- if (!g_wallpaper_manager) |
- g_wallpaper_manager = new WallpaperManager(); |
- return g_wallpaper_manager; |
-} |
- |
-WallpaperManager::WallpaperManager() |
- : pending_inactive_(NULL), weak_factory_(this) { |
- wallpaper::WallpaperManagerBase::SetPathIds( |
- chrome::DIR_USER_DATA, |
- chrome::DIR_CHROMEOS_WALLPAPERS, |
- chrome::DIR_CHROMEOS_CUSTOM_WALLPAPERS); |
- SetDefaultWallpaperPathsFromCommandLine( |
- base::CommandLine::ForCurrentProcess()); |
- registrar_.Add(this, |
- chrome::NOTIFICATION_LOGIN_USER_CHANGED, |
- content::NotificationService::AllSources()); |
- registrar_.Add(this, |
- chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, |
- content::NotificationService::AllSources()); |
- registrar_.Add(this, |
- chrome::NOTIFICATION_WALLPAPER_ANIMATION_FINISHED, |
- content::NotificationService::AllSources()); |
- sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( |
- wallpaper::kWallpaperSequenceTokenName); |
- task_runner_ = BrowserThread::GetBlockingPool()-> |
- GetSequencedTaskRunnerWithShutdownBehavior( |
- sequence_token_, |
- base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
- wallpaper_loader_ = new UserImageLoader(ImageDecoder::ROBUST_JPEG_CODEC, |
- task_runner_); |
- |
- user_manager::UserManager::Get()->AddSessionStateObserver(this); |
-} |
- |
WallpaperManager::~WallpaperManager() { |
- // TODO(bshe): Lifetime of WallpaperManager needs more consideration. |
- // http://crbug.com/171694 |
+ show_user_name_on_signin_subscription_.reset(); |
DCHECK(!show_user_name_on_signin_subscription_); |
user_manager::UserManager::Get()->RemoveSessionStateObserver(this); |
@@ -322,6 +285,20 @@ WallpaperManager::~WallpaperManager() { |
weak_factory_.InvalidateWeakPtrs(); |
} |
+// static |
+WallpaperManager* WallpaperManager::Get() { |
oshima
2015/03/13 22:16:41
is it possible to have explicit Init(ialize) metho
|
+ if (!g_wallpaper_manager) |
+ g_wallpaper_manager = new WallpaperManager(); |
+ return g_wallpaper_manager; |
+} |
+ |
+// static |
+void WallpaperManager::Shutdown() { |
+ CHECK(g_wallpaper_manager); |
+ delete g_wallpaper_manager; |
+ g_wallpaper_manager = NULL; |
+} |
+ |
WallpaperManager::WallpaperResolution |
WallpaperManager::GetAppropriateResolution() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
@@ -333,10 +310,6 @@ WallpaperManager::GetAppropriateResolution() { |
: WALLPAPER_RESOLUTION_SMALL; |
} |
-void WallpaperManager::Shutdown() { |
- show_user_name_on_signin_subscription_.reset(); |
-} |
- |
void WallpaperManager::AddObservers() { |
show_user_name_on_signin_subscription_ = |
CrosSettings::Get()->AddSettingsObserver( |
@@ -746,6 +719,31 @@ void WallpaperManager::SetWallpaperFromImageSkia( |
// WallpaperManager, private: -------------------------------------------------- |
+WallpaperManager::WallpaperManager() |
+ : pending_inactive_(NULL), weak_factory_(this) { |
+ wallpaper::WallpaperManagerBase::SetPathIds( |
+ chrome::DIR_USER_DATA, chrome::DIR_CHROMEOS_WALLPAPERS, |
+ chrome::DIR_CHROMEOS_CUSTOM_WALLPAPERS); |
+ SetDefaultWallpaperPathsFromCommandLine( |
+ base::CommandLine::ForCurrentProcess()); |
+ registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_CHANGED, |
+ content::NotificationService::AllSources()); |
+ registrar_.Add(this, chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, |
+ content::NotificationService::AllSources()); |
+ registrar_.Add(this, chrome::NOTIFICATION_WALLPAPER_ANIMATION_FINISHED, |
+ content::NotificationService::AllSources()); |
+ sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( |
+ wallpaper::kWallpaperSequenceTokenName); |
+ task_runner_ = |
+ BrowserThread::GetBlockingPool() |
+ ->GetSequencedTaskRunnerWithShutdownBehavior( |
+ sequence_token_, base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
+ wallpaper_loader_ = |
+ new UserImageLoader(ImageDecoder::ROBUST_JPEG_CODEC, task_runner_); |
+ |
+ user_manager::UserManager::Get()->AddSessionStateObserver(this); |
+} |
+ |
WallpaperManager::PendingWallpaper* WallpaperManager::GetPendingWallpaper( |
const std::string& user_id, |
bool delayed) { |