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 4ac1485bf95f5fbea35c34cd2bc7d9be24b2f5bc..d4c79beb3d62c177ce75d24c7173f68d235bc404 100644 |
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc |
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc |
@@ -65,6 +65,7 @@ |
#include "chrome/browser/android/tab_android.h" |
#include "chrome/browser/password_manager/account_chooser_dialog_android.h" |
#include "chrome/browser/password_manager/generated_password_saved_infobar_delegate_android.h" |
+#include "chrome/browser/password_manager/update_password_infobar_delegate.h" |
#include "chrome/browser/ui/android/snackbars/auto_signin_prompt_controller.h" |
#endif |
@@ -238,12 +239,17 @@ bool ChromePasswordManagerClient::PromptUserToSaveOrUpdatePassword( |
#if defined(OS_MACOSX) || BUILDFLAG(ANDROID_JAVA_UI) |
if (form_to_save->IsBlacklisted()) |
return false; |
+ if (update_password && IsUpdatePasswordUIEnabled()) { |
+ UpdatePasswordInfoBarDelegate::Create(web_contents(), |
+ std::move(form_to_save)); |
+ } else { |
std::string uma_histogram_suffix( |
password_manager::metrics_util::GroupIdToString( |
password_manager::metrics_util::MonitoredDomainGroupId( |
form_to_save->pending_credentials().signon_realm, GetPrefs()))); |
SavePasswordInfoBarDelegate::Create(web_contents(), std::move(form_to_save), |
uma_histogram_suffix); |
+ } |
#else |
NOTREACHED() << "Aura platforms should always use the bubble"; |
#endif |
@@ -512,6 +518,9 @@ bool ChromePasswordManagerClient::IsUpdatePasswordUIEnabled() const { |
} |
return base::FeatureList::IsEnabled( |
password_manager::features::kEnablePasswordChangeSupport); |
+#elif BUILDFLAG(ANDROID_JAVA_UI) |
+ return base::FeatureList::IsEnabled( |
+ password_manager::features::kEnablePasswordChangeSupport); |
#else |
return IsTheHotNewBubbleUIEnabled(); |
#endif |