profiles_state.cc revision 9ab5563a3196760eb381d102cbb2bc0f7abc6a50
19ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 29ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 39ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// found in the LICENSE file. 49ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 59ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/profiles/profiles_state.h" 69ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 79ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "base/command_line.h" 89ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "base/files/file_path.h" 99ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "base/prefs/pref_registry_simple.h" 109ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/common/chrome_constants.h" 119ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/common/chrome_switches.h" 129ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/common/pref_names.h" 139ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 149ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochnamespace profiles { 159ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 169ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochbool IsMultipleProfilesEnabled() { 179ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#if defined(OS_ANDROID) 189ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch return false; 199ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#endif 209ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#if defined(OS_CHROMEOS) 219ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kMultiProfiles)) 229ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch return false; 239ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#endif 249ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 259ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch return true; 269ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch} 279ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 289ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochbool IsNewProfileManagementEnabled() { 299ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch return CommandLine::ForCurrentProcess()->HasSwitch( 309ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch switches::kNewProfileManagement); 319ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch} 329ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 339ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochbase::FilePath GetDefaultProfileDir( 349ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch const base::FilePath& user_data_dir) { 359ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch base::FilePath default_profile_dir(user_data_dir); 369ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch default_profile_dir = 379ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch default_profile_dir.AppendASCII(chrome::kInitialProfile); 389ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch return default_profile_dir; 399ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch} 409ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 419ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochbase::FilePath GetProfilePrefsPath( 429ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch const base::FilePath &profile_dir) { 439ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch base::FilePath default_prefs_path(profile_dir); 449ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch default_prefs_path = default_prefs_path.Append(chrome::kPreferencesFilename); 459ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch return default_prefs_path; 469ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch} 479ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 489ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochvoid RegisterPrefs(PrefRegistrySimple* registry) { 499ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch registry->RegisterStringPref(prefs::kProfileLastUsed, std::string()); 509ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch registry->RegisterIntegerPref(prefs::kProfilesNumCreated, 1); 519ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch registry->RegisterListPref(prefs::kProfilesLastActive); 529ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch} 539ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 549ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch} // namespace profiles 55