Chromium Code Reviews| Index: chrome/browser/profiles/profile_window.cc |
| diff --git a/chrome/browser/profiles/profile_window.cc b/chrome/browser/profiles/profile_window.cc |
| index fb3276fa93033fbdf624f2f9da36c3e96792ed37..923ea165afdc45eade87a4d311126ce15fdfaa91 100644 |
| --- a/chrome/browser/profiles/profile_window.cc |
| +++ b/chrome/browser/profiles/profile_window.cc |
| @@ -6,8 +6,11 @@ |
| #include "base/command_line.h" |
| #include "base/files/file_path.h" |
| +#include "chrome/browser/browser_process.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "chrome/browser/profiles/profile_manager.h" |
| #include "chrome/browser/ui/browser.h" |
| +#include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/user_metrics.h" |
| #if !defined(OS_IOS) |
| @@ -16,8 +19,29 @@ |
| #include "chrome/browser/ui/startup/startup_browser_creator.h" |
| #endif // !defined (OS_IOS) |
| +using content::BrowserThread; |
| using content::UserMetricsAction; |
| +namespace { |
| + |
| +void OpenBrowserWindowForProfile(bool always_create, |
| + chrome::HostDesktopType desktop_type, |
| + Profile* profile, |
| + Profile::CreateStatus status) { |
|
Roger Tawa OOO till Jul 10th
2013/07/18 16:04:37
Align args to first one.
noms
2013/07/18 18:04:54
Done.
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + |
| + if (status == Profile::CREATE_STATUS_INITIALIZED) { |
| + profiles::FindOrCreateNewWindowForProfile( |
| + profile, |
| + chrome::startup::IS_NOT_PROCESS_STARTUP, |
| + chrome::startup::IS_NOT_FIRST_RUN, |
| + desktop_type, |
| + always_create); |
| + } |
| +} |
| + |
| +} // namespace |
| + |
| namespace profiles { |
| void FindOrCreateNewWindowForProfile( |
| @@ -48,4 +72,18 @@ void FindOrCreateNewWindowForProfile( |
| #endif // defined(OS_IOS) |
| } |
| +void SwitchToProfile( |
| + const base::FilePath& path, |
| + chrome::HostDesktopType desktop_type, |
| + bool always_create) { |
| + g_browser_process->profile_manager()->CreateProfileAsync( |
| + path, |
| + base::Bind(&OpenBrowserWindowForProfile, |
| + always_create, |
| + desktop_type), |
| + string16(), |
| + string16(), |
| + false); |
| +} |
| + |
| } // namespace profiles |