diff options
Diffstat (limited to 'chrome/app/chrome_main_delegate.cc')
-rw-r--r-- | chrome/app/chrome_main_delegate.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc index 9d5f3f0..168b32e 100644 --- a/chrome/app/chrome_main_delegate.cc +++ b/chrome/app/chrome_main_delegate.cc @@ -4,6 +4,7 @@ #include "chrome/app/chrome_main_delegate.h" +#include "base/base_paths.h" #include "base/command_line.h" #include "base/cpu.h" #include "base/files/file_path.h" @@ -476,6 +477,16 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exit_code) { #endif #if defined(OS_CHROMEOS) + // Initialize primary user homedir (in multi-profile session) as it may be + // passed as a command line switch. + base::FilePath homedir; + if (command_line.HasSwitch(chromeos::switches::kHomedir)) { + homedir = base::FilePath( + command_line.GetSwitchValueASCII(chromeos::switches::kHomedir)); + PathService::OverrideAndCreateIfNeeded( + base::DIR_HOME, homedir, true, false); + } + // If we are recovering from a crash on ChromeOS, then we will do some // recovery using the diagnostics module, and then continue on. We fake up a // command line to tell it that we want it to recover, and to preserve the |