• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/chromeos/profiles/profile_util.h"
6 
7 #include "base/files/file_path.h"
8 #include "chrome/browser/chromeos/profiles/profile_helper.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chromeos/login/login_state.h"
11 
12 namespace chromeos {
13 
IsProfileAssociatedWithGaiaAccount(Profile * profile)14 bool IsProfileAssociatedWithGaiaAccount(Profile* profile) {
15   if (!chromeos::LoginState::IsInitialized())
16     return false;
17   if (!chromeos::LoginState::Get()->IsUserGaiaAuthenticated())
18     return false;
19   if (profile->IsOffTheRecord())
20     return false;
21 
22   // Using ProfileHelper::GetSigninProfile() here would lead to an infinite loop
23   // when this method is called during the creation of the sign-in profile
24   // itself. Using ProfileHelper::GetSigninProfileDir() is safe because it does
25   // not try to access the sign-in profile.
26   if (profile->GetPath() == ProfileHelper::GetSigninProfileDir())
27     return false;
28   return true;
29 }
30 
31 }  // namespace chromeos
32