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

Side by Side Diff: chrome/browser/chromeos/login/session/user_session_manager.cc

Issue 1308833004: Show Goodies page to new Chromebook users (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add GoodiesDisplayer::Delegate for future testing Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/chromeos/login/session/user_session_manager.h" 5 #include "chrome/browser/chromeos/login/session/user_session_manager.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base_paths.h" 9 #include "base/base_paths.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 true /* path is absolute */, 343 true /* path is absolute */,
344 false /* don't create */); 344 false /* don't create */);
345 } 345 }
346 } 346 }
347 } 347 }
348 348
349 // static 349 // static
350 void UserSessionManager::RegisterPrefs(PrefRegistrySimple* registry) { 350 void UserSessionManager::RegisterPrefs(PrefRegistrySimple* registry) {
351 registry->RegisterStringPref(prefs::kRLZBrand, std::string()); 351 registry->RegisterStringPref(prefs::kRLZBrand, std::string());
352 registry->RegisterBooleanPref(prefs::kRLZDisabled, false); 352 registry->RegisterBooleanPref(prefs::kRLZDisabled, false);
353 registry->RegisterBooleanPref(prefs::kCanShowOobeGoodiesPage, true);
353 } 354 }
354 355
355 UserSessionManager::UserSessionManager() 356 UserSessionManager::UserSessionManager()
356 : delegate_(nullptr), 357 : delegate_(nullptr),
357 authenticator_(nullptr), 358 authenticator_(nullptr),
358 has_auth_cookies_(false), 359 has_auth_cookies_(false),
359 user_sessions_restored_(false), 360 user_sessions_restored_(false),
360 user_sessions_restore_in_progress_(false), 361 user_sessions_restore_in_progress_(false),
361 exit_after_session_restore_(false), 362 exit_after_session_restore_(false),
362 session_restore_strategy_( 363 session_restore_strategy_(
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 profile, base::Bind(&UserSessionManager::OnTokenHandleObtained, 1131 profile, base::Bind(&UserSessionManager::OnTokenHandleObtained,
1131 weak_factory_.GetWeakPtr())); 1132 weak_factory_.GetWeakPtr()));
1132 } 1133 }
1133 } 1134 }
1134 } 1135 }
1135 1136
1136 // Now that profile is ready, proceed to either alternative login flows or 1137 // Now that profile is ready, proceed to either alternative login flows or
1137 // launch browser. 1138 // launch browser.
1138 bool browser_launched = InitializeUserSession(profile); 1139 bool browser_launched = InitializeUserSession(profile);
1139 1140
1141 // Check whether to, then set up for, display OOBE Goodies page on first run.
1142 first_run::GoodiesDisplayer::Init(this);
1143
1140 // TODO(nkostylev): This pointer should probably never be NULL, but it looks 1144 // TODO(nkostylev): This pointer should probably never be NULL, but it looks
1141 // like OnProfileCreated() may be getting called before 1145 // like OnProfileCreated() may be getting called before
1142 // UserSessionManager::PrepareProfile() has set |delegate_| when Chrome is 1146 // UserSessionManager::PrepareProfile() has set |delegate_| when Chrome is
1143 // killed during shutdown in tests -- see http://crosbug.com/18269. Replace 1147 // killed during shutdown in tests -- see http://crosbug.com/18269. Replace
1144 // this 'if' statement with a CHECK(delegate_) once the underlying issue is 1148 // this 'if' statement with a CHECK(delegate_) once the underlying issue is
1145 // resolved. 1149 // resolved.
1146 if (delegate_) 1150 if (delegate_)
1147 delegate_->OnProfilePrepared(profile, browser_launched); 1151 delegate_->OnProfilePrepared(profile, browser_launched);
1148 } 1152 }
1149 1153
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
1747 cros_settings->GetBoolean(kAccountsPrefEphemeralUsersEnabled, 1751 cros_settings->GetBoolean(kAccountsPrefEphemeralUsersEnabled,
1748 &ephemeral_users_enabled); 1752 &ephemeral_users_enabled);
1749 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, 1753 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn,
1750 &show_names_on_signin); 1754 &show_names_on_signin);
1751 return show_names_on_signin && !ephemeral_users_enabled; 1755 return show_names_on_signin && !ephemeral_users_enabled;
1752 } 1756 }
1753 1757
1754 void UserSessionManager::Shutdown() { 1758 void UserSessionManager::Shutdown() {
1755 token_handle_fetcher_.reset(); 1759 token_handle_fetcher_.reset();
1756 token_handle_util_.reset(); 1760 token_handle_util_.reset();
1761 DestroyGoodiesDisplayer();
1757 } 1762 }
1758 1763
1759 void UserSessionManager::CreateTokenUtilIfMissing() { 1764 void UserSessionManager::CreateTokenUtilIfMissing() {
1760 if (!token_handle_util_.get()) 1765 if (!token_handle_util_.get())
1761 token_handle_util_.reset( 1766 token_handle_util_.reset(
1762 new TokenHandleUtil(user_manager::UserManager::Get())); 1767 new TokenHandleUtil(user_manager::UserManager::Get()));
1763 } 1768 }
1764 1769
1765 } // namespace chromeos 1770 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698