Disable-password-reuse-detection-on-android.patch 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. From: csagan5 <32685696+csagan5@users.noreply.github.com>
  2. Date: Sun, 15 Dec 2019 22:39:56 +0100
  3. Subject: Disable password reuse detection on android
  4. ---
  5. .../android/password_reuse_controller_android.cc | 12 ++++++++++++
  6. .../password_reuse_dialog_view_android.cc | 11 +++++++++--
  7. components/password_manager/core/browser/BUILD.gn | 6 +++---
  8. 3 files changed, 24 insertions(+), 5 deletions(-)
  9. diff --git a/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc b/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc
  10. --- a/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc
  11. +++ b/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc
  12. @@ -17,17 +17,25 @@ PasswordReuseControllerAndroid::PasswordReuseControllerAndroid(
  13. ChromePasswordProtectionService* service,
  14. ReusedPasswordAccountType password_type,
  15. OnWarningDone done_callback)
  16. +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
  17. : service_(service),
  18. +#else
  19. + :
  20. +#endif
  21. url_(web_contents->GetLastCommittedURL()),
  22. password_type_(password_type),
  23. window_android_(web_contents->GetTopLevelNativeWindow()),
  24. done_callback_(std::move(done_callback)) {
  25. modal_construction_start_time_ = base::TimeTicks::Now();
  26. +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
  27. service_->AddObserver(this);
  28. +#endif
  29. }
  30. PasswordReuseControllerAndroid::~PasswordReuseControllerAndroid() {
  31. +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
  32. service_->RemoveObserver(this);
  33. +#endif
  34. dialog_view_.reset();
  35. LogModalWarningDialogLifetime(modal_construction_start_time_);
  36. }
  37. @@ -48,20 +56,24 @@ base::string16 PasswordReuseControllerAndroid::GetButtonText() const {
  38. return l10n_util::GetStringUTF16(IDS_CLOSE);
  39. }
  40. +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
  41. base::string16 PasswordReuseControllerAndroid::GetWarningDetailText(
  42. std::vector<size_t>* placeholder_offsets) const {
  43. return service_->GetWarningDetailText(password_type_, placeholder_offsets);
  44. }
  45. +#endif
  46. base::string16 PasswordReuseControllerAndroid::GetTitle() const {
  47. return l10n_util::GetStringUTF16(IDS_PAGE_INFO_CHANGE_PASSWORD_SUMMARY);
  48. }
  49. +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
  50. const std::vector<base::string16>
  51. PasswordReuseControllerAndroid::GetPlaceholdersForSavedPasswordWarningText()
  52. const {
  53. return service_->GetPlaceholdersForSavedPasswordWarningText();
  54. }
  55. +#endif
  56. void PasswordReuseControllerAndroid::OnGaiaPasswordChanged() {
  57. delete this;
  58. 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
  59. --- a/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc
  60. +++ b/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc
  61. @@ -29,6 +29,7 @@ void PasswordReuseDialogViewAndroid::Show(ui::WindowAndroid* window_android) {
  62. java_object_.Reset(Java_SafeBrowsingPasswordReuseDialogBridge_create(
  63. env, window_android->GetJavaObject(), reinterpret_cast<intptr_t>(this)));
  64. +#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
  65. std::vector<size_t> placeholder_offsets;
  66. base::string16 warning_detail_text =
  67. controller_->GetWarningDetailText(&placeholder_offsets);
  68. @@ -50,14 +51,20 @@ void PasswordReuseDialogViewAndroid::Show(ui::WindowAndroid* window_android) {
  69. base::android::ToJavaIntArray(env, start_ranges, len);
  70. base::android::ScopedJavaLocalRef<jintArray> j_end_ranges =
  71. base::android::ToJavaIntArray(env, end_ranges, len);
  72. -
  73. +#else
  74. + int start_ranges[0], end_ranges[0];
  75. + base::android::ScopedJavaLocalRef<jintArray> j_start_ranges =
  76. + base::android::ToJavaIntArray(env, start_ranges, 0);
  77. + base::android::ScopedJavaLocalRef<jintArray> j_end_ranges =
  78. + base::android::ToJavaIntArray(env, end_ranges, 0);
  79. Java_SafeBrowsingPasswordReuseDialogBridge_showDialog(
  80. env, java_object_,
  81. base::android::ConvertUTF16ToJavaString(env, controller_->GetTitle()),
  82. - base::android::ConvertUTF16ToJavaString(env, warning_detail_text),
  83. + base::android::ConvertUTF16ToJavaString(env, controller_->GetTitle()),
  84. base::android::ConvertUTF16ToJavaString(env,
  85. controller_->GetButtonText()),
  86. j_start_ranges, j_end_ranges);
  87. +#endif
  88. }
  89. void PasswordReuseDialogViewAndroid::Close(
  90. diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn
  91. --- a/components/password_manager/core/browser/BUILD.gn
  92. +++ b/components/password_manager/core/browser/BUILD.gn
  93. @@ -11,9 +11,9 @@ if (is_android) {
  94. # TODO(crbug.com/1006430): Fix password reuse detection not fully functional on
  95. # Android.
  96. -password_reuse_detection_support = !is_ios
  97. -password_reuse_warning_support = !is_ios
  98. -password_on_focus_ping_support = !is_ios
  99. +password_reuse_detection_support = !is_ios && !is_android
  100. +password_reuse_warning_support = !is_ios && !is_android
  101. +password_on_focus_ping_support = !is_ios && !is_android
  102. config("password_reuse_detection_config") {
  103. defines = []
  104. --
  105. 2.17.1