From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sun, 15 Dec 2019 22:39:56 +0100 Subject: Disable password reuse detection on android --- .../android/password_reuse_controller_android.cc | 12 ++++++++++++ .../password_reuse_dialog_view_android.cc | 11 +++++++++-- components/password_manager/core/browser/BUILD.gn | 6 +++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc b/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc --- a/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc +++ b/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc @@ -17,17 +17,25 @@ PasswordReuseControllerAndroid::PasswordReuseControllerAndroid( ChromePasswordProtectionService* service, ReusedPasswordAccountType password_type, OnWarningDone done_callback) +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) : service_(service), +#else + : +#endif url_(web_contents->GetLastCommittedURL()), password_type_(password_type), window_android_(web_contents->GetTopLevelNativeWindow()), done_callback_(std::move(done_callback)) { modal_construction_start_time_ = base::TimeTicks::Now(); +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) service_->AddObserver(this); +#endif } PasswordReuseControllerAndroid::~PasswordReuseControllerAndroid() { +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) service_->RemoveObserver(this); +#endif dialog_view_.reset(); LogModalWarningDialogLifetime(modal_construction_start_time_); } @@ -48,20 +56,24 @@ base::string16 PasswordReuseControllerAndroid::GetButtonText() const { return l10n_util::GetStringUTF16(IDS_CLOSE); } +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) base::string16 PasswordReuseControllerAndroid::GetWarningDetailText( std::vector* placeholder_offsets) const { return service_->GetWarningDetailText(password_type_, placeholder_offsets); } +#endif base::string16 PasswordReuseControllerAndroid::GetTitle() const { return l10n_util::GetStringUTF16(IDS_PAGE_INFO_CHANGE_PASSWORD_SUMMARY); } +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) const std::vector PasswordReuseControllerAndroid::GetPlaceholdersForSavedPasswordWarningText() const { return service_->GetPlaceholdersForSavedPasswordWarningText(); } +#endif void PasswordReuseControllerAndroid::OnGaiaPasswordChanged() { delete this; diff --git a/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc b/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc --- a/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc +++ b/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc @@ -29,6 +29,7 @@ void PasswordReuseDialogViewAndroid::Show(ui::WindowAndroid* window_android) { java_object_.Reset(Java_SafeBrowsingPasswordReuseDialogBridge_create( env, window_android->GetJavaObject(), reinterpret_cast(this))); +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) std::vector placeholder_offsets; base::string16 warning_detail_text = controller_->GetWarningDetailText(&placeholder_offsets); @@ -50,14 +51,20 @@ void PasswordReuseDialogViewAndroid::Show(ui::WindowAndroid* window_android) { base::android::ToJavaIntArray(env, start_ranges, len); base::android::ScopedJavaLocalRef j_end_ranges = base::android::ToJavaIntArray(env, end_ranges, len); - +#else + int start_ranges[0], end_ranges[0]; + base::android::ScopedJavaLocalRef j_start_ranges = + base::android::ToJavaIntArray(env, start_ranges, 0); + base::android::ScopedJavaLocalRef j_end_ranges = + base::android::ToJavaIntArray(env, end_ranges, 0); Java_SafeBrowsingPasswordReuseDialogBridge_showDialog( env, java_object_, base::android::ConvertUTF16ToJavaString(env, controller_->GetTitle()), - base::android::ConvertUTF16ToJavaString(env, warning_detail_text), + base::android::ConvertUTF16ToJavaString(env, controller_->GetTitle()), base::android::ConvertUTF16ToJavaString(env, controller_->GetButtonText()), j_start_ranges, j_end_ranges); +#endif } void PasswordReuseDialogViewAndroid::Close( diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn --- a/components/password_manager/core/browser/BUILD.gn +++ b/components/password_manager/core/browser/BUILD.gn @@ -11,9 +11,9 @@ if (is_android) { # TODO(crbug.com/1006430): Fix password reuse detection not fully functional on # Android. -password_reuse_detection_support = !is_ios -password_reuse_warning_support = !is_ios -password_on_focus_ping_support = !is_ios +password_reuse_detection_support = !is_ios && !is_android +password_reuse_warning_support = !is_ios && !is_android +password_on_focus_ping_support = !is_ios && !is_android config("password_reuse_detection_config") { defines = [] -- 2.17.1