Parcourir la source

More fixes related to password manager

csagan5 il y a 3 ans
Parent
commit
06259daa58

+ 1 - 1
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<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
+@@ -265,6 +265,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
  std::vector<std::u16string>
  ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
    std::vector<std::u16string> builtins_to_provide;

+ 771 - 23
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<policy::PolicyConversionsClient>
 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<feedkvstore::Entry>(
+           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<GCMClientFactory>(), 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<InvalidationService> CreateInvalidationServiceForSenderId(
+-    Profile* profile,
+-    IdentityProvider* identity_provider,
+-    const std::string& sender_id) {
+-  auto service = std::make_unique<FCMInvalidationService>(
+-      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<ProfileInvalidationProvider*>(
+-      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<IdentityProvider> 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<ProfileIdentityProvider>(
+-        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<password_manager::MatchingReusedCredential>&
+-        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<network::SharedURLLoaderFactory>
  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<const blink::WebKeyboardEvent&>(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<void(ReauthSucceeded)> 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<password_manager::MatchingReusedCredential>&
+-          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<network::SharedURLLoaderFactory> 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<autofill::LogManager> 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<void(bool, const std::string&)>
        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<MatchingReusedCredential>& 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();