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

Side by Side Diff: chrome/browser/chromeos/login/login_utils.cc

Issue 15929005: [CrOS multi-profiles] Restore user sessions after crash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/login_utils.h" 5 #include "chrome/browser/chromeos/login/login_utils.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/chromeos/chromeos_version.h" 10 #include "base/chromeos/chromeos_version.h"
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 } 139 }
140 140
141 // LoginUtils implementation: 141 // LoginUtils implementation:
142 virtual void DoBrowserLaunch(Profile* profile, 142 virtual void DoBrowserLaunch(Profile* profile,
143 LoginDisplayHost* login_host) OVERRIDE; 143 LoginDisplayHost* login_host) OVERRIDE;
144 virtual void PrepareProfile( 144 virtual void PrepareProfile(
145 const UserContext& user_context, 145 const UserContext& user_context,
146 const std::string& display_email, 146 const std::string& display_email,
147 bool using_oauth, 147 bool using_oauth,
148 bool has_cookies, 148 bool has_cookies,
149 bool has_active_session,
149 LoginUtils::Delegate* delegate) OVERRIDE; 150 LoginUtils::Delegate* delegate) OVERRIDE;
150 virtual void DelegateDeleted(LoginUtils::Delegate* delegate) OVERRIDE; 151 virtual void DelegateDeleted(LoginUtils::Delegate* delegate) OVERRIDE;
151 virtual void CompleteOffTheRecordLogin(const GURL& start_url) OVERRIDE; 152 virtual void CompleteOffTheRecordLogin(const GURL& start_url) OVERRIDE;
152 virtual void SetFirstLoginPrefs(PrefService* prefs) OVERRIDE; 153 virtual void SetFirstLoginPrefs(PrefService* prefs) OVERRIDE;
153 virtual scoped_refptr<Authenticator> CreateAuthenticator( 154 virtual scoped_refptr<Authenticator> CreateAuthenticator(
154 LoginStatusConsumer* consumer) OVERRIDE; 155 LoginStatusConsumer* consumer) OVERRIDE;
155 virtual void PrewarmAuthentication() OVERRIDE; 156 virtual void PrewarmAuthentication() OVERRIDE;
156 virtual void RestoreAuthenticationSession(Profile* profile) OVERRIDE; 157 virtual void RestoreAuthenticationSession(Profile* profile) OVERRIDE;
157 virtual void StopBackgroundFetchers() OVERRIDE; 158 virtual void StopBackgroundFetchers() OVERRIDE;
158 virtual void InitRlzDelayed(Profile* user_profile) OVERRIDE; 159 virtual void InitRlzDelayed(Profile* user_profile) OVERRIDE;
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 if (login_host) 314 if (login_host)
314 login_host->OnSessionStart(); 315 login_host->OnSessionStart();
315 UserManager::Get()->SessionStarted(); 316 UserManager::Get()->SessionStarted();
316 } 317 }
317 318
318 void LoginUtilsImpl::PrepareProfile( 319 void LoginUtilsImpl::PrepareProfile(
319 const UserContext& user_context, 320 const UserContext& user_context,
320 const std::string& display_email, 321 const std::string& display_email,
321 bool using_oauth, 322 bool using_oauth,
322 bool has_cookies, 323 bool has_cookies,
324 bool has_active_session,
323 LoginUtils::Delegate* delegate) { 325 LoginUtils::Delegate* delegate) {
324 BootTimesLoader* btl = BootTimesLoader::Get(); 326 BootTimesLoader* btl = BootTimesLoader::Get();
325 327
326 VLOG(1) << "Completing login for " << user_context.username; 328 VLOG(1) << "Completing login for " << user_context.username;
327 329
328 btl->AddLoginTimeMarker("StartSession-Start", false); 330 if (!has_active_session) {
329 DBusThreadManager::Get()->GetSessionManagerClient()->StartSession( 331 btl->AddLoginTimeMarker("StartSession-Start", false);
330 user_context.username); 332 DBusThreadManager::Get()->GetSessionManagerClient()->StartSession(
331 btl->AddLoginTimeMarker("StartSession-End", false); 333 user_context.username);
334 btl->AddLoginTimeMarker("StartSession-End", false);
335 }
332 336
333 btl->AddLoginTimeMarker("UserLoggedIn-Start", false); 337 btl->AddLoginTimeMarker("UserLoggedIn-Start", false);
334 UserManager* user_manager = UserManager::Get(); 338 UserManager* user_manager = UserManager::Get();
335 user_manager->UserLoggedIn(user_context.username, 339 user_manager->UserLoggedIn(user_context.username,
336 user_context.username_hash, 340 user_context.username_hash,
337 false); 341 false);
338 btl->AddLoginTimeMarker("UserLoggedIn-End", false); 342 btl->AddLoginTimeMarker("UserLoggedIn-End", false);
339 343
340 // Switch log file as soon as possible. 344 // Switch log file as soon as possible.
341 if (base::chromeos::IsRunningOnChromeOS()) 345 if (base::chromeos::IsRunningOnChromeOS())
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 bool LoginUtils::IsWhitelisted(const std::string& username) { 916 bool LoginUtils::IsWhitelisted(const std::string& username) {
913 CrosSettings* cros_settings = CrosSettings::Get(); 917 CrosSettings* cros_settings = CrosSettings::Get();
914 bool allow_new_user = false; 918 bool allow_new_user = false;
915 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); 919 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
916 if (allow_new_user) 920 if (allow_new_user)
917 return true; 921 return true;
918 return cros_settings->FindEmailInList(kAccountsPrefUsers, username); 922 return cros_settings->FindEmailInList(kAccountsPrefUsers, username);
919 } 923 }
920 924
921 } // namespace chromeos 925 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/login_utils.h ('k') | chrome/browser/chromeos/login/login_utils_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698