Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1172)

Side by Side Diff: chrome/browser/profiles/profile_manager.cc

Issue 442043002: ProfileManager doesn't depend on "--login-profile" switch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More tests fixed. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/profiles/profile_manager.h" 5 #include "chrome/browser/profiles/profile_manager.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 (candidate->HasOffTheRecordProfile() && 453 (candidate->HasOffTheRecordProfile() &&
454 candidate->GetOffTheRecordProfile() == profile)) { 454 candidate->GetOffTheRecordProfile() == profile)) {
455 return true; 455 return true;
456 } 456 }
457 } 457 }
458 } 458 }
459 return false; 459 return false;
460 } 460 }
461 461
462 base::FilePath ProfileManager::GetInitialProfileDir() { 462 base::FilePath ProfileManager::GetInitialProfileDir() {
463 base::FilePath relative_profile_dir;
464 #if defined(OS_CHROMEOS) 463 #if defined(OS_CHROMEOS)
465 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
466 if (logged_in_) { 464 if (logged_in_) {
Mr4D (OOO till 08-26) 2014/08/15 14:27:56 I was wondering about guest mode. Looking at the G
dzhioev (left Google) 2014/08/15 16:11:25 Yep, guest mode still works. Guest mode starts in
467 base::FilePath profile_dir; 465 return chromeos::ProfileHelper::Get()->GetActiveUserProfileDir();
468 // If the user has logged in, pick up the new profile.
469 if (command_line.HasSwitch(chromeos::switches::kLoginProfile)) {
470 // TODO(nkostylev): Remove this code completely once we eliminate
471 // legacy --login-profile=user switch and enable multi-profiles on CrOS
472 // by default. http://crbug.com/294628
473 profile_dir = chromeos::ProfileHelper::
474 GetProfileDirByLegacyLoginProfileSwitch();
475 }
476 // In case of multi-profiles ignore --login-profile switch.
477 // TODO(nkostylev): Some cases like Guest mode will have empty username_hash
478 // so default kLoginProfile dir will be used.
479 std::string user_id_hash =
480 chromeos::ProfileHelper::Get()->active_user_id_hash();
481 if (!user_id_hash.empty())
482 profile_dir = chromeos::ProfileHelper::Get()->GetActiveUserProfileDir();
483
484 relative_profile_dir = relative_profile_dir.Append(profile_dir);
485 return relative_profile_dir;
486 } 466 }
487 #endif 467 #endif
468 base::FilePath relative_profile_dir;
488 // TODO(mirandac): should not automatically be default profile. 469 // TODO(mirandac): should not automatically be default profile.
489 relative_profile_dir = 470 return relative_profile_dir.AppendASCII(chrome::kInitialProfile);
490 relative_profile_dir.AppendASCII(chrome::kInitialProfile);
491 return relative_profile_dir;
492 } 471 }
493 472
494 Profile* ProfileManager::GetLastUsedProfile( 473 Profile* ProfileManager::GetLastUsedProfile(
495 const base::FilePath& user_data_dir) { 474 const base::FilePath& user_data_dir) {
496 #if defined(OS_CHROMEOS) 475 #if defined(OS_CHROMEOS)
497 // Use default login profile if user has not logged in yet. 476 // Use default login profile if user has not logged in yet.
498 if (!logged_in_) { 477 if (!logged_in_) {
499 return GetActiveUserOrOffTheRecordProfileFromPath(user_data_dir); 478 return GetActiveUserOrOffTheRecordProfileFromPath(user_data_dir);
500 } else { 479 } else {
501 // CrOS multi-profiles implementation is different so GetLastUsedProfile 480 // CrOS multi-profiles implementation is different so GetLastUsedProfile
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
1197 prefs->SetBoolean(prefs::kEditBookmarksEnabled, false); 1176 prefs->SetBoolean(prefs::kEditBookmarksEnabled, false);
1198 prefs->SetBoolean(prefs::kShowBookmarkBar, false); 1177 prefs->SetBoolean(prefs::kShowBookmarkBar, false);
1199 // This can be removed in the future but needs to be present through 1178 // This can be removed in the future but needs to be present through
1200 // a release (or two) so that any existing installs get switched to 1179 // a release (or two) so that any existing installs get switched to
1201 // the new state and away from the previous "forced" state. 1180 // the new state and away from the previous "forced" state.
1202 IncognitoModePrefs::SetAvailability(prefs, IncognitoModePrefs::ENABLED); 1181 IncognitoModePrefs::SetAvailability(prefs, IncognitoModePrefs::ENABLED);
1203 } 1182 }
1204 1183
1205 bool ProfileManager::ShouldGoOffTheRecord(Profile* profile) { 1184 bool ProfileManager::ShouldGoOffTheRecord(Profile* profile) {
1206 #if defined(OS_CHROMEOS) 1185 #if defined(OS_CHROMEOS)
1207 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 1186 if (profile->GetPath().BaseName().value() == chrome::kInitialProfile) {
1208 if (profile->GetPath().BaseName().value() == chrome::kInitialProfile &&
1209 (!command_line.HasSwitch(switches::kTestType) ||
1210 command_line.HasSwitch(chromeos::switches::kLoginProfile))) {
1211 return true; 1187 return true;
1212 } 1188 }
1213 #endif 1189 #endif
1214 return profile->IsGuestSession(); 1190 return profile->IsGuestSession();
1215 } 1191 }
1216 1192
1217 void ProfileManager::RunCallbacks(const std::vector<CreateCallback>& callbacks, 1193 void ProfileManager::RunCallbacks(const std::vector<CreateCallback>& callbacks,
1218 Profile* profile, 1194 Profile* profile,
1219 Profile::CreateStatus status) { 1195 Profile::CreateStatus status) {
1220 for (size_t i = 0; i < callbacks.size(); ++i) 1196 for (size_t i = 0; i < callbacks.size(); ++i)
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 last_non_supervised_profile_path.BaseName().MaybeAsASCII()); 1298 last_non_supervised_profile_path.BaseName().MaybeAsASCII());
1323 FinishDeletingProfile(profile_to_delete_path); 1299 FinishDeletingProfile(profile_to_delete_path);
1324 } 1300 }
1325 } 1301 }
1326 } 1302 }
1327 #endif 1303 #endif
1328 1304
1329 ProfileManagerWithoutInit::ProfileManagerWithoutInit( 1305 ProfileManagerWithoutInit::ProfileManagerWithoutInit(
1330 const base::FilePath& user_data_dir) : ProfileManager(user_data_dir) { 1306 const base::FilePath& user_data_dir) : ProfileManager(user_data_dir) {
1331 } 1307 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698