Chromium Code Reviews| Index: chrome/browser/password_manager/chrome_password_manager_client.cc |
| diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc |
| index e0b00b7cc4953bd3d4aaeb24bb1f65c2f5ae73f1..4ccb43568d40fec8f834500f830b4b7fbd3c0ffc 100644 |
| --- a/chrome/browser/password_manager/chrome_password_manager_client.cc |
| +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc |
| @@ -50,6 +50,17 @@ |
| #include "chrome/browser/password_manager/generated_password_saved_infobar_delegate_android.h" |
| #endif |
| +namespace { |
| +void ReportOsPassword() { |
|
vabr (Chromium)
2014/12/09 10:08:16
nit: The example snippet for unnamed namespaces in
vasilii
2014/12/09 11:02:53
Done. The same snippet suggests wrong indent for '
vabr (Chromium)
2014/12/09 11:29:16
Good point! :) Time to leave your trace in the Chr
|
| + password_manager_util::OsPasswordStatus status = |
| + password_manager_util::GetOsPasswordStatus(); |
| + |
| + UMA_HISTOGRAM_ENUMERATION("PasswordManager.OsPasswordStatus", |
| + status, |
| + password_manager_util::MAX_PASSWORD_STATUS); |
| +} |
| +} // namespace |
| + |
| using password_manager::ContentPasswordManagerDriverFactory; |
| using password_manager::PasswordManagerInternalsService; |
| using password_manager::PasswordManagerInternalsServiceFactory; |
| @@ -94,6 +105,12 @@ ChromePasswordManagerClient::ChromePasswordManagerClient( |
| if (service) |
| can_use_log_router_ = service->RegisterClient(this); |
| SetUpAutofillSyncState(); |
| + // Avoid checking OS password until later on in browser startup |
| + // since it calls a few Windows APIs. |
| + base::MessageLoopProxy::current()->PostDelayedTask( |
| + FROM_HERE, |
| + base::Bind(&ReportOsPassword), |
| + base::TimeDelta::FromSeconds(10)); |
| } |
| ChromePasswordManagerClient::~ChromePasswordManagerClient() { |