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 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