From 06259daa58fce1ca5fc1db0f6d4d5fe4285a2526 Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sun, 26 Jun 2022 19:11:08 +0200 Subject: [PATCH] More fixes related to password manager --- ...uiltin-autocomplete-for-chrome-flags.patch | 2 +- .../Remove-signin-and-sync-integrations.patch | 794 +++++++++++++++++- 2 files changed, 772 insertions(+), 24 deletions(-) diff --git a/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch b/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch index d78a1c73..cac529fb 100644 --- a/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch +++ b/build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -267,6 +267,8 @@ std::vector ChromeAutocompleteProviderClient::GetBuiltinURLs() { +@@ -265,6 +265,8 @@ std::vector ChromeAutocompleteProviderClient::GetBuiltinURLs() { std::vector ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { std::vector builtins_to_provide; diff --git a/build/patches/Remove-signin-and-sync-integrations.patch b/build/patches/Remove-signin-and-sync-integrations.patch index bb5eceed..10363df9 100644 --- a/build/patches/Remove-signin-and-sync-integrations.patch +++ b/build/patches/Remove-signin-and-sync-integrations.patch @@ -75,7 +75,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../tabbed_mode/TabbedRootUiCoordinator.java | 19 -- .../browser/tasks/ReturnToChromeUtil.java | 9 +- chrome/browser/BUILD.gn | 150 ------------- - .../chrome_autocomplete_provider_client.cc | 17 +- + .../chrome_autocomplete_provider_client.cc | 21 +- + .../chrome_autocomplete_provider_client.h | 1 - .../document_suggestions_service_factory.cc | 6 +- .../autofill/personal_data_manager_factory.cc | 4 +- .../common_dependencies_chrome.cc | 13 -- @@ -84,17 +85,22 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../counters/browsing_data_counter_utils.cc | 6 - chrome/browser/chrome_browser_field_trials.cc | 6 +- .../endpoint_fetcher/endpoint_fetcher.cc | 2 +- + .../profile_report_generator_delegate_base.cc | 11 - ...tory_ui_favicon_request_handler_factory.cc | 1 - chrome/browser/feed/android/BUILD.gn | 1 - .../chrome/browser/feed/FeedFeatures.java | 2 - + chrome/browser/feed/feed_service_factory.cc | 6 +- .../browser/firstrun/MobileFreProgress.java | 4 +- + .../gcm/gcm_profile_service_factory.cc | 4 +- + .../profile_invalidation_provider_factory.cc | 48 +--- .../router/discovery/access_code/BUILD.gn | 1 - .../metrics/chrome_metrics_service_client.cc | 6 - .../browser/password_manager/android/BUILD.gn | 6 - .../PasswordManagerHelper.java | 94 +------- ...swordSyncControllerDelegateBridgeImpl.java | 7 - - .../chrome_password_manager_client.cc | 30 +-- - .../chrome_password_manager_client.h | 1 - + .../chrome_password_manager_client.cc | 120 +--------- + .../chrome_password_manager_client.h | 25 --- + ...ssword_manager_settings_service_factory.cc | 6 - chrome/browser/privacy/BUILD.gn | 2 - .../res/layout/privacy_review_msbb_step.xml | 8 - chrome/browser/profiles/profile_impl.cc | 15 +- @@ -111,16 +117,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/common_dependencies.h | 3 - .../browser/headless/client_headless.cc | 17 -- .../browser/headless/client_headless.h | 1 - + .../browser/autocomplete_provider_client.h | 7 - + .../password_manager/core/browser/BUILD.gn | 9 - .../core/browser/leak_detection_delegate.cc | 2 +- .../core/browser/password_form_manager.cc | 34 +-- - .../core/browser/password_manager_client.h | 3 - + .../core/browser/password_manager.cc | 82 ------- + .../core/browser/password_manager_client.h | 20 -- .../browser/password_manager_client_helper.cc | 43 +--- .../core/browser/sync_credentials_filter.cc | 48 +--- components/signin/features.gni | 4 +- .../signin/SystemAccountManagerDelegate.java | 25 +-- .../net/HttpNegotiateAuthenticator.java | 88 +------- .../chromoting/base/OAuthTokenFetcher.java | 2 - - 101 files changed, 84 insertions(+), 2313 deletions(-) + 110 files changed, 90 insertions(+), 2616 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn @@ -3750,15 +3759,16 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -34,7 +34,6 @@ +@@ -34,8 +34,6 @@ #include "chrome/browser/profiles/profile_key.h" #include "chrome/browser/query_tiles/tile_service_factory.h" #include "chrome/browser/search_engines/template_url_service_factory.h" -#include "chrome/browser/signin/identity_manager_factory.h" - #include "chrome/browser/sync/sync_service_factory.h" +-#include "chrome/browser/sync/sync_service_factory.h" #include "chrome/browser/translate/chrome_translate_client.h" #include "chrome/browser/ui/browser_command_controller.h" -@@ -55,9 +54,6 @@ + #include "chrome/browser/ui/browser_finder.h" +@@ -55,9 +53,6 @@ #include "components/omnibox/browser/tab_matcher.h" #include "components/omnibox/common/omnibox_features.h" #include "components/prefs/pref_service.h" @@ -3768,7 +3778,17 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc #include "components/translate/core/browser/translate_manager.h" #include "components/unified_consent/url_keyed_data_collection_consent_helper.h" #include "content/public/browser/navigation_entry.h" -@@ -300,11 +296,6 @@ ChromeAutocompleteProviderClient::GetOmniboxTriggeredFeatureService() const { +@@ -109,8 +104,7 @@ ChromeAutocompleteProviderClient::ChromeAutocompleteProviderClient( + : profile_(profile), + scheme_classifier_(profile), + url_consent_helper_(unified_consent::UrlKeyedDataCollectionConsentHelper:: +- NewPersonalizedDataCollectionConsentHelper( +- SyncServiceFactory::GetForProfile(profile_))), ++ NewPersonalizedDataCollectionConsentHelper(nullptr)), + tab_matcher_(*this, profile_), + storage_partition_(nullptr), + omnibox_triggered_feature_service_( +@@ -300,11 +294,6 @@ ChromeAutocompleteProviderClient::GetOmniboxTriggeredFeatureService() const { return omnibox_triggered_feature_service_.get(); } @@ -3780,7 +3800,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc bool ChromeAutocompleteProviderClient::IsAlwaysIncognitoEnabled() const { if (profile_->GetPrefs()->GetBoolean(prefs::kAlwaysIncognitoEnabled)) { return true; -@@ -330,15 +321,11 @@ bool ChromeAutocompleteProviderClient::IsPersonalizedUrlDataCollectionActive() +@@ -330,15 +319,11 @@ bool ChromeAutocompleteProviderClient::IsPersonalizedUrlDataCollectionActive() } bool ChromeAutocompleteProviderClient::IsAuthenticated() const { @@ -3798,6 +3818,17 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc } std::string ChromeAutocompleteProviderClient::ProfileUserName() const { +diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h +--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h ++++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h +@@ -76,7 +76,6 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient { + query_tiles::TileService* GetQueryTileService() const override; + OmniboxTriggeredFeatureService* GetOmniboxTriggeredFeatureService() + const override; +- signin::IdentityManager* GetIdentityManager() const override; + bool IsOffTheRecord() const override; + bool IsAlwaysIncognitoEnabled() const override; + bool SearchSuggestEnabled() const override; diff --git a/chrome/browser/autocomplete/document_suggestions_service_factory.cc b/chrome/browser/autocomplete/document_suggestions_service_factory.cc --- a/chrome/browser/autocomplete/document_suggestions_service_factory.cc +++ b/chrome/browser/autocomplete/document_suggestions_service_factory.cc @@ -3986,6 +4017,38 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse EndpointFetcher::EndpointFetcher( Profile* const profile, +diff --git a/chrome/browser/enterprise/reporting/profile_report_generator_delegate_base.cc b/chrome/browser/enterprise/reporting/profile_report_generator_delegate_base.cc +--- a/chrome/browser/enterprise/reporting/profile_report_generator_delegate_base.cc ++++ b/chrome/browser/enterprise/reporting/profile_report_generator_delegate_base.cc +@@ -13,13 +13,10 @@ + #include "chrome/browser/policy/chrome_browser_policy_connector.h" + #include "chrome/browser/policy/chrome_policy_conversions_client.h" + #include "chrome/browser/profiles/profile_manager.h" +-#include "chrome/browser/signin/identity_manager_factory.h" + #include "components/enterprise/browser/reporting/profile_report_generator.h" + #include "components/policy/core/browser/policy_conversions.h" + #include "components/policy/core/browser/policy_conversions_client.h" + #include "components/policy/proto/device_management_backend.pb.h" +-#include "components/signin/public/identity_manager/account_info.h" +-#include "components/signin/public/identity_manager/identity_manager.h" + + namespace enterprise_reporting { + +@@ -37,14 +34,6 @@ bool ProfileReportGeneratorDelegateBase::Init(const base::FilePath& path) { + + void ProfileReportGeneratorDelegateBase::GetSigninUserInfo( + enterprise_management::ChromeUserProfileInfo* report) { +- auto account_info = +- IdentityManagerFactory::GetForProfile(profile_)->GetPrimaryAccountInfo( +- signin::ConsentLevel::kSync); +- if (account_info.IsEmpty()) +- return; +- auto* signed_in_user_info = report->mutable_chrome_signed_in_user(); +- signed_in_user_info->set_email(account_info.email); +- signed_in_user_info->set_obfuscated_gaia_id(account_info.gaia); + } + + std::unique_ptr diff --git a/chrome/browser/favicon/history_ui_favicon_request_handler_factory.cc b/chrome/browser/favicon/history_ui_favicon_request_handler_factory.cc --- a/chrome/browser/favicon/history_ui_favicon_request_handler_factory.cc +++ b/chrome/browser/favicon/history_ui_favicon_request_handler_factory.cc @@ -4021,6 +4084,43 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe import org.chromium.components.user_prefs.UserPrefs; /** +diff --git a/chrome/browser/feed/feed_service_factory.cc b/chrome/browser/feed/feed_service_factory.cc +--- a/chrome/browser/feed/feed_service_factory.cc ++++ b/chrome/browser/feed/feed_service_factory.cc +@@ -17,7 +17,6 @@ + #include "chrome/browser/metrics/chrome_metrics_service_accessor.h" + #include "chrome/browser/profiles/profile.h" + #include "chrome/browser/profiles/profile_key.h" +-#include "chrome/browser/signin/identity_manager_factory.h" + #include "chrome/common/channel_info.h" + #include "chrome/common/chrome_version.h" + #include "components/background_task_scheduler/background_task_scheduler_factory.h" +@@ -160,7 +159,6 @@ FeedServiceFactory::FeedServiceFactory() + : BrowserContextKeyedServiceFactory( + "FeedService", + BrowserContextDependencyManager::GetInstance()) { +- DependsOn(IdentityManagerFactory::GetInstance()); + DependsOn(HistoryServiceFactory::GetInstance()); + DependsOn(background_task::BackgroundTaskSchedulerFactory::GetInstance()); + } +@@ -181,8 +179,6 @@ KeyedService* FeedServiceFactory::BuildServiceInstanceFor( + content::StoragePartition* storage_partition = + context->GetDefaultStoragePartition(); + +- signin::IdentityManager* identity_manager = +- IdentityManagerFactory::GetForProfile(profile); + std::string api_key; + if (google_apis::IsGoogleChromeAPIKeyUsed()) { + bool is_stable_channel = +@@ -223,7 +219,7 @@ KeyedService* FeedServiceFactory::BuildServiceInstanceFor( + storage_partition->GetProtoDatabaseProvider()->GetDB( + leveldb_proto::ProtoDbType::FEED_KEY_VALUE_DATABASE, + feed_dir.AppendASCII("keyvaldb"), background_task_runner), +- identity_manager, ++ /* identity_manager */ nullptr, + HistoryServiceFactory::GetForProfile(profile, + ServiceAccessType::IMPLICIT_ACCESS), + storage_partition->GetURLLoaderFactoryForBrowserProcess(), diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java --- a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java +++ b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java @@ -4042,6 +4142,131 @@ diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/brows int SYNC_CONSENT_SHOWN = 3; /** The user clicked on the continue button to continue with sync consent. */ int SYNC_CONSENT_ACCEPTED = 4; +diff --git a/chrome/browser/gcm/gcm_profile_service_factory.cc b/chrome/browser/gcm/gcm_profile_service_factory.cc +--- a/chrome/browser/gcm/gcm_profile_service_factory.cc ++++ b/chrome/browser/gcm/gcm_profile_service_factory.cc +@@ -13,7 +13,6 @@ + #include "chrome/browser/profiles/incognito_helpers.h" + #include "chrome/browser/profiles/profile.h" + #include "chrome/browser/profiles/profile_key.h" +-#include "chrome/browser/signin/identity_manager_factory.h" + #include "components/gcm_driver/gcm_profile_service.h" + #include "components/keyed_service/content/browser_context_dependency_manager.h" + #include "components/offline_pages/buildflags/buildflags.h" +@@ -113,7 +112,6 @@ GCMProfileServiceFactory::GCMProfileServiceFactory() + : BrowserContextKeyedServiceFactory( + "GCMProfileService", + BrowserContextDependencyManager::GetInstance()) { +- DependsOn(IdentityManagerFactory::GetInstance()); + #if BUILDFLAG(ENABLE_OFFLINE_PAGES) + DependsOn(offline_pages::PrefetchServiceFactory::GetInstance()); + #endif // BUILDFLAG(ENABLE_OFFLINE_PAGES) +@@ -147,7 +145,7 @@ KeyedService* GCMProfileServiceFactory::BuildServiceInstanceFor( + ->GetURLLoaderFactoryForBrowserProcess(), + content::GetNetworkConnectionTracker(), chrome::GetChannel(), + gcm::GetProductCategoryForSubtypes(profile->GetPrefs()), +- IdentityManagerFactory::GetForProfile(profile), ++ /* identity_manager = */ nullptr, + std::make_unique(), content::GetUIThreadTaskRunner({}), + content::GetIOThreadTaskRunner({}), blocking_task_runner); + #endif +diff --git a/chrome/browser/invalidation/profile_invalidation_provider_factory.cc b/chrome/browser/invalidation/profile_invalidation_provider_factory.cc +--- a/chrome/browser/invalidation/profile_invalidation_provider_factory.cc ++++ b/chrome/browser/invalidation/profile_invalidation_provider_factory.cc +@@ -15,7 +15,6 @@ + #include "chrome/browser/gcm/gcm_profile_service_factory.h" + #include "chrome/browser/gcm/instance_id/instance_id_profile_service_factory.h" + #include "chrome/browser/profiles/profile.h" +-#include "chrome/browser/signin/identity_manager_factory.h" + #include "chrome/common/chrome_content_client.h" + #include "components/gcm_driver/gcm_profile_service.h" + #include "components/gcm_driver/instance_id/instance_id_profile_service.h" +@@ -42,36 +41,11 @@ + #endif + + namespace invalidation { +-namespace { +- +-std::unique_ptr CreateInvalidationServiceForSenderId( +- Profile* profile, +- IdentityProvider* identity_provider, +- const std::string& sender_id) { +- auto service = std::make_unique( +- identity_provider, +- base::BindRepeating( +- &FCMNetworkHandler::Create, +- gcm::GCMProfileServiceFactory::GetForProfile(profile)->driver(), +- instance_id::InstanceIDProfileServiceFactory::GetForProfile(profile) +- ->driver()), +- base::BindRepeating( +- &PerUserTopicSubscriptionManager::Create, identity_provider, +- profile->GetPrefs(), +- base::RetainedRef(profile->GetDefaultStoragePartition() +- ->GetURLLoaderFactoryForBrowserProcess())), +- instance_id::InstanceIDProfileServiceFactory::GetForProfile(profile) +- ->driver(), +- profile->GetPrefs(), sender_id); +- service->Init(); +- return service; +-} +- +-} // namespace + + // static + ProfileInvalidationProvider* ProfileInvalidationProviderFactory::GetForProfile( + Profile* profile) { ++ return NULL; + #if BUILDFLAG(IS_CHROMEOS_ASH) + // Using ProfileHelper::GetSigninProfile() here would lead to an infinite loop + // when this method is called during the creation of the sign-in profile +@@ -85,8 +59,6 @@ ProfileInvalidationProvider* ProfileInvalidationProviderFactory::GetForProfile( + return NULL; + } + #endif +- return static_cast( +- GetInstance()->GetServiceForBrowserContext(profile, true)); + } + + // static +@@ -99,7 +71,6 @@ ProfileInvalidationProviderFactory::ProfileInvalidationProviderFactory() + : BrowserContextKeyedServiceFactory( + "InvalidationService", + BrowserContextDependencyManager::GetInstance()) { +- DependsOn(IdentityManagerFactory::GetInstance()); + DependsOn(gcm::GCMProfileServiceFactory::GetInstance()); + } + +@@ -116,8 +87,6 @@ KeyedService* ProfileInvalidationProviderFactory::BuildServiceInstanceFor( + if (testing_factory_) + return testing_factory_.Run(context).release(); + +- std::unique_ptr identity_provider; +- + #if BUILDFLAG(IS_CHROMEOS_ASH) + policy::BrowserPolicyConnectorAsh* connector = + g_browser_process->platform_part()->browser_policy_connector_ash(); +@@ -129,20 +98,7 @@ KeyedService* ProfileInvalidationProviderFactory::BuildServiceInstanceFor( + } + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +- Profile* profile = Profile::FromBrowserContext(context); +- +- if (!identity_provider) { +- identity_provider = std::make_unique( +- IdentityManagerFactory::GetForProfile(profile)); +- } +- auto service = +- CreateInvalidationServiceForSenderId(profile, identity_provider.get(), +- /* sender_id = */ ""); +- auto custom_sender_id_factory = base::BindRepeating( +- &CreateInvalidationServiceForSenderId, profile, identity_provider.get()); +- return new ProfileInvalidationProvider(std::move(service), +- std::move(identity_provider), +- std::move(custom_sender_id_factory)); ++ return NULL; + } + + void ProfileInvalidationProviderFactory::RegisterProfilePrefs( diff --git a/chrome/browser/media/router/discovery/access_code/BUILD.gn b/chrome/browser/media/router/discovery/access_code/BUILD.gn --- a/chrome/browser/media/router/discovery/access_code/BUILD.gn +++ b/chrome/browser/media/router/discovery/access_code/BUILD.gn @@ -4309,24 +4534,34 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom 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 -@@ -36,7 +36,6 @@ +@@ -30,14 +30,11 @@ + #include "chrome/browser/password_manager/account_password_store_factory.h" + #include "chrome/browser/password_manager/field_info_manager_factory.h" + #include "chrome/browser/password_manager/password_manager_settings_service_factory.h" +-#include "chrome/browser/password_manager/password_reuse_manager_factory.h" + #include "chrome/browser/password_manager/password_scripts_fetcher_factory.h" + #include "chrome/browser/password_manager/password_store_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/safe_browsing/chrome_password_protection_service.h" #include "chrome/browser/safe_browsing/user_interaction_observer.h" -#include "chrome/browser/signin/identity_manager_factory.h" - #include "chrome/browser/sync/sync_service_factory.h" +-#include "chrome/browser/sync/sync_service_factory.h" #include "chrome/browser/touch_to_fill/touch_to_fill_webauthn_credential.h" #include "chrome/browser/translate/chrome_translate_client.h" -@@ -84,8 +83,6 @@ + #include "chrome/browser/ui/passwords/password_generation_popup_controller_impl.h" +@@ -84,11 +81,7 @@ #include "components/profile_metrics/browser_profile_type.h" #include "components/safe_browsing/buildflags.h" #include "components/sessions/content/content_record_password_state.h" -#include "components/signin/public/base/signin_metrics.h" -#include "components/signin/public/identity_manager/identity_manager.h" #include "components/site_isolation/site_isolation_policy.h" - #include "components/sync/driver/sync_service.h" - #include "components/sync/driver/sync_user_settings.h" -@@ -126,9 +123,6 @@ +-#include "components/sync/driver/sync_service.h" +-#include "components/sync/driver/sync_user_settings.h" + #include "components/translate/core/browser/translate_manager.h" + #include "components/version_info/version_info.h" + #include "content/public/browser/back_forward_cache.h" +@@ -126,9 +119,6 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/android/tab_android.h" #include "chrome/browser/autofill/manual_filling_controller.h" @@ -4336,7 +4571,20 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b #include "chrome/browser/password_manager/android/credential_leak_controller_android.h" #include "chrome/browser/password_manager/android/generated_password_saved_infobar_delegate_android.h" #include "chrome/browser/password_manager/android/password_accessory_controller.h" -@@ -295,10 +289,7 @@ bool ChromePasswordManagerClient::IsFillingFallbackEnabled( +@@ -193,12 +183,6 @@ namespace { + static const char kPasswordBreachEntryTrigger[] = "PASSWORD_ENTRY"; + #endif + +-const syncer::SyncService* GetSyncServiceForProfile(Profile* profile) { +- if (SyncServiceFactory::HasSyncService(profile)) +- return SyncServiceFactory::GetForProfile(profile); +- return nullptr; +-} +- + // Adds |observer| to the input observers of |widget_host|. + void AddToWidgetInputEventObservers( + content::RenderWidgetHost* widget_host, +@@ -295,10 +279,7 @@ bool ChromePasswordManagerClient::IsFillingFallbackEnabled( } bool ChromePasswordManagerClient::IsAutoSignInEnabled() const { @@ -4348,7 +4596,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b } bool ChromePasswordManagerClient::PromptUserToSaveOrUpdatePassword( -@@ -426,13 +417,7 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials( +@@ -426,13 +407,7 @@ bool ChromePasswordManagerClient::PromptUserToChooseCredentials( &PasswordManagerClientHelper::OnCredentialsChosen, base::Unretained(&helper_), std::move(callback), local_forms.size() == 1); #if BUILDFLAG(IS_ANDROID) @@ -4363,7 +4611,15 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b #else return PasswordsClientUIDelegateFromWebContents(web_contents()) ->OnChooseCredentials(std::move(local_forms), origin, -@@ -518,7 +503,7 @@ void ChromePasswordManagerClient::NotifyUserAutoSignin( +@@ -467,7 +442,6 @@ void ChromePasswordManagerClient::ShowTouchToFill( + + void ChromePasswordManagerClient::OnPasswordSelected( + const std::u16string& text) { +- password_reuse_detection_manager_.OnPaste(text); + } + #endif + +@@ -518,7 +492,7 @@ void ChromePasswordManagerClient::NotifyUserAutoSignin( DCHECK(!local_forms.empty()); helper_.NotifyUserAutoSignin(); #if BUILDFLAG(IS_ANDROID) @@ -4372,7 +4628,44 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b #else PasswordsClientUIDelegateFromWebContents(web_contents()) ->OnAutoSignin(std::move(local_forms), origin); -@@ -765,10 +750,7 @@ net::CertStatus ChromePasswordManagerClient::GetMainFrameCertStatus() const { +@@ -685,10 +659,6 @@ PrefService* ChromePasswordManagerClient::GetPrefs() const { + return profile_->GetPrefs(); + } + +-const syncer::SyncService* ChromePasswordManagerClient::GetSyncService() const { +- return GetSyncServiceForProfile(profile_); +-} +- + password_manager::PasswordStoreInterface* + ChromePasswordManagerClient::GetProfilePasswordStore() const { + // Always use EXPLICIT_ACCESS as the password manager checks IsIncognito +@@ -707,11 +677,6 @@ ChromePasswordManagerClient::GetAccountPasswordStore() const { + .get(); + } + +-password_manager::PasswordReuseManager* +-ChromePasswordManagerClient::GetPasswordReuseManager() const { +- return PasswordReuseManagerFactory::GetForProfile(profile_); +-} +- + password_manager::PasswordScriptsFetcher* + ChromePasswordManagerClient::GetPasswordScriptsFetcher() { + return PasswordScriptsFetcherFactory::GetForBrowserContext(profile_); +@@ -723,13 +688,6 @@ ChromePasswordManagerClient::GetPasswordChangeSuccessTracker() { + GetForBrowserContext(profile_); + } + +-password_manager::SyncState ChromePasswordManagerClient::GetPasswordSyncState() +- const { +- const syncer::SyncService* sync_service = +- SyncServiceFactory::GetForProfile(profile_); +- return password_manager_util::GetPasswordSyncState(sync_service); +-} +- + bool ChromePasswordManagerClient::WasLastNavigationHTTPError() const { + DCHECK(web_contents()); + +@@ -765,10 +723,7 @@ net::CertStatus ChromePasswordManagerClient::GetMainFrameCertStatus() const { void ChromePasswordManagerClient::PromptUserToEnableAutosignin() { #if BUILDFLAG(IS_ANDROID) @@ -4384,7 +4677,36 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b #else PasswordsClientUIDelegateFromWebContents(web_contents()) ->OnPromptEnableAutoSignin(); -@@ -961,10 +943,6 @@ favicon::FaviconService* ChromePasswordManagerClient::GetFaviconService() { +@@ -833,10 +788,6 @@ url::Origin ChromePasswordManagerClient::GetLastCommittedOrigin() const { + DCHECK(web_contents()); + return web_contents()->GetMainFrame()->GetLastCommittedOrigin(); + } +-const password_manager::CredentialsFilter* +-ChromePasswordManagerClient::GetStoreResultFilter() const { +- return &credentials_filter_; +-} + + const autofill::LogManager* ChromePasswordManagerClient::GetLogManager() const { + return log_manager_.get(); +@@ -887,17 +838,6 @@ void ChromePasswordManagerClient::CheckSafeBrowsingReputation( + } + #endif // defined(ON_FOCUS_PING_ENABLED) + +-void ChromePasswordManagerClient::CheckProtectedPasswordEntry( +- PasswordType password_type, +- const std::string& username, +- const std::vector& +- matching_reused_credentials, +- bool password_field_exists) { +-} +- +-void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() { +-} +- + #if !BUILDFLAG(IS_ANDROID) + void ChromePasswordManagerClient::MaybeReportEnterpriseLoginEvent( + const GURL& url, +@@ -961,10 +901,6 @@ favicon::FaviconService* ChromePasswordManagerClient::GetFaviconService() { profile_, ServiceAccessType::EXPLICIT_ACCESS); } @@ -4395,10 +4717,188 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b scoped_refptr ChromePasswordManagerClient::GetURLLoaderFactory() { return profile_->GetDefaultStoragePartition() +@@ -1194,18 +1130,14 @@ void ChromePasswordManagerClient::GenerationElementLostFocus() { + #if BUILDFLAG(IS_ANDROID) + void ChromePasswordManagerClient::OnImeTextCommittedEvent( + const std::u16string& text_str) { +- password_reuse_detection_manager_.OnKeyPressedCommitted(text_str); + } + + void ChromePasswordManagerClient::OnImeSetComposingTextEvent( + const std::u16string& text_str) { + last_composing_text_ = text_str; +- password_reuse_detection_manager_.OnKeyPressedUncommitted( +- last_composing_text_); + } + + void ChromePasswordManagerClient::OnImeFinishComposingTextEvent() { +- password_reuse_detection_manager_.OnKeyPressedCommitted(last_composing_text_); + last_composing_text_.clear(); + } + #endif // BUILDFLAG(IS_ANDROID) +@@ -1301,34 +1233,13 @@ ChromePasswordManagerClient::ChromePasswordManagerClient( + profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())), + password_manager_(this), + password_feature_manager_(profile_->GetPrefs(), +- SyncServiceFactory::GetForProfile(profile_)), ++ nullptr), + httpauth_manager_(this), +- password_reuse_detection_manager_(this), + driver_factory_(nullptr), + webauthn_credentials_delegate_(this), + content_credential_manager_(this), + password_generation_driver_receivers_(web_contents, this), + observer_(nullptr), +-#if BUILDFLAG(ENABLE_DICE_SUPPORT) +- credentials_filter_( +- this, +- base::BindRepeating(&GetSyncServiceForProfile, profile_), +- DiceWebSigninInterceptorFactory::GetForProfile(profile_)), +- account_storage_auth_helper_( +- IdentityManagerFactory::GetForProfile(profile_), +- &password_feature_manager_, +- base::BindRepeating( +- [](content::WebContents* web_contents) { +- Browser* browser = +- chrome::FindBrowserWithWebContents(web_contents); +- return browser ? browser->signin_view_controller() : nullptr; +- }, +- web_contents)), +-#else +- credentials_filter_( +- this, +- base::BindRepeating(&GetSyncServiceForProfile, profile_)), +-#endif + helper_(this) { + ContentPasswordManagerDriverFactory::CreateForWebContents(web_contents, this, + autofill_client); +@@ -1364,8 +1275,6 @@ void ChromePasswordManagerClient::PrimaryPageChanged(content::Page& page) { + // requests. + content_credential_manager_.DisconnectBinding(); + +- password_reuse_detection_manager_.DidNavigateMainFrame(GetLastCommittedURL()); +- + AddToWidgetInputEventObservers(page.GetMainDocument().GetRenderWidgetHost(), + this); + +@@ -1437,7 +1346,6 @@ void ChromePasswordManagerClient::OnPaste() { + } + + was_on_paste_called_ = true; +- password_reuse_detection_manager_.OnPaste(std::move(text)); + } + #endif + +@@ -1460,10 +1368,6 @@ void ChromePasswordManagerClient::OnInputEvent( + // Android keyboard, ImeTextCommittedEvent is triggered instead. + if (event.GetType() != blink::WebInputEvent::Type::kKeyDown) + return; +- const blink::WebKeyboardEvent& key_event = +- static_cast(event); +- password_reuse_detection_manager_.OnKeyPressedCommitted(key_event.text); +- + #else // !BUILDFLAG(IS_ANDROID) + if (event.GetType() != blink::WebInputEvent::Type::kChar) + return; +@@ -1473,8 +1377,6 @@ void ChromePasswordManagerClient::OnInputEvent( + // command key is pressed. This detects CTRL+V, COMMAND+V, and CTRL+SHIFT+V. + if (key_event.windows_key_code == (ui::VKEY_V & 0x1f)) { + OnPaste(); +- } else { +- password_reuse_detection_manager_.OnKeyPressedCommitted(key_event.text); + } + #endif // BUILDFLAG(IS_ANDROID) + } +@@ -1540,19 +1442,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( + // static + bool ChromePasswordManagerClient::ShouldAnnotateNavigationEntries( + Profile* profile) { +- // Only annotate PasswordState onto the navigation entry if user is +- // opted into UMA and they're not syncing w/ a custom passphrase. +- if (!ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled()) +- return false; +- +- syncer::SyncService* sync_service = +- SyncServiceFactory::GetForProfile(profile); +- if (!sync_service || !sync_service->IsSyncFeatureActive() || +- sync_service->GetUserSettings()->IsUsingExplicitPassphrase()) { + return false; +- } +- +- return true; + } + + void ChromePasswordManagerClient::GenerationResultAvailable( 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 -@@ -252,7 +252,6 @@ class ChromePasswordManagerClient +@@ -31,12 +31,9 @@ + #include "components/password_manager/core/browser/password_manager_client_helper.h" + #include "components/password_manager/core/browser/password_manager_metrics_recorder.h" + #include "components/password_manager/core/browser/password_manager_metrics_util.h" +-#include "components/password_manager/core/browser/password_reuse_detection_manager.h" +-#include "components/password_manager/core/browser/password_reuse_detector.h" + #include "components/prefs/pref_member.h" + #include "components/safe_browsing/buildflags.h" + #include "components/signin/public/base/signin_buildflags.h" +-#include "components/sync/driver/sync_service.h" + #include "content/public/browser/render_frame_host_receiver_set.h" + #include "content/public/browser/render_widget_host.h" + #include "content/public/browser/web_contents_observer.h" +@@ -57,8 +54,6 @@ class TouchToFillController; + #if BUILDFLAG(ENABLE_DICE_SUPPORT) + #include "chrome/browser/password_manager/multi_profile_credentials_filter.h" + #include "chrome/browser/ui/passwords/account_storage_auth_helper.h" +-#else +-#include "components/password_manager/core/browser/sync_credentials_filter.h" + #endif + + class PasswordGenerationPopupObserver; +@@ -184,18 +179,14 @@ class ChromePasswordManagerClient + base::OnceCallback reauth_callback) override; + void TriggerSignIn(signin_metrics::AccessPoint access_point) override; + PrefService* GetPrefs() const override; +- const syncer::SyncService* GetSyncService() const override; + password_manager::PasswordStoreInterface* GetProfilePasswordStore() + const override; + password_manager::PasswordStoreInterface* GetAccountPasswordStore() + const override; +- password_manager::PasswordReuseManager* GetPasswordReuseManager() +- const override; + password_manager::PasswordScriptsFetcher* GetPasswordScriptsFetcher() + override; + password_manager::PasswordChangeSuccessTracker* + GetPasswordChangeSuccessTracker() override; +- password_manager::SyncState GetPasswordSyncState() const override; + bool WasLastNavigationHTTPError() const override; + + net::CertStatus GetMainFrameCertStatus() const override; +@@ -211,8 +202,6 @@ class ChromePasswordManagerClient + bool IsCommittedMainFrameSecure() const override; + const GURL& GetLastCommittedURL() const override; + url::Origin GetLastCommittedOrigin() const override; +- const password_manager::CredentialsFilter* GetStoreResultFilter() +- const override; + const autofill::LogManager* GetLogManager() const override; + void AnnotateNavigationEntry(bool has_password_field) override; + autofill::LanguageCode GetPageLanguage() const override; +@@ -225,15 +214,6 @@ class ChromePasswordManagerClient + const GURL& frame_url) override; + #endif + +- void CheckProtectedPasswordEntry( +- password_manager::metrics_util::PasswordType reused_password_type, +- const std::string& username, +- const std::vector& +- matching_reused_credentials, +- bool password_field_exists) override; +- +- void LogPasswordReuseDetectedEvent() override; +- + // Reporting these events is only supported on desktop platforms. + #if !BUILDFLAG(IS_ANDROID) + void MaybeReportEnterpriseLoginEvent( +@@ -252,7 +232,6 @@ class ChromePasswordManagerClient password_manager::PasswordRequirementsService* GetPasswordRequirementsService() override; favicon::FaviconService* GetFaviconService() override; @@ -4406,6 +4906,54 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/ scoped_refptr GetURLLoaderFactory() override; network::mojom::NetworkContext* GetNetworkContext() const override; void UpdateFormManagers() override; +@@ -377,8 +356,6 @@ class ChromePasswordManagerClient + password_manager::PasswordManager password_manager_; + password_manager::PasswordFeatureManagerImpl password_feature_manager_; + password_manager::HttpAuthManagerImpl httpauth_manager_; +- password_manager::PasswordReuseDetectionManager +- password_reuse_detection_manager_; + + #if BUILDFLAG(IS_ANDROID) + // Holds and facilitates a credential store for each origin in this tab. +@@ -421,8 +398,6 @@ class ChromePasswordManagerClient + // MultiProfileCredentialsFilter requires DICE support. + const MultiProfileCredentialsFilter credentials_filter_; + AccountStorageAuthHelper account_storage_auth_helper_; +-#else +- const password_manager::SyncCredentialsFilter credentials_filter_; + #endif + + std::unique_ptr log_manager_; +diff --git a/chrome/browser/password_manager/password_manager_settings_service_factory.cc b/chrome/browser/password_manager/password_manager_settings_service_factory.cc +--- a/chrome/browser/password_manager/password_manager_settings_service_factory.cc ++++ b/chrome/browser/password_manager/password_manager_settings_service_factory.cc +@@ -7,7 +7,6 @@ + #include "chrome/browser/password_manager/password_manager_settings_service_impl.h" + #include "chrome/browser/profiles/incognito_helpers.h" + #include "chrome/browser/profiles/profile.h" +-#include "chrome/browser/sync/sync_service_factory.h" + #include "components/keyed_service/content/browser_context_dependency_manager.h" + #include "components/password_manager/core/browser/password_manager_settings_service.h" + #include "components/password_manager/core/common/password_manager_features.h" +@@ -34,7 +33,6 @@ PasswordManagerSettingsServiceFactory::PasswordManagerSettingsServiceFactory() + : BrowserContextKeyedServiceFactory( + "PasswordManagerSettingsService", + BrowserContextDependencyManager::GetInstance()) { +- DependsOn(SyncServiceFactory::GetInstance()); + } + + PasswordManagerSettingsServiceFactory:: +@@ -44,10 +42,6 @@ KeyedService* PasswordManagerSettingsServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* context) const { + Profile* profile = Profile::FromBrowserContext(context); + #if BUILDFLAG(IS_ANDROID) +- if (password_manager::features::UsesUnifiedPasswordManagerUi()) { +- return new PasswordManagerSettingsServiceAndroidImpl( +- profile->GetPrefs(), SyncServiceFactory::GetForProfile(profile)); +- } + // Reset the migration pref in case the client is no longer in the enabled + // group. + profile->GetPrefs()->SetBoolean( diff --git a/chrome/browser/privacy/BUILD.gn b/chrome/browser/privacy/BUILD.gn --- a/chrome/browser/privacy/BUILD.gn +++ b/chrome/browser/privacy/BUILD.gn @@ -4928,6 +5476,49 @@ diff --git a/components/autofill_assistant/browser/headless/client_headless.h b/ base::OnceCallback fetch_access_token_callback_; +diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h +--- a/components/omnibox/browser/autocomplete_provider_client.h ++++ b/components/omnibox/browser/autocomplete_provider_client.h +@@ -52,10 +52,6 @@ namespace component_updater { + class ComponentUpdateService; + } + +-namespace signin { +-class IdentityManager; +-} +- + namespace query_tiles { + class TileService; + } +@@ -125,9 +121,6 @@ class AutocompleteProviderClient : public OmniboxAction::Client { + virtual component_updater::ComponentUpdateService* + GetComponentUpdateService() = 0; + +- // Returns the signin::IdentityManager associated with the current profile. +- virtual signin::IdentityManager* GetIdentityManager() const = 0; +- + virtual bool IsOffTheRecord() const = 0; + virtual bool IsAlwaysIncognitoEnabled() const = 0; + virtual bool SearchSuggestEnabled() const = 0; +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 +@@ -174,15 +174,6 @@ static_library("browser") { + "password_notes_table.h", + "password_requirements_service.cc", + "password_requirements_service.h", +- "password_reuse_detection_manager.cc", +- "password_reuse_detection_manager.h", +- "password_reuse_detector.cc", +- "password_reuse_detector.h", +- "password_reuse_detector_consumer.cc", +- "password_reuse_detector_consumer.h", +- "password_reuse_manager.h", +- "password_reuse_manager_impl.cc", +- "password_reuse_manager_impl.h", + "password_save_manager.h", + "password_save_manager_impl.cc", + "password_save_manager_impl.h", diff --git a/components/password_manager/core/browser/leak_detection_delegate.cc b/components/password_manager/core/browser/leak_detection_delegate.cc --- a/components/password_manager/core/browser/leak_detection_delegate.cc +++ b/components/password_manager/core/browser/leak_detection_delegate.cc @@ -4998,10 +5589,167 @@ diff --git a/components/password_manager/core/browser/password_form_manager.cc b } bool PasswordFormManager::IsNewLogin() const { +diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc +--- a/components/password_manager/core/browser/password_manager.cc ++++ b/components/password_manager/core/browser/password_manager.cc +@@ -995,7 +995,6 @@ void PasswordManager::OnLoginSuccessful() { + if (!client_->IsSavingAndFillingEnabled(submitted_form->url)) + return; + +- client_->GetStoreResultFilter()->ReportFormLoginSuccess(*submitted_manager); + // Check for leaks only if there are no muted credentials. + if (!HasMutedCredentials( + submitted_manager->GetInsecureCredentials(), +@@ -1019,22 +1018,6 @@ void PasswordManager::OnLoginSuccessful() { + + MaybeSavePasswordHash(submitted_manager); + +- // TODO(https://crbug.com/831123): Implement checking whether to save with +- // PasswordFormManager. +- // Check whether the filter allows saving this credential. In practice, this +- // prevents saving the password of the syncing account. However, if the +- // password is already saved, then *updating* it is still allowed - better +- // than keeping an outdated password around. +- if (!submitted_manager->IsPasswordUpdate() && +- !client_->GetStoreResultFilter()->ShouldSave( +- *submitted_manager->GetSubmittedForm())) { +- RecordProvisionalSaveFailure( +- PasswordManagerMetricsRecorder::SYNC_CREDENTIAL, +- submitted_manager->GetURL()); +- ResetSubmittedManager(); +- return; +- } +- + submitted_manager->GetMetricsRecorder()->LogSubmitPassed(); + + UMA_HISTOGRAM_BOOLEAN( +@@ -1083,54 +1066,6 @@ void PasswordManager::MaybeSavePasswordHash( + std::string username = base::UTF16ToUTF8(submitted_form->username_value); + if (username.empty()) + return; +- +- password_manager::PasswordReuseManager* reuse_manager = +- client_->GetPasswordReuseManager(); +- // May be null in tests. +- if (!reuse_manager) +- return; +- +- bool should_save_enterprise_pw = +- client_->GetStoreResultFilter()->ShouldSaveEnterprisePasswordHash( +- *submitted_form); +- bool should_save_gaia_pw = +- client_->GetStoreResultFilter()->ShouldSaveGaiaPasswordHash( +- *submitted_form); +- +- if (!should_save_enterprise_pw && !should_save_gaia_pw) +- return; +- +- if (password_manager_util::IsLoggingActive(client_)) { +- BrowserSavePasswordProgressLogger logger(client_->GetLogManager()); +- logger.LogMessage(Logger::STRING_SAVE_PASSWORD_HASH); +- } +- +- // Canonicalizes username if it is an email. +- if (username.find('@') != std::string::npos) +- username = gaia::CanonicalizeEmail(username); +- bool is_password_change = !submitted_form->new_password_element.empty(); +- const std::u16string password = is_password_change +- ? submitted_form->new_password_value +- : submitted_form->password_value; +- +- if (should_save_enterprise_pw) { +- reuse_manager->SaveEnterprisePasswordHash(username, password); +- return; +- } +- +- DCHECK(should_save_gaia_pw); +- bool is_sync_account_email = +- client_->GetStoreResultFilter()->IsSyncAccountEmail(username); +- GaiaPasswordHashChange event = +- is_sync_account_email +- ? (is_password_change +- ? GaiaPasswordHashChange::CHANGED_IN_CONTENT_AREA +- : GaiaPasswordHashChange::SAVED_IN_CONTENT_AREA) +- : (is_password_change +- ? GaiaPasswordHashChange::NOT_SYNC_PASSWORD_CHANGE +- : GaiaPasswordHashChange::SAVED_IN_CONTENT_AREA); +- reuse_manager->SaveGaiaPasswordHash(username, password, is_sync_account_email, +- event); + } + + void PasswordManager::ProcessAutofillPredictions( +@@ -1345,23 +1280,6 @@ void PasswordManager::ShowManualFallbackForSaving( + ShouldBlockPasswordForSameOriginButDifferentScheme(form_data.url)) { + return; + } +- +- if (!client_->GetStoreResultFilter()->ShouldSave( +- *form_manager->GetSubmittedForm())) { +- return; +- } +- +- // Show the fallback if a prompt or a confirmation bubble should be available. +- bool has_generated_password = form_manager->HasGeneratedPassword(); +- if (ShouldPromptUserToSavePassword(*form_manager) || has_generated_password) { +- bool is_update = form_manager->IsPasswordUpdate(); +- form_manager->GetMetricsRecorder()->RecordShowManualFallbackForSaving( +- has_generated_password, is_update); +- client_->ShowManualFallbackForSaving(form_manager->Clone(), +- has_generated_password, is_update); +- } else { +- HideManualFallbackForSaving(); +- } + } + + bool PasswordManager::NewFormsParsed(PasswordManagerDriver* driver, 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 -@@ -441,9 +441,6 @@ class PasswordManagerClient { +@@ -300,18 +300,12 @@ class PasswordManagerClient { + // Gets prefs associated with this embedder. + virtual PrefService* GetPrefs() const = 0; + +- // Gets the sync service associated with this client. +- virtual const syncer::SyncService* GetSyncService() const = 0; +- + // Returns the profile PasswordStore associated with this instance. + virtual PasswordStoreInterface* GetProfilePasswordStore() const = 0; + + // Returns the account PasswordStore associated with this instance. + virtual PasswordStoreInterface* GetAccountPasswordStore() const = 0; + +- // Returns the PasswordReuseManager associated with this instance. +- virtual PasswordReuseManager* GetPasswordReuseManager() const = 0; +- + // Returns the PasswordScriptsFetcher associated with this instance. + virtual PasswordScriptsFetcher* GetPasswordScriptsFetcher() = 0; + +@@ -367,9 +361,6 @@ class PasswordManagerClient { + // Returns last committed origin of the main frame. + virtual url::Origin GetLastCommittedOrigin() const = 0; + +- // Use this to filter credentials before handling them in password manager. +- virtual const CredentialsFilter* GetStoreResultFilter() const = 0; +- + // Returns a LogManager instance. + virtual const autofill::LogManager* GetLogManager() const; + +@@ -398,14 +389,6 @@ class PasswordManagerClient { + // The |username| is the user name of the reused password. The user name + // can be an email or a username for a non-GAIA or saved-password reuse. No + // validation has been done on it. +- virtual void CheckProtectedPasswordEntry( +- metrics_util::PasswordType reused_password_type, +- const std::string& username, +- const std::vector& matching_reused_credentials, +- bool password_field_exists) = 0; +- +- // Records a Chrome Sync event that GAIA password reuse was detected. +- virtual void LogPasswordReuseDetectedEvent() = 0; + + // If the feature is enabled send an event to the enterprise reporting + // connector server indicating that the user signed in to a website. +@@ -441,9 +424,6 @@ class PasswordManagerClient { // Returns the favicon service used to retrieve icons for an origin. virtual favicon::FaviconService* GetFaviconService();