Chromium Code Reviews| Index: chrome/browser/profiles/profile_impl.cc |
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
| index a491300e25d01cb01561cd352e74275adcbc51b3..b35b76343f867c1c07f5ac76a875d9468e4350ec 100644 |
| --- a/chrome/browser/profiles/profile_impl.cc |
| +++ b/chrome/browser/profiles/profile_impl.cc |
| @@ -475,11 +475,11 @@ ProfileImpl::ProfileImpl( |
| // (successfully or not). Note that we can use base::Unretained |
| // because the PrefService is owned by this class and lives on |
| // the same thread. |
| - prefs_->AddPrefInitObserver(base::Bind(&ProfileImpl::OnPrefsLoaded, |
| - base::Unretained(this))); |
| + prefs_->AddPrefInitObserver(base::Bind( |
| + &ProfileImpl::OnPrefsLoaded, base::Unretained(this), create_mode)); |
| } else { |
| // Prefs were loaded synchronously so we can continue directly. |
| - OnPrefsLoaded(true); |
| + OnPrefsLoaded(create_mode, true); |
| } |
| } |
| @@ -802,15 +802,8 @@ ExtensionSpecialStoragePolicy* |
| #endif |
| } |
| -void ProfileImpl::OnPrefsLoaded(bool success) { |
| - TRACE_EVENT0("browser", "ProfileImpl::OnPrefsLoaded"); |
| - SCOPED_UMA_HISTOGRAM_TIMER("Profile.OnPrefsLoadedTime"); |
| - if (!success) { |
| - if (delegate_) |
| - delegate_->OnProfileCreated(this, false, false); |
| - return; |
| - } |
| - |
| +void ProfileImpl::OnLocaleReady() { |
| + SCOPED_UMA_HISTOGRAM_TIMER("Profile.OnLocaleReadyTime"); |
| // Migrate obsolete prefs. |
| if (g_browser_process->local_state()) |
| chrome::MigrateObsoleteBrowserPrefs(this, g_browser_process->local_state()); |
| @@ -861,6 +854,25 @@ void ProfileImpl::OnPrefsLoaded(bool success) { |
| DoFinalInit(); |
| } |
| +void ProfileImpl::OnPrefsLoaded(CreateMode create_mode, bool success) { |
| + TRACE_EVENT0("browser", "ProfileImpl::OnPrefsLoaded"); |
|
noms (inactive)
2015/05/05 20:53:15
nit: Did you delete `SCOPED_UMA_HISTOGRAM_TIMER("
Alexander Alekseev
2015/05/05 21:00:23
It is now replaced by SCOPED_UMA_HISTOGRAM_TIMER("
rkaplow
2015/05/05 21:07:07
if most of the time is in that (i.e. not on the On
Alexander Alekseev
2015/05/07 15:21:57
Done.
|
| + if (!success) { |
| + if (delegate_) |
| + delegate_->OnProfileCreated(this, false, false); |
| + |
|
noms (inactive)
2015/05/05 20:53:15
nit: remove empty line
Alexander Alekseev
2015/05/07 15:21:57
Done.
|
| + return; |
| + } |
| + |
| +#if defined(OS_CHROMEOS) |
| + const bool synchronous = (create_mode == CREATE_MODE_SYNCHRONOUS); |
| + chromeos::UserSessionManager::GetInstance()->RespectLocalePreferenceWrapper( |
| + this, base::Bind(&ProfileImpl::OnLocaleReady, base::Unretained(this)), |
| + synchronous); |
| +#else |
| + OnLocaleReady(); |
| +#endif |
| +} |
| + |
| bool ProfileImpl::WasCreatedByVersionOrLater(const std::string& version) { |
| Version profile_version(ChromeVersionService::GetVersion(prefs_.get())); |
| Version arg_version(version); |