Index: chrome/browser/chromeos/login/session/user_session_manager.cc |
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc |
index f30aab8e2eff53d065a8d489f8744e5a8aa77c8f..157128a7aaced3872a360429cba2cea06da68189 100644 |
--- a/chrome/browser/chromeos/login/session/user_session_manager.cc |
+++ b/chrome/browser/chromeos/login/session/user_session_manager.cc |
@@ -350,6 +350,7 @@ void UserSessionManager::OverrideHomedir() { |
void UserSessionManager::RegisterPrefs(PrefRegistrySimple* registry) { |
registry->RegisterStringPref(prefs::kRLZBrand, std::string()); |
registry->RegisterBooleanPref(prefs::kRLZDisabled, false); |
+ registry->RegisterBooleanPref(prefs::kCanShowOobeGoodiesPage, true); |
} |
UserSessionManager::UserSessionManager() |
@@ -1137,6 +1138,10 @@ void UserSessionManager::FinalizePrepareProfile(Profile* profile) { |
// launch browser. |
bool browser_launched = InitializeUserSession(profile); |
+ // Check whether to, then set up for, display OOBE Goodies page on first run. |
+ goodies_displayer_delegate_.reset(new first_run::GoodiesDisplayer::Delegate); |
+ first_run::GoodiesDisplayer::Init(goodies_displayer_delegate_.get()); |
+ |
// TODO(nkostylev): This pointer should probably never be NULL, but it looks |
// like OnProfileCreated() may be getting called before |
// UserSessionManager::PrepareProfile() has set |delegate_| when Chrome is |
@@ -1754,6 +1759,7 @@ bool UserSessionManager::TokenHandlesEnabled() { |
void UserSessionManager::Shutdown() { |
token_handle_fetcher_.reset(); |
token_handle_util_.reset(); |
+ goodies_displayer_delegate_->DestroyGoodiesDisplayer(); |
achuithb
2015/09/18 19:05:52
Call reset instead.
|
} |
void UserSessionManager::CreateTokenUtilIfMissing() { |