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/profiles/profiles_state.h"
      6 
      7 #include "base/command_line.h"
      8 #include "base/files/file_path.h"
      9 #include "base/prefs/pref_registry_simple.h"
     10 #include "chrome/common/chrome_constants.h"
     11 #include "chrome/common/chrome_switches.h"
     12 #include "chrome/common/pref_names.h"
     13 
     14 namespace profiles {
     15 
     16 bool IsMultipleProfilesEnabled() {
     17 #if defined(OS_ANDROID)
     18   return false;
     19 #endif
     20 #if defined(OS_CHROMEOS)
     21   if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kMultiProfiles))
     22     return false;
     23 #endif
     24 
     25   return true;
     26 }
     27 
     28 bool IsNewProfileManagementEnabled() {
     29   return CommandLine::ForCurrentProcess()->HasSwitch(
     30       switches::kNewProfileManagement);
     31 }
     32 
     33 base::FilePath GetDefaultProfileDir(
     34     const base::FilePath& user_data_dir) {
     35   base::FilePath default_profile_dir(user_data_dir);
     36   default_profile_dir =
     37       default_profile_dir.AppendASCII(chrome::kInitialProfile);
     38   return default_profile_dir;
     39 }
     40 
     41 base::FilePath GetProfilePrefsPath(
     42     const base::FilePath &profile_dir) {
     43   base::FilePath default_prefs_path(profile_dir);
     44   default_prefs_path = default_prefs_path.Append(chrome::kPreferencesFilename);
     45   return default_prefs_path;
     46 }
     47 
     48 void RegisterPrefs(PrefRegistrySimple* registry) {
     49   registry->RegisterStringPref(prefs::kProfileLastUsed, std::string());
     50   registry->RegisterIntegerPref(prefs::kProfilesNumCreated, 1);
     51   registry->RegisterListPref(prefs::kProfilesLastActive);
     52 }
     53 
     54 }  // namespace profiles
     55