117 lines
5.1 KiB
Diff
117 lines
5.1 KiB
Diff
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<size_t>* 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<base::string16>
|
|
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<intptr_t>(this)));
|
|
|
|
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
|
std::vector<size_t> 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<jintArray> j_end_ranges =
|
|
base::android::ToJavaIntArray(env, end_ranges, len);
|
|
-
|
|
+#else
|
|
+ int start_ranges[0], end_ranges[0];
|
|
+ base::android::ScopedJavaLocalRef<jintArray> j_start_ranges =
|
|
+ base::android::ToJavaIntArray(env, start_ranges, 0);
|
|
+ base::android::ScopedJavaLocalRef<jintArray> 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
|
|
|