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 1ddedc29c5d748a6448e2725c815825ba7831a3b..5b3228a767dbc34074b01c7605341b4bcf553966 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 |
@@ -239,6 +240,13 @@ bool ChromePasswordManagerClient::PromptUserToSaveOrUpdatePassword( |
#if defined(OS_MACOSX) || BUILDFLAG(ANDROID_JAVA_UI) |
if (form_to_save->IsBlacklisted()) |
return false; |
+#if BUILDFLAG(ANDROID_JAVA_UI) |
+ if (update_password && IsUpdatePasswordUIEnabled()) { |
+ UpdatePasswordInfoBarDelegate::Create(web_contents(), |
+ std::move(form_to_save)); |
+ return true; |
+ } |
+#endif |
std::string uma_histogram_suffix( |
password_manager::metrics_util::GroupIdToString( |
password_manager::metrics_util::MonitoredDomainGroupId( |
@@ -506,8 +514,12 @@ bool ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled() { |
} |
bool ChromePasswordManagerClient::IsUpdatePasswordUIEnabled() const { |
- // Currently Password update UI is implemented only for Bubble UI. |
+#if BUILDFLAG(ANDROID_JAVA_UI) |
+ return base::FeatureList::IsEnabled( |
+ password_manager::features::kEnablePasswordChangeSupport); |
+#else |
return IsTheHotNewBubbleUIEnabled(); |
+#endif |
} |
bool ChromePasswordManagerClient::EnabledForSyncSignin() { |