summaryrefslogtreecommitdiffstats
path: root/chrome/app/chrome_main_delegate.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/app/chrome_main_delegate.cc')
-rw-r--r--chrome/app/chrome_main_delegate.cc11
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