Chromium Code Reviews| 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_); |
| } |
| } |