Index: chrome/app/chrome_main_delegate.cc |
diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc |
index 9d5f3f03e16497f3a00786b07b801ed8a1f66bcb..168b32e9883ab402090cd3b268de83123403f838 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 |