Loading build/patches/Enable-native-Android-autofill.patch +72 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/autofill/android/BUILD.gn | 2 +- .../autofill/AutofillClientProviderUtils.java | 2 +- ...AutofillThirdPartyModeContentProvider.java | 1 + .../chrome_password_manager_client.cc | 6 ++ .../chrome_password_manager_client.h | 2 + .../strings/android_chrome_strings.grd | 6 ++ .../ui/autofill/autofill_client_provider.cc | 94 +------------------ .../ui/autofill/autofill_client_provider.h | 6 -- Loading @@ -45,7 +47,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../foundations/browser_autofill_manager.h | 2 + .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 + 30 files changed, 239 insertions(+), 144 deletions(-) .../core/browser/password_form_manager.cc | 4 + .../core/browser/password_manager_client.cc | 2 + .../core/browser/password_manager_client.h | 2 + 35 files changed, 255 insertions(+), 144 deletions(-) create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java Loading Loading @@ -371,6 +376,34 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse if (createContentUri().equals(uri)) { final String[] columns = {AUTOFILL_THIRD_PARTY_MODE_COLUMN}; MatrixCursor cursor = new MatrixCursor(columns, 1); diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc @@ -518,6 +518,12 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials( } #if BUILDFLAG(IS_ANDROID) +void ChromePasswordManagerClient::OnFillNow() { + if (touch_to_fill_controller_) { + touch_to_fill_controller_->Reset(); + } +} + void ChromePasswordManagerClient::ShowPasswordManagerErrorMessage( password_manager::ErrorMessageFlowType flow_type, password_manager::PasswordStoreBackendErrorType error_type) { diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/chrome/browser/password_manager/chrome_password_manager_client.h --- a/chrome/browser/password_manager/chrome_password_manager_client.h +++ b/chrome/browser/password_manager/chrome_password_manager_client.h @@ -161,6 +161,8 @@ class ChromePasswordManagerClient const url::Origin& origin, CredentialsCallback callback) override; #if BUILDFLAG(IS_ANDROID) + void OnFillNow() override; + void ShowPasswordManagerErrorMessage( password_manager::ErrorMessageFlowType flow_type, password_manager::PasswordStoreBackendErrorType error_type) override; diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd Loading Loading @@ -900,4 +933,42 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_CHROMEOS) // Boolean that is set when payment methods mandatory re-auth is enabled by the diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc --- a/components/password_manager/core/browser/password_form_manager.cc +++ b/components/password_manager/core/browser/password_form_manager.cc @@ -1196,6 +1196,10 @@ void PasswordFormManager::FillNow() { } autofills_left_--; +#if BUILDFLAG(IS_ANDROID) + client_->OnFillNow(); +#endif + // There are additional signals (server-side data) and parse results in // filling and saving mode might be different so it is better not to cache // parse result, but to parse each time again. diff --git a/components/password_manager/core/browser/password_manager_client.cc b/components/password_manager/core/browser/password_manager_client.cc --- a/components/password_manager/core/browser/password_manager_client.cc +++ b/components/password_manager/core/browser/password_manager_client.cc @@ -39,6 +39,8 @@ bool PasswordManagerClient::IsAutoSignInEnabled() const { } #if BUILDFLAG(IS_ANDROID) +void PasswordManagerClient::OnFillNow() {} + void PasswordManagerClient::ShowPasswordManagerErrorMessage( ErrorMessageFlowType flow_type, password_manager::PasswordStoreBackendErrorType error_type) {} diff --git a/components/password_manager/core/browser/password_manager_client.h b/components/password_manager/core/browser/password_manager_client.h --- a/components/password_manager/core/browser/password_manager_client.h +++ b/components/password_manager/core/browser/password_manager_client.h @@ -224,6 +224,8 @@ class PasswordManagerClient { virtual void ShowKeyboardReplacingSurface( PasswordManagerDriver* driver, const autofill::PasswordSuggestionRequest& request); + + virtual void OnFillNow(); #endif // Checks whether user re-authentication should be triggered before password -- Loading
build/patches/Enable-native-Android-autofill.patch +72 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/autofill/android/BUILD.gn | 2 +- .../autofill/AutofillClientProviderUtils.java | 2 +- ...AutofillThirdPartyModeContentProvider.java | 1 + .../chrome_password_manager_client.cc | 6 ++ .../chrome_password_manager_client.h | 2 + .../strings/android_chrome_strings.grd | 6 ++ .../ui/autofill/autofill_client_provider.cc | 94 +------------------ .../ui/autofill/autofill_client_provider.h | 6 -- Loading @@ -45,7 +47,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../foundations/browser_autofill_manager.h | 2 + .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 + 30 files changed, 239 insertions(+), 144 deletions(-) .../core/browser/password_form_manager.cc | 4 + .../core/browser/password_manager_client.cc | 2 + .../core/browser/password_manager_client.h | 2 + 35 files changed, 255 insertions(+), 144 deletions(-) create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java Loading Loading @@ -371,6 +376,34 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse if (createContentUri().equals(uri)) { final String[] columns = {AUTOFILL_THIRD_PARTY_MODE_COLUMN}; MatrixCursor cursor = new MatrixCursor(columns, 1); diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc @@ -518,6 +518,12 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials( } #if BUILDFLAG(IS_ANDROID) +void ChromePasswordManagerClient::OnFillNow() { + if (touch_to_fill_controller_) { + touch_to_fill_controller_->Reset(); + } +} + void ChromePasswordManagerClient::ShowPasswordManagerErrorMessage( password_manager::ErrorMessageFlowType flow_type, password_manager::PasswordStoreBackendErrorType error_type) { diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/chrome/browser/password_manager/chrome_password_manager_client.h --- a/chrome/browser/password_manager/chrome_password_manager_client.h +++ b/chrome/browser/password_manager/chrome_password_manager_client.h @@ -161,6 +161,8 @@ class ChromePasswordManagerClient const url::Origin& origin, CredentialsCallback callback) override; #if BUILDFLAG(IS_ANDROID) + void OnFillNow() override; + void ShowPasswordManagerErrorMessage( password_manager::ErrorMessageFlowType flow_type, password_manager::PasswordStoreBackendErrorType error_type) override; diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd Loading Loading @@ -900,4 +933,42 @@ diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autof #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_CHROMEOS) // Boolean that is set when payment methods mandatory re-auth is enabled by the diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc --- a/components/password_manager/core/browser/password_form_manager.cc +++ b/components/password_manager/core/browser/password_form_manager.cc @@ -1196,6 +1196,10 @@ void PasswordFormManager::FillNow() { } autofills_left_--; +#if BUILDFLAG(IS_ANDROID) + client_->OnFillNow(); +#endif + // There are additional signals (server-side data) and parse results in // filling and saving mode might be different so it is better not to cache // parse result, but to parse each time again. diff --git a/components/password_manager/core/browser/password_manager_client.cc b/components/password_manager/core/browser/password_manager_client.cc --- a/components/password_manager/core/browser/password_manager_client.cc +++ b/components/password_manager/core/browser/password_manager_client.cc @@ -39,6 +39,8 @@ bool PasswordManagerClient::IsAutoSignInEnabled() const { } #if BUILDFLAG(IS_ANDROID) +void PasswordManagerClient::OnFillNow() {} + void PasswordManagerClient::ShowPasswordManagerErrorMessage( ErrorMessageFlowType flow_type, password_manager::PasswordStoreBackendErrorType error_type) {} diff --git a/components/password_manager/core/browser/password_manager_client.h b/components/password_manager/core/browser/password_manager_client.h --- a/components/password_manager/core/browser/password_manager_client.h +++ b/components/password_manager/core/browser/password_manager_client.h @@ -224,6 +224,8 @@ class PasswordManagerClient { virtual void ShowKeyboardReplacingSurface( PasswordManagerDriver* driver, const autofill::PasswordSuggestionRequest& request); + + virtual void OnFillNow(); #endif // Checks whether user re-authentication should be triggered before password --