Home | History | Annotate | Download | only in profiles
      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