| 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 43b795bd7de218cbc58d8a55795845ffce09bc26..7310bd3482d9e2406b63a1b94923d19d051eaa7a 100644
|
| --- a/chrome/browser/chromeos/login/session/user_session_manager.cc
|
| +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
|
| @@ -37,9 +37,11 @@
|
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
|
| #include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| #include "chrome/browser/chromeos/settings/cros_settings.h"
|
| +#include "chrome/browser/component_updater/component_updater_service.h"
|
| #include "chrome/browser/first_run/first_run.h"
|
| #include "chrome/browser/google/google_brand_chromeos.h"
|
| #include "chrome/browser/lifetime/application_lifetime.h"
|
| +#include "chrome/browser/net/crl_set_fetcher.h"
|
| #include "chrome/browser/net/nss_context.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| @@ -316,12 +318,6 @@ void UserSessionManager::InitRlz(Profile* profile) {
|
| #endif
|
| }
|
|
|
| -bool UserSessionManager::HasBrowserRestarted() const {
|
| - CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| - return base::SysInfo::IsRunningOnChromeOS() &&
|
| - command_line->HasSwitch(switches::kLoginUser);
|
| -}
|
| -
|
| OAuth2LoginManager::SessionRestoreStrategy
|
| UserSessionManager::GetSigninSessionRestoreStrategy() {
|
| return session_restore_strategy_;
|
| @@ -740,11 +736,10 @@ void UserSessionManager::FinalizePrepareProfile(Profile* profile) {
|
| CryptohomeClient* client = DBusThreadManager::Get()->GetCryptohomeClient();
|
| btl->AddLoginTimeMarker("TPMOwn-Start", false);
|
| if (cryptohome_util::TpmIsEnabled() && !cryptohome_util::TpmIsBeingOwned()) {
|
| - if (cryptohome_util::TpmIsOwned()) {
|
| + if (cryptohome_util::TpmIsOwned())
|
| client->CallTpmClearStoredPasswordAndBlock();
|
| - } else {
|
| + else
|
| client->TpmCanAttemptOwnership(EmptyVoidDBusMethodCallback());
|
| - }
|
| }
|
| btl->AddLoginTimeMarker("TPMOwn-End", false);
|
|
|
| @@ -768,15 +763,16 @@ void UserSessionManager::FinalizePrepareProfile(Profile* profile) {
|
| content::NotificationService::AllSources(),
|
| content::Details<Profile>(profile));
|
|
|
| - InitializeCertsForPrimaryUser(profile);
|
| -
|
| - // Initialize RLZ only for primary user.
|
| + // Initialize various services only for primary user.
|
| const user_manager::User* user =
|
| ProfileHelper::Get()->GetUserByProfile(profile);
|
| - if (user_manager->GetPrimaryUser() == user)
|
| + if (user_manager->GetPrimaryUser() == user) {
|
| InitRlz(profile);
|
| + InitializeCerts(profile);
|
| + InitializeCRLSetFetcher(user);
|
| + }
|
|
|
| - // TODO(altimofeev): This pointer should probably never be NULL, but it looks
|
| + // TODO(nkostylev): This pointer should probably never be NULL, but it looks
|
| // like LoginUtilsImpl::OnProfileCreated() may be getting called before
|
| // UserSessionManager::PrepareProfile() has set |delegate_| when Chrome is
|
| // killed during shutdown in tests -- see http://crosbug.com/18269. Replace
|
| @@ -878,21 +874,29 @@ void UserSessionManager::InitRlzImpl(Profile* profile, bool disabled) {
|
| #endif
|
| }
|
|
|
| -void UserSessionManager::InitializeCertsForPrimaryUser(Profile* profile) {
|
| +void UserSessionManager::InitializeCerts(Profile* profile) {
|
| // Now that the user profile has been initialized
|
| // |GetNSSCertDatabaseForProfile| is safe to be used.
|
| - UserManager* user_manager = UserManager::Get();
|
| - const user_manager::User* primary_user = user_manager->GetPrimaryUser();
|
| - if (user_manager->IsUserLoggedIn() &&
|
| - primary_user &&
|
| - profile == ProfileHelper::Get()->GetProfileByUser(primary_user) &&
|
| - CertLoader::IsInitialized() &&
|
| - base::SysInfo::IsRunningOnChromeOS()) {
|
| + if (CertLoader::IsInitialized() && base::SysInfo::IsRunningOnChromeOS()) {
|
| GetNSSCertDatabaseForProfile(profile,
|
| base::Bind(&OnGetNSSCertDatabaseForUser));
|
| }
|
| }
|
|
|
| +void UserSessionManager::InitializeCRLSetFetcher(
|
| + const user_manager::User* user) {
|
| + const std::string username_hash = user->username_hash();
|
| + if (!username_hash.empty()) {
|
| + base::FilePath path;
|
| + path = ProfileHelper::GetProfilePathByUserIdHash(username_hash);
|
| + component_updater::ComponentUpdateService* cus =
|
| + g_browser_process->component_updater();
|
| + CRLSetFetcher* crl_set = g_browser_process->crl_set_fetcher();
|
| + if (crl_set && cus)
|
| + crl_set->StartInitialLoad(cus, path);
|
| + }
|
| +}
|
| +
|
| void UserSessionManager::OnRestoreActiveSessions(
|
| const SessionManagerClient::ActiveSessionsMap& sessions,
|
| bool success) {
|
|
|