Index: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
index e56d279dd54ac53f9f74aa6a4e582b0e7525bbec..6c783a573d0a76f5b9a5c0bb17b9344129d1250d 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
@@ -96,7 +96,8 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
origin_ = controller->origin(); |
state_ = controller->state(); |
- if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) { |
+ if (state_ == password_manager::ui::PENDING_PASSWORD_STATE || |
+ state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) { |
pending_password_ = controller->PendingPassword(); |
local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); |
} else if (state_ == password_manager::ui::CONFIRMATION_STATE) { |
@@ -110,7 +111,8 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); |
} |
- if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) { |
+ if (state_ == password_manager::ui::PENDING_PASSWORD_STATE || |
+ state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) { |
UpdatePendingStateTitle(); |
} else if (state_ == password_manager::ui::BLACKLIST_STATE) { |
title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE); |
@@ -248,6 +250,16 @@ void ManagePasswordsBubbleModel::OnSaveClicked() { |
state_ = password_manager::ui::MANAGE_STATE; |
} |
+void ManagePasswordsBubbleModel::OnUpdateClicked( |
+ const autofill::PasswordForm& password_form) { |
+ dismissal_reason_ = metrics_util::CLICKED_UPDATE; |
+ RecordExperimentStatistics(web_contents(), dismissal_reason_); |
vasilii
2015/07/27 15:44:49
You should call this only for the "Save?" bubble.
dvadym
2015/07/30 11:22:44
Removed
vabr (Chromium)
2015/07/31 12:48:13
So why don't we gather the statistics here?
vasilii
2015/07/31 14:38:53
Because it's not a save bubble and it should not a
|
+ ManagePasswordsUIController* manage_passwords_ui_controller = |
+ ManagePasswordsUIController::FromWebContents(web_contents()); |
+ manage_passwords_ui_controller->UpdatePassword(password_form); |
+ state_ = password_manager::ui::MANAGE_STATE; |
+} |
+ |
void ManagePasswordsBubbleModel::OnDoneClicked() { |
dismissal_reason_ = metrics_util::CLICKED_DONE; |
} |
@@ -324,6 +336,11 @@ bool ManagePasswordsBubbleModel::IsNewUIActive() const { |
switches::kEnableCredentialManagerAPI); |
} |
+bool ManagePasswordsBubbleModel::ShouldShowMultipleAccountUpdateUI() const { |
+ return state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE && |
+ local_credentials_.size() > 1; |
+} |
+ |
// static |
int ManagePasswordsBubbleModel::UsernameFieldWidth() { |
return GetFieldWidth(USERNAME_FIELD); |
@@ -342,7 +359,8 @@ void ManagePasswordsBubbleModel::UpdatePendingStateTitle() { |
} else { |
GetSavePasswordDialogTitleTextAndLinkRange( |
web_contents()->GetVisibleURL(), origin(), |
- IsSmartLockBrandingEnabled(GetProfile()), &title_, |
+ IsSmartLockBrandingEnabled(GetProfile()), |
+ state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, &title_, |
&title_brand_link_range_); |
} |
} |