| 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 af537be63d2e730cf5bcdfe686090f0b2a2c9a90..501a3429d4049c01d05a5caa2456fc8251f61572 100644
|
| --- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
|
| +++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
|
| @@ -111,6 +111,10 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
|
|
|
| if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) {
|
| UpdatePendingStateTitle();
|
| + save_button_text_ = l10n_util::GetStringUTF16(
|
| + pending_password_.is_password_change_form_without_username
|
| + ? IDS_PASSWORD_MANAGER_UPDATE_BUTTON
|
| + : IDS_PASSWORD_MANAGER_SAVE_BUTTON);
|
| } else if (state_ == password_manager::ui::BLACKLIST_STATE) {
|
| title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE);
|
| } else if (state_ == password_manager::ui::CONFIRMATION_STATE) {
|
| @@ -247,6 +251,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_);
|
| + 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;
|
| }
|
| @@ -323,6 +337,11 @@ bool ManagePasswordsBubbleModel::IsNewUIActive() const {
|
| switches::kEnableCredentialManagerAPI);
|
| }
|
|
|
| +bool ManagePasswordsBubbleModel::ShouldShowMultipleAccountUpdateUI() const {
|
| + return pending_password_.is_password_change_form_without_username &&
|
| + local_credentials_.size() > 1;
|
| +}
|
| +
|
| // static
|
| int ManagePasswordsBubbleModel::UsernameFieldWidth() {
|
| return GetFieldWidth(USERNAME_FIELD);
|
| @@ -335,6 +354,10 @@ int ManagePasswordsBubbleModel::PasswordFieldWidth() {
|
|
|
| void ManagePasswordsBubbleModel::UpdatePendingStateTitle() {
|
| title_brand_link_range_ = gfx::Range();
|
| + int title_message_id =
|
| + pending_password_.is_password_change_form_without_username
|
| + ? IDS_UPDATE_PASSWORD
|
| + : IDS_SAVE_PASSWORD;
|
| if (never_save_passwords_) {
|
| title_ = l10n_util::GetStringUTF16(
|
| IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TITLE);
|
| @@ -343,11 +366,11 @@ void ManagePasswordsBubbleModel::UpdatePendingStateTitle() {
|
| base::string16 brand_link =
|
| l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SMART_LOCK);
|
| size_t offset = 0;
|
| - title_ = l10n_util::GetStringFUTF16(IDS_SAVE_PASSWORD, brand_link, &offset);
|
| + title_ = l10n_util::GetStringFUTF16(title_message_id, brand_link, &offset);
|
| title_brand_link_range_ = gfx::Range(offset, offset + brand_link.length());
|
| } else {
|
| base::string16 brand_link =
|
| l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD_TITLE_BRAND);
|
| - title_ = l10n_util::GetStringFUTF16(IDS_SAVE_PASSWORD, brand_link);
|
| + title_ = l10n_util::GetStringFUTF16(title_message_id, brand_link);
|
| }
|
| }
|
|
|