From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 12 Jun 2018 14:23:07 +0200
Subject: Remove signin and sync integrations

Prevents authorization prompt for Play services on reboot
Remove recent tabs signin
Disable unused permissions from manifest
Disable sync adaptive and invalidation services from manifest
More permissions removal from manifest
Disable promos displayed in bookmarks manager
Remove personalized signin promo view from
bookmarks, never reach signin thresholds.

Fix building with debug symbols:

ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
>>> referenced by invalidation_service_util.cc:17 (../../components/invalidation/impl/invalidation_service_util.cc:17)
>>>               impl/invalidation_service_util.o:(invalidation::ParseNotifierOptions(base::CommandLine const&)) in archive obj/components/invalidation/impl/libimpl.a

License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
 chrome/android/BUILD.gn                       |  21 --
 chrome/android/chrome_java_sources.gni        |  30 ---
 .../features/autofill_assistant/BUILD.gn      |   1 -
 .../AssistantAccessTokenUtilChrome.java       |   8 -
 .../AssistantProfileImageUtilChrome.java      |  21 +-
 .../AssistantStaticDependenciesChrome.java    |   6 +-
 chrome/android/features/tab_ui/BUILD.gn       |   1 -
 .../TabSuggestionsServerFetcher.java          |   9 +-
 .../browser/feed/FeedSurfaceCoordinator.java  |   9 +-
 .../browser/feed/FeedSurfaceMediator.java     |  77 +-----
 chrome/android/java/AndroidManifest.xml       |  19 --
 .../res/xml/google_services_preferences.xml   |   5 -
 .../android/java/res/xml/main_preferences.xml |  22 +-
 .../java/res/xml/manage_sync_preferences.xml  |  12 -
 .../java/res/xml/privacy_preferences.xml      |   4 -
 .../org/chromium/chrome/browser/AppHooks.java |  34 ---
 .../chrome/browser/ChromeBackupAgentImpl.java |   9 +-
 .../chrome/browser/ChromeBackupWatcher.java   |  10 -
 .../chrome/browser/ChromeTabbedActivity.java  |   9 -
 .../chrome/browser/app/ChromeActivity.java    |  76 ------
 .../AutofillAssistantPreferenceFragment.java  |  17 +-
 .../bookmarks/BookmarkItemsAdapter.java       |  56 +---
 .../bookmarks/BookmarkPromoHeader.java        | 241 +-----------------
 .../ClearBrowsingDataFragment.java            |  80 +-----
 .../ClearBrowsingDataFragmentBasic.java       |  27 +-
 .../contacts_picker/ChromePickerAdapter.java  |  67 +----
 .../browser/customtabs/CustomTabActivity.java |   7 -
 .../firstrun/FirstRunActivityBase.java        |   1 -
 .../firstrun/LightweightFirstRunActivity.java |   4 +-
 ...FirstRunFragmentWithEnterpriseSupport.java |   6 -
 .../history/HistoryContentManager.java        |  27 +-
 .../identity_disc/IdentityDiscController.java | 104 +-------
 .../init/ChromeBrowserInitializer.java        |   2 -
 .../init/ProcessInitializationHandler.java    |   9 -
 .../chrome/browser/ntp/RecentTabsManager.java | 129 +---------
 .../browser/ntp/RecentTabsRowAdapter.java     |  31 +--
 .../browser/ntp/search/SearchBoxMediator.java |   1 -
 .../browser/omaha/RequestGenerator.java       |   3 -
 .../AccountChooserDialog.java                 |   2 +-
 .../AutoSigninSnackbarController.java         |   2 +-
 .../PasswordManagerLauncher.java              |  11 +-
 .../settings/PasswordSettings.java            |  71 +-----
 .../browser/payments/ui/PaymentRequestUI.java |  12 +-
 .../privacy/settings/PrivacySettings.java     |  31 ---
 .../chrome/browser/settings/MainSettings.java | 141 +---------
 .../browser/settings/SettingsActivity.java    |   9 -
 .../share/crow/CrowButtonDelegateImpl.java    |   5 +-
 .../survey/ChromeSurveyController.java        |   6 +-
 .../tabbed_mode/TabbedRootUiCoordinator.java  |  19 --
 chrome/browser/BUILD.gn                       |   9 -
 ...mobile_identity_consistency_field_trial.cc |  15 +-
 chrome/browser/commerce/android/BUILD.gn      |   2 -
 .../PriceNotificationPreferenceFragment.java  |   8 +-
 .../browser/commerce/ShoppingFeatures.java    |  27 +-
 .../price_tracking/PriceTrackingFeatures.java |   9 +-
 .../commerce/subscriptions/android/BUILD.gn   |   1 -
 .../CommerceSubscriptionsMetrics.java         |   6 +-
 .../CommerceSubscriptionsService.java         |  14 -
 .../subscriptions/android/java_sources.gni    |   1 -
 chrome/browser/feed/android/BUILD.gn          |   1 -
 .../chrome/browser/feed/FeedFeatures.java     |   2 -
 .../browser/feed/FeedServiceBridge.java       |   2 +-
 chrome/browser/feedback/android/BUILD.gn      |   1 -
 .../browser/feedback/FeedbackCollector.java   |   9 -
 .../browser/firstrun/MobileFreProgress.java   |   4 +-
 .../router/discovery/access_code/BUILD.gn     |   1 -
 .../browser/password_manager/android/BUILD.gn |   4 -
 ...sswordManagerErrorMessageHelperBridge.java |  26 --
 .../PasswordManagerHelper.java                | 121 +--------
 ...swordSyncControllerDelegateBridgeImpl.java |   7 -
 chrome/browser/privacy/BUILD.gn               |   1 -
 chrome/browser/privacy_guide/android/BUILD.gn |   2 -
 .../res/layout/privacy_guide_msbb_step.xml    |   8 -
 .../browser/privacy_guide/MSBBFragment.java   |   9 -
 chrome/browser/search_resumption/BUILD.gn     |   4 -
 .../SearchResumptionModuleMediator.java       |  37 +--
 .../SearchResumptionModuleUtils.java          |  12 -
 .../ManageAccountDevicesLinkView.java         |  26 +-
 .../SendTabToSelfCoordinator.java             | 151 -----------
 .../account_consistency_mode_manager.cc       |   7 +-
 .../signin/identity_manager_factory.cc        |   5 -
 .../identity_services_provider_android.cc     |  13 -
 .../services/IdentityServicesProvider.java    |  13 -
 chrome/browser/supervised_user/BUILD.gn       |   1 -
 .../WebsiteApprovalMediator.java              |  24 --
 chrome/browser/sync/sync_service_factory.cc   |  12 +-
 chrome/browser/ui/android/omnibox/BUILD.gn    |   2 -
 .../browser/omnibox/LocationBarMediator.java  |   1 -
 ...onfirmImportSyncDataDialogCoordinator.java |   7 +-
 .../signin/ConfirmSyncDataStateMachine.java   |  16 +-
 .../ui/signin/SignOutDialogCoordinator.java   |  34 +--
 .../ui/signin/SyncConsentFragmentBase.java    |  53 +---
 .../ui/signin/SyncPromoController.java        |  15 +-
 .../WebSigninAccountPickerDelegate.java       |  23 --
 .../ui/signin/fre/SigninFirstRunMediator.java |  62 +----
 .../strings/android_chrome_strings.grd        |  18 --
 .../core/browser/leak_detection_delegate.cc   |   2 +-
 .../core/browser/password_form_manager.cc     |  34 +--
 .../browser/password_manager_client_helper.cc |  43 +---
 .../core/browser/sync_credentials_filter.cc   |  49 +---
 components/signin/features.gni                |   4 +-
 ...e_oauth2_token_service_delegate_android.cc | 120 +--------
 ...le_oauth2_token_service_delegate_android.h |  10 -
 .../signin/SystemAccountManagerDelegate.java  |  25 +-
 .../ProfileOAuth2TokenServiceDelegate.java    |  52 ----
 .../net/HttpNegotiateAuthenticator.java       |  88 +------
 .../chromoting/base/OAuthTokenFetcher.java    |   2 -
 107 files changed, 99 insertions(+), 2660 deletions(-)

diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -265,14 +265,12 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/password_check/android:java_resources",
       "//chrome/browser/password_manager/android:java_resources",
       "//chrome/browser/search_resumption:java_resources",
-      "//chrome/browser/signin/services/android:java_resources",
       "//chrome/browser/tab:java_resources",
       "//chrome/browser/ui/android/appmenu:java_resources",
       "//chrome/browser/ui/android/favicon:java_resources",
       "//chrome/browser/ui/android/management:java_resources",
       "//chrome/browser/ui/android/omnibox:java_resources",
       "//chrome/browser/ui/android/quickactionsearchwidget:java_resources",
-      "//chrome/browser/ui/android/signin:java_resources",
       "//chrome/browser/ui/android/strings:ui_strings_grd",
       "//chrome/browser/ui/android/theme:java_resources",
       "//chrome/browser/ui/android/toolbar:java_resources",
@@ -466,8 +464,6 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/settings:java",
       "//chrome/browser/share:java",
       "//chrome/browser/share/android:java_resources",
-      "//chrome/browser/signin/services/android:java",
-      "//chrome/browser/sync/android:java",
       "//chrome/browser/tab:java",
       "//chrome/browser/tab_group:java",
       "//chrome/browser/tabmodel:factory_java",
@@ -491,7 +487,6 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/ui/android/page_info:java",
       "//chrome/browser/ui/android/quickactionsearchwidget:java",
       "//chrome/browser/ui/android/searchactivityutils:java",
-      "//chrome/browser/ui/android/signin:java",
       "//chrome/browser/ui/android/theme:java",
       "//chrome/browser/ui/android/toolbar:java",
       "//chrome/browser/ui/messages/android:java",
@@ -618,7 +613,6 @@ if (current_toolchain == default_toolchain) {
       "//components/strictmode/android:java",
       "//components/stylus_handwriting/android:java",
       "//components/subresource_filter/android:java",
-      "//components/sync/android:sync_java",
       "//components/sync/protocol:protocol_java",
       "//components/sync_device_info:sync_device_info_java",
       "//components/thin_webview:factory_java",
@@ -1065,9 +1059,6 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/search_resumption:junit",
       "//chrome/browser/segmentation_platform:factory_java",
       "//chrome/browser/share:java",
-      "//chrome/browser/signin/services/android:java",
-      "//chrome/browser/signin/services/android:junit",
-      "//chrome/browser/sync/android:java",
       "//chrome/browser/tab:java",
       "//chrome/browser/tab:junit",
       "//chrome/browser/tab_group:java",
@@ -1099,8 +1090,6 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/ui/android/omnibox:junit",
       "//chrome/browser/ui/android/quickactionsearchwidget:java",
       "//chrome/browser/ui/android/searchactivityutils:java",
-      "//chrome/browser/ui/android/signin:java",
-      "//chrome/browser/ui/android/signin:junit",
       "//chrome/browser/ui/android/theme:java",
       "//chrome/browser/ui/android/toolbar:java",
       "//chrome/browser/ui/android/toolbar:junit",
@@ -1191,7 +1180,6 @@ if (current_toolchain == default_toolchain) {
       "//components/signin/core/browser:signin_enums_java",
       "//components/signin/public/android:java",
       "//components/signin/public/android:signin_java_test_support",
-      "//components/sync/android:sync_java",
       "//components/sync_device_info:sync_device_info_java",
       "//components/translate/content/android:junit",
       "//components/ukm/android:java",
@@ -1608,10 +1596,8 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/settings:test_support_java",
       "//chrome/browser/share:java",
       "//chrome/browser/share/android:java_resources",
-      "//chrome/browser/signin/services/android:java",
       "//chrome/browser/supervised_user:javatests",
       "//chrome/browser/supervised_user:test_support_java",
-      "//chrome/browser/sync/android:java",
       "//chrome/browser/sync/test/android:test_support_java",
       "//chrome/browser/tab:critical_persisted_tab_data_flatbuffer_java",
       "//chrome/browser/tab:critical_persisted_tab_data_proto_java",
@@ -1638,8 +1624,6 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/ui/android/quickactionsearchwidget:java",
       "//chrome/browser/ui/android/quickactionsearchwidget:javatests",
       "//chrome/browser/ui/android/searchactivityutils:java",
-      "//chrome/browser/ui/android/signin:java",
-      "//chrome/browser/ui/android/signin:javatests",
       "//chrome/browser/ui/android/theme:java",
       "//chrome/browser/ui/android/toolbar:java",
       "//chrome/browser/ui/messages/android:java",
@@ -1756,7 +1740,6 @@ if (current_toolchain == default_toolchain) {
       "//components/signin/public/android:java",
       "//components/signin/public/android:signin_java_test_support",
       "//components/site_engagement/content/android:java",
-      "//components/sync/android:sync_java",
       "//components/sync/protocol:protocol_java",
       "//components/sync_device_info:sync_device_info_java",
       "//components/url_formatter/android:url_formatter_java",
@@ -2451,7 +2434,6 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/download/android:java",
       "//chrome/browser/prefetch/android:java",
       "//chrome/browser/profiles/android:java",
-      "//chrome/browser/sync/android:java",
       "//chrome/browser/tab:java",
       "//components/offline_items_collection/core:core_java",
       "//components/sync/protocol:protocol_java",
@@ -3157,13 +3139,11 @@ if (current_toolchain == default_toolchain) {
       "//chrome/browser/optimization_guide/android:unit_device_javatests",
       "//chrome/browser/partnercustomizations:unit_device_javatests",
       "//chrome/browser/password_edit_dialog/android:unit_device_javatests",
-      "//chrome/browser/signin/services/android:unit_device_javatests",
       "//chrome/browser/thumbnail/generator:unit_device_javatests",
       "//chrome/browser/ui/android/appmenu/internal:unit_device_javatests",
       "//chrome/browser/ui/android/night_mode:unit_device_javatests",
       "//chrome/browser/ui/android/omnibox:unit_device_javatests",
       "//chrome/browser/ui/android/searchactivityutils:unit_device_javatests",
-      "//chrome/browser/ui/android/signin:unit_device_javatests",
       "//chrome/browser/ui/messages/android:unit_device_javatests",
       "//chrome/browser/user_education:unit_device_javatests",
       "//chrome/browser/video_tutorials/internal:unit_device_javatests",
@@ -4138,7 +4118,6 @@ generate_jni("chrome_jni_headers") {
     "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java",
     "java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java",
     "java/src/org/chromium/chrome/browser/signin/SigninBridge.java",
-    "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java",
     "java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java",
     "java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java",
     "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSites.java",
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -11,7 +11,6 @@ chrome_java_sources = [
   "java/src/org/chromium/chrome/browser/AppIndexingUtil.java",
   "java/src/org/chromium/chrome/browser/ApplicationLifetime.java",
   "java/src/org/chromium/chrome/browser/BackPressHelper.java",
-  "java/src/org/chromium/chrome/browser/BackupSigninProcessor.java",
   "java/src/org/chromium/chrome/browser/BrowserRestartActivity.java",
   "java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java",
   "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
@@ -604,14 +603,11 @@ chrome_java_sources = [
   "java/src/org/chromium/chrome/browser/firstrun/FirstRunPage.java",
   "java/src/org/chromium/chrome/browser/firstrun/FirstRunPageDelegate.java",
   "java/src/org/chromium/chrome/browser/firstrun/FirstRunPagerAdapter.java",
-  "java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java",
   "java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java",
-  "java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java",
   "java/src/org/chromium/chrome/browser/firstrun/FreIntentCreator.java",
   "java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java",
   "java/src/org/chromium/chrome/browser/firstrun/PolicyLoadListener.java",
   "java/src/org/chromium/chrome/browser/firstrun/SkipTosDialogPolicyListener.java",
-  "java/src/org/chromium/chrome/browser/firstrun/SyncConsentFirstRunFragment.java",
   "java/src/org/chromium/chrome/browser/firstrun/TabbedModeFirstRunActivity.java",
   "java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java",
   "java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java",
@@ -815,7 +811,6 @@ chrome_java_sources = [
   "java/src/org/chromium/chrome/browser/ntp/RevampedIncognitoDescriptionView.java",
   "java/src/org/chromium/chrome/browser/ntp/SnapScrollHelperImpl.java",
   "java/src/org/chromium/chrome/browser/ntp/TitleUtil.java",
-  "java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java",
   "java/src/org/chromium/chrome/browser/ntp/search/SearchBoxContainerView.java",
   "java/src/org/chromium/chrome/browser/ntp/search/SearchBoxCoordinator.java",
   "java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java",
@@ -1023,14 +1018,6 @@ chrome_java_sources = [
   "java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallUma.java",
   "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java",
   "java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java",
-  "java/src/org/chromium/chrome/browser/signin/SigninBridge.java",
-  "java/src/org/chromium/chrome/browser/signin/SigninCheckerProvider.java",
-  "java/src/org/chromium/chrome/browser/signin/SigninFirstRunFragment.java",
-  "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java",
-  "java/src/org/chromium/chrome/browser/signin/SyncConsentActivity.java",
-  "java/src/org/chromium/chrome/browser/signin/SyncConsentActivityLauncherImpl.java",
-  "java/src/org/chromium/chrome/browser/signin/SyncConsentFragment.java",
-  "java/src/org/chromium/chrome/browser/signin/SyncPromoView.java",
   "java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java",
   "java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java",
   "java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java",
@@ -1071,23 +1058,6 @@ chrome_java_sources = [
   "java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java",
   "java/src/org/chromium/chrome/browser/survey/SurveyController.java",
   "java/src/org/chromium/chrome/browser/survey/SurveyHttpClientBridge.java",
-  "java/src/org/chromium/chrome/browser/sync/SyncErrorNotifier.java",
-  "java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/AccountManagementFragment.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/ClearDataProgressDialog.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/SyncPromoPreference.java",
-  "java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/PassphraseActivity.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/PassphraseCreationDialogFragment.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/PassphraseDialogFragment.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/PassphraseTypeDialogFragment.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/SyncErrorMessage.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/SyncErrorPromptUtils.java",
-  "java/src/org/chromium/chrome/browser/sync/ui/SyncTrustedVaultProxyActivity.java",
   "java/src/org/chromium/chrome/browser/tab/AccessibilityVisibilityHandler.java",
   "java/src/org/chromium/chrome/browser/tab/AutofillSessionLifetimeController.java",
   "java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java",
diff --git a/chrome/android/features/autofill_assistant/BUILD.gn b/chrome/android/features/autofill_assistant/BUILD.gn
--- a/chrome/android/features/autofill_assistant/BUILD.gn
+++ b/chrome/android/features/autofill_assistant/BUILD.gn
@@ -146,7 +146,6 @@ android_library("test_java") {
     "//chrome/browser/password_manager/android:java",
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
-    "//chrome/browser/signin/services/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/tabmodel:java",
     "//chrome/browser/ui/android/omnibox:java",
diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantAccessTokenUtilChrome.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantAccessTokenUtilChrome.java
--- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantAccessTokenUtilChrome.java
+++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantAccessTokenUtilChrome.java
@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.autofill_assistant;
 import android.accounts.Account;
 
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.autofill_assistant.AssistantAccessTokenUtil;
 import org.chromium.components.signin.identitymanager.IdentityManager;
 
@@ -21,16 +20,9 @@ public class AssistantAccessTokenUtilChrome implements AssistantAccessTokenUtil
 
     @Override
     public void getAccessToken(Account account, IdentityManager.GetAccessTokenCallback callback) {
-        getIdentityManager().getAccessToken(account, AUTH_TOKEN_TYPE, callback);
     }
 
     @Override
     public void invalidateAccessToken(String accessToken) {
-        getIdentityManager().invalidateAccessToken(accessToken);
-    }
-
-    private IdentityManager getIdentityManager() {
-        return IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
     }
 }
diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantProfileImageUtilChrome.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantProfileImageUtilChrome.java
--- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantProfileImageUtilChrome.java
+++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantProfileImageUtilChrome.java
@@ -10,49 +10,30 @@ import android.graphics.drawable.Drawable;
 import androidx.annotation.DimenRes;
 
 import org.chromium.base.ObserverList;
-import org.chromium.chrome.browser.signin.services.ProfileDataCache;
 import org.chromium.components.autofill_assistant.AssistantProfileImageUtil;
 
 /**
  * Implementation of {@link AssistantProfileImageUtil} for Chrome.
  */
 public class AssistantProfileImageUtilChrome
-        implements AssistantProfileImageUtil, ProfileDataCache.Observer {
+        implements AssistantProfileImageUtil {
     private final String mSignedInAccountEmail;
-    private final ProfileDataCache mProfileCache;
     private final ObserverList<Observer> mObservers = new ObserverList<>();
 
     public AssistantProfileImageUtilChrome(
             Context context, String signedInAccountEmail, @DimenRes int imageSizeRedId) {
         mSignedInAccountEmail = signedInAccountEmail;
-        mProfileCache = ProfileDataCache.createWithoutBadge(context, imageSizeRedId);
     }
 
     @Override
     public void addObserver(Observer observer) {
         if (mObservers.isEmpty() && mObservers.addObserver(observer)) {
-            mProfileCache.addObserver(this);
         }
     }
 
     @Override
     public void removeObserver(Observer observer) {
         if (mObservers.removeObserver(observer) && mObservers.isEmpty()) {
-            mProfileCache.removeObserver(this);
-        }
-    }
-
-    @Override
-    public void onProfileDataUpdated(String accountEmail) {
-        if (!mSignedInAccountEmail.equals(accountEmail)) {
-            return;
-        }
-
-        Drawable profileImage =
-                mProfileCache.getProfileDataOrDefault(mSignedInAccountEmail).getImage();
-
-        for (Observer observer : mObservers) {
-            observer.onProfileImageChanged(profileImage);
         }
     }
 }
diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantStaticDependenciesChrome.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantStaticDependenciesChrome.java
--- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantStaticDependenciesChrome.java
+++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AssistantStaticDependenciesChrome.java
@@ -13,7 +13,6 @@ import androidx.annotation.Nullable;
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.tab.TabObscuringHandler;
 import org.chromium.chrome.browser.tab.TabObscuringHandlerSupplier;
 import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
@@ -129,10 +128,7 @@ public class AssistantStaticDependenciesChrome implements AssistantStaticDepende
 
     @Nullable
     public String getSignedInAccountEmailOrNull() {
-        IdentityManager identityManager =
-                IdentityServicesProvider.get().getIdentityManager(getProfile());
-        return CoreAccountInfo.getEmailFrom(
-                identityManager.getPrimaryAccountInfo(ConsentLevel.SYNC));
+        return null;
     }
 
     @Override
diff --git a/chrome/android/features/tab_ui/BUILD.gn b/chrome/android/features/tab_ui/BUILD.gn
--- a/chrome/android/features/tab_ui/BUILD.gn
+++ b/chrome/android/features/tab_ui/BUILD.gn
@@ -205,7 +205,6 @@ android_library("java") {
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/search_engines/android:java",
     "//chrome/browser/share:java",
-    "//chrome/browser/signin/services/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/tab_group:java",
     "//chrome/browser/tabmodel:java",
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/suggestions/TabSuggestionsServerFetcher.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/suggestions/TabSuggestionsServerFetcher.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/suggestions/TabSuggestionsServerFetcher.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/suggestions/TabSuggestionsServerFetcher.java
@@ -18,9 +18,7 @@ import org.chromium.chrome.browser.endpoint_fetcher.EndpointFetcher;
 import org.chromium.chrome.browser.endpoint_fetcher.EndpointResponse;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.tasks.tab_management.TabUiFeatureUtilities;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
 import org.chromium.net.NetworkTrafficAnnotationTag;
 
 import java.util.Collections;
@@ -150,15 +148,12 @@ public class TabSuggestionsServerFetcher implements TabSuggestionsFetcher {
         //  avoid fetching server if the TabGroupsAndroid flag is disabled. We need to move this
         //  flag checking logic to somewhere if this server fetcher supports suggestions other than
         //  grouping in the future.
-        return isSignedIn() && isServerFetcherFlagEnabled()
-                && TabUiFeatureUtilities.isTabGroupsAndroidEnabled(mContext);
+        return false;
     }
 
     @VisibleForTesting
     protected boolean isSignedIn() {
-        return IdentityServicesProvider.get()
-                .getIdentityManager(Profile.getLastUsedRegularProfile())
-                .hasPrimaryAccount(ConsentLevel.SYNC);
+        return false;
     }
 
     @VisibleForTesting
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -734,12 +734,7 @@ public class FeedSurfaceCoordinator
 
     /** @return The {@link View} for this class. */
     View getSigninPromoView() {
-        if (mSigninPromoView == null) {
-            LayoutInflater inflater = LayoutInflater.from(mRootView.getContext());
-            mSigninPromoView = inflater.inflate(
-                    R.layout.sync_promo_view_content_suggestions, mRootView, false);
-        }
-        return mSigninPromoView;
+        return null;
     }
 
     /**
@@ -867,7 +862,7 @@ public class FeedSurfaceCoordinator
 
     @Override
     public boolean isSignedIn() {
-        return FeedServiceBridge.isSignedIn();
+        return false;
     }
 
     @Override
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
@@ -36,17 +36,12 @@ import org.chromium.chrome.browser.feed.v2.ContentOrder;
 import org.chromium.chrome.browser.feed.v2.FeedUserActionType;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
-import org.chromium.chrome.browser.ntp.cards.SignInPromo;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.preferences.PrefChangeRegistrar;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.SigninManager;
 import org.chromium.chrome.browser.suggestions.SuggestionsMetrics;
 import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate;
-import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController;
 import org.chromium.chrome.browser.xsurface.FeedLaunchReliabilityLogger;
 import org.chromium.chrome.browser.xsurface.FeedLaunchReliabilityLogger.StreamType;
 import org.chromium.chrome.browser.xsurface.ListLayoutHelper;
@@ -119,7 +114,6 @@ public class FeedSurfaceMediator
     /**
      * The {@link SignInPromo} for the Feed.
      * TODO(huayinz): Update content and visibility through a ModelChangeProcessor.
-     */
     private class FeedSignInPromo extends SignInPromo {
         FeedSignInPromo(SigninManager signinManager) {
             super(signinManager);
@@ -140,7 +134,7 @@ public class FeedSurfaceMediator
             maybeUpdateSignInPromo();
         }
 
-        /** Update the content displayed in {@link PersonalizedSigninPromoView}. */
+        ** Update the content displayed in {@link PersonalizedSigninPromoView}. *
         private void maybeUpdateSignInPromo() {
             // Only call #setupPromoViewFromCache() if SignInPromo is visible to avoid potentially
             // blocking the UI thread for several seconds if the accounts cache is not populated
@@ -158,7 +152,7 @@ public class FeedSurfaceMediator
             super.onDismissPromo();
             mCoordinator.updateHeaderViews(false);
         }
-    }
+    } */
 
     /**
      * Internal implementation of Stream.StreamsMediator.
@@ -192,7 +186,6 @@ public class FeedSurfaceMediator
     private final Context mContext;
     private final @Nullable SnapScrollHelper mSnapScrollHelper;
     private final PrefChangeRegistrar mPrefChangeRegistrar;
-    private final SigninManager mSigninManager;
     private final PropertyModel mSectionHeaderModel;
     private final FeedActionDelegate mActionDelegate;
     private final FeedOptionsCoordinator mOptionsCoordinator;
@@ -202,7 +195,6 @@ public class FeedSurfaceMediator
     private HasContentListener mHasContentListener;
     private ContentChangedListener mStreamContentChangedListener;
     private MemoryPressureCallback mMemoryPressureCallback;
-    private @Nullable SignInPromo mSignInPromo;
     private RecyclerViewAnimationFinishDetector mRecyclerViewAnimationFinishDetector =
             new RecyclerViewAnimationFinishDetector();
 
@@ -244,8 +236,6 @@ public class FeedSurfaceMediator
         mHasContentListener = coordinator;
         mContext = context;
         mSnapScrollHelper = snapScrollHelper;
-        mSigninManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
         mActionDelegate = actionDelegate;
         mOptionsCoordinator = optionsCoordinator;
         mOptionsCoordinator.setOptionsListener(this);
@@ -458,7 +448,6 @@ public class FeedSurfaceMediator
         mFeedMenuModel = buildMenuItems();
 
         mCoordinator.initializeBubbleTriggering();
-        mSigninManager.getIdentityManager().addObserver(this);
 
         mSectionHeaderModel.set(SectionHeaderListProperties.MENU_MODEL_LIST_KEY, mFeedMenuModel);
         mSectionHeaderModel.set(
@@ -499,8 +488,6 @@ public class FeedSurfaceMediator
         };
         mCoordinator.getRecyclerView().addOnScrollListener(mStreamScrollListener);
 
-        initStreamHeaderViews();
-
         mMemoryPressureCallback =
                 pressure -> mCoordinator.getRecyclerView().getRecycledViewPool().clear();
         MemoryPressureListener.addCallback(mMemoryPressureCallback);
@@ -707,27 +694,12 @@ public class FeedSurfaceMediator
         }
     }
 
-    private void initStreamHeaderViews() {
-        boolean signInPromoVisible = shouldShowSigninPromo();
-        mCoordinator.updateHeaderViews(signInPromoVisible);
-    }
-
     /**
      * Determines whether a signin promo should be shown.
      * @return Whether the SignPromo should be visible.
      */
     private boolean shouldShowSigninPromo() {
-        SyncPromoController.resetNTPSyncPromoLimitsIfHiddenForTooLong();
-        if (!SignInPromo.shouldCreatePromo()
-                || !SyncPromoController.canShowSyncPromo(
-                        SigninAccessPoint.NTP_CONTENT_SUGGESTIONS)) {
-            return false;
-        }
-        if (mSignInPromo == null) {
-            mSignInPromo = new FeedSignInPromo(mSigninManager);
-            mSignInPromo.setCanShowPersonalizedSuggestions(isSuggestionsVisible());
-        }
-        return mSignInPromo.isVisible();
+        return false;
     }
 
     /** Clear any dependencies related to the {@link Stream}. */
@@ -742,11 +714,6 @@ public class FeedSurfaceMediator
         MemoryPressureListener.removeCallback(mMemoryPressureCallback);
         mMemoryPressureCallback = null;
 
-        if (mSignInPromo != null) {
-            mSignInPromo.destroy();
-            mSignInPromo = null;
-        }
-
         unbindStream();
         for (Stream s : mTabToStreamMap.values()) {
             s.removeOnContentChangedListener(mStreamContentChangedListener);
@@ -757,7 +724,6 @@ public class FeedSurfaceMediator
 
         mPrefChangeRegistrar.removeObserver(Pref.ARTICLES_LIST_VISIBLE);
         TemplateUrlServiceFactory.get().removeObserver(this);
-        mSigninManager.getIdentityManager().removeObserver(this);
 
         mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY).clear();
 
@@ -828,9 +794,6 @@ public class FeedSurfaceMediator
         // Update toggleswitch item, which is last item in list.
         mSectionHeaderModel.set(SectionHeaderListProperties.MENU_MODEL_LIST_KEY, buildMenuItems());
 
-        if (mSignInPromo != null) {
-            mSignInPromo.setCanShowPersonalizedSuggestions(suggestionsVisible);
-        }
         if (suggestionsVisible) mCoordinator.getSurfaceLifecycleManager().show();
         mStreamContentChanged = true;
 
@@ -908,35 +871,6 @@ public class FeedSurfaceMediator
 
     private ModelList buildMenuItems() {
         ModelList itemList = new ModelList();
-        int iconId = 0;
-        if (FeedServiceBridge.isSignedIn()) {
-            if (ChromeFeatureList.isEnabled(ChromeFeatureList.WEB_FEED)) {
-                itemList.add(buildMenuListItem(
-                        R.string.ntp_manage_feed, R.id.ntp_feed_header_menu_item_manage, iconId));
-            } else {
-                itemList.add(buildMenuListItem(R.string.ntp_manage_my_activity,
-                        R.id.ntp_feed_header_menu_item_activity, iconId));
-                itemList.add(buildMenuListItem(R.string.ntp_manage_interests,
-                        R.id.ntp_feed_header_menu_item_interest, iconId));
-                if (FeedServiceBridge.isAutoplayEnabled()) {
-                    itemList.add(buildMenuListItem(R.string.ntp_manage_autoplay,
-                            R.id.ntp_feed_header_menu_item_autoplay, iconId));
-                }
-                if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_V2_HEARTS)) {
-                    itemList.add(buildMenuListItem(R.string.ntp_manage_reactions,
-                            R.id.ntp_feed_header_menu_item_reactions, iconId));
-                }
-            }
-        } else if (FeedServiceBridge.isAutoplayEnabled()) {
-            // Show manage autoplay if not signed in.
-            itemList.add(buildMenuListItem(
-                    R.string.ntp_manage_autoplay, R.id.ntp_feed_header_menu_item_autoplay, iconId));
-        }
-        itemList.add(buildMenuListItem(
-                R.string.learn_more, R.id.ntp_feed_header_menu_item_learn, iconId));
-        itemList.add(getMenuToggleSwitch(
-                mSectionHeaderModel.get(SectionHeaderListProperties.IS_SECTION_ENABLED_KEY),
-                iconId));
         return itemList;
     }
 
@@ -1122,11 +1056,6 @@ public class FeedSurfaceMediator
         updateSectionHeader();
     }
 
-    @VisibleForTesting
-    public SignInPromo getSignInPromoForTesting() {
-        return mSignInPromo;
-    }
-
     public void manualRefresh(Callback<Boolean> callback) {
         if (mCurrentStream != null) {
             mCurrentStream.triggerRefresh(callback);
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -68,9 +68,7 @@ by a child template that "extends" this file.
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
-    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
     <uses-permission android:name="android.permission.INTERNET"/>
-    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
     <uses-permission android:name="android.permission.NFC"/>
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
@@ -81,7 +79,6 @@ by a child template that "extends" this file.
     <uses-permission-sdk-23 android:name="android.permission.READ_MEDIA_VIDEO"/>
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
     <uses-permission android:name="android.permission.RECORD_AUDIO"/>
-    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
     <uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
     <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
     <uses-permission android:name="android.permission.VIBRATE"/>
@@ -126,8 +123,6 @@ by a child template that "extends" this file.
     <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
 
-    <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
-
     {% block extra_uses_permissions %}
     {% endblock %}
 
@@ -536,15 +531,6 @@ by a child template that "extends" this file.
             TODO(crbug.com/1093292): investigate why
             @android:style/Theme.NoDisplay can't be used here.
         -->
-        <activity android:name="org.chromium.chrome.browser.sync.ui.SyncTrustedVaultProxyActivity"
-            android:theme="@style/Theme.MaterialComponents"
-            android:excludeFromRecents="true"
-            android:exported="false">
-        </activity>
-        <activity android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
-            android:theme="@style/Theme.Chromium.Activity"
-            android:autoRemoveFromRecents="true">
-        </activity>
         <activity android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
             android:theme="@style/Theme.BrowserUI.AlertDialog.NoActionBar"
             android:launchMode="singleInstance"
@@ -577,11 +563,6 @@ by a child template that "extends" this file.
             {{ self.supports_vr() }}
         </activity>
         {% endif %}
-        <activity android:name="org.chromium.chrome.browser.signin.SyncConsentActivity"
-            android:theme="@style/Theme.Chromium.DialogWhenLarge"
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
-            android:exported="false">
-        </activity>
         <activity android:name="org.chromium.chrome.browser.settings.SettingsActivity"
             android:theme="@style/Theme.Chromium.Settings"
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
--- a/chrome/android/java/res/xml/google_services_preferences.xml
+++ b/chrome/android/java/res/xml/google_services_preferences.xml
@@ -26,11 +26,6 @@ found in the LICENSE file.
         android:title="@string/autocomplete_searches_and_urls_title"
         android:summary="@string/autocomplete_searches_and_urls_summary"
         android:persistent="false"/>
-    <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
-        android:key="url_keyed_anonymized_data"
-        android:title="@string/url_keyed_anonymized_data_title"
-        android:summary="@string/url_keyed_anonymized_data_summary"
-        android:persistent="false"/>
     <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
         android:key="autofill_assistant"
         android:title="@string/prefs_autofill_assistant_title"
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -9,29 +9,11 @@ found in the LICENSE file.
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:orderingFromXml="false">
 
-    <org.chromium.chrome.browser.sync.settings.SyncPromoPreference
-        android:key="sync_promo"
-        android:order="0"/>
     <PreferenceCategory
         android:key="account_and_google_services_section"
         android:order="1"
-        android:title="@string/prefs_section_account_and_google_services"/>
-    <org.chromium.chrome.browser.sync.settings.SignInPreference
-        android:key="sign_in"
-        android:order="2"
-        android:title="@string/sign_in_to_chrome"/>
-    <org.chromium.components.browser_ui.settings.ChromeBasePreference
-        android:key="manage_sync"
-        android:order="3"
-        android:layout="@layout/account_management_account_row"
-        android:title="@string/sync_category_title"/>
-    <org.chromium.components.browser_ui.settings.ChromeBasePreference
-        android:key="google_services"
-        android:order="4"
-        android:layout="@layout/account_management_account_row"
-        android:title="@string/prefs_google_services"
-        android:icon="@drawable/ic_google_services_48dp"
-        android:fragment="org.chromium.chrome.browser.sync.settings.GoogleServicesSettings"/>
+        android:title="@string/prefs_section_account_and_google_services"
+        app:isPreferenceVisible="false" />
 
     <PreferenceCategory
         android:key="basics_section"
diff --git a/chrome/android/java/res/xml/manage_sync_preferences.xml b/chrome/android/java/res/xml/manage_sync_preferences.xml
--- a/chrome/android/java/res/xml/manage_sync_preferences.xml
+++ b/chrome/android/java/res/xml/manage_sync_preferences.xml
@@ -87,16 +87,4 @@ found in the LICENSE file.
         android:key="sync_review_data"
         android:title="@string/sync_review_data"/>
 
-    <!-- This category is only shown for advanced sync consent flow. -->
-    <PreferenceCategory
-        android:key="search_and_browse_category"
-        android:title="@string/search_and_browse_category"
-        app:isPreferenceVisible="false">
-
-        <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
-            android:key="url_keyed_anonymized_data"
-            android:title="@string/url_keyed_anonymized_data_title"
-            android:summary="@string/url_keyed_anonymized_data_summary"/>
-    </PreferenceCategory>
-
 </PreferenceScreen>
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -53,8 +53,4 @@ found in the LICENSE file.
         android:title="@string/cablev2_paask_title"
         android:summary="@string/cablev2_paask_body"
         android:fragment="org.chromium.chrome.browser.webauthn.PrivacySettingsFragment"/>
-    <org.chromium.components.browser_ui.settings.TextMessagePreference
-        android:key="sync_and_services_link"
-        android:summary="@string/privacy_sync_and_services_link_legacy"
-        app:allowDividerBelow="false"/>
 </PreferenceScreen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -34,8 +34,6 @@ import org.chromium.chrome.browser.password_manager.GooglePasswordManagerUIProvi
 import org.chromium.chrome.browser.policy.PolicyAuditor;
 import org.chromium.chrome.browser.rlz.RevenueStats;
 import org.chromium.chrome.browser.survey.SurveyController;
-import org.chromium.chrome.browser.sync.TrustedVaultClient;
-import org.chromium.chrome.browser.ui.signin.GoogleActivityController;
 import org.chromium.chrome.browser.usage_stats.DigitalWellbeingClient;
 import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate;
 import org.chromium.chrome.browser.xsurface.ProcessScope;
@@ -43,8 +41,6 @@ import org.chromium.chrome.browser.xsurface.ProcessScopeDependencyProvider;
 import org.chromium.chrome.modules.image_editor.ImageEditorModuleProvider;
 import org.chromium.components.policy.AppRestrictionsProvider;
 import org.chromium.components.policy.CombinedPolicyProvider;
-import org.chromium.components.signin.AccountManagerDelegate;
-import org.chromium.components.signin.SystemAccountManagerDelegate;
 import org.chromium.components.webapps.AppDetailsDelegate;
 
 import java.util.Collections;
@@ -75,14 +71,6 @@ public abstract class AppHooks {
         return sInstance;
     }
 
-    /**
-     * Creates a new {@link AccountManagerDelegate}.
-     * @return the created {@link AccountManagerDelegate}.
-     */
-    public AccountManagerDelegate createAccountManagerDelegate() {
-        return new SystemAccountManagerDelegate();
-    }
-
     /**
      * @return An instance of AppDetailsDelegate that can be queried about app information for the
      *         App Banner feature.  Will be null if one is unavailable.
@@ -130,21 +118,6 @@ public abstract class AppHooks {
         return new FeedbackReporter() {};
     }
 
-    /**
-     * @return An instance of GoogleActivityController.
-     */
-    public GoogleActivityController createGoogleActivityController() {
-        return new GoogleActivityController();
-    }
-
-    /**
-     * @return An instance of {@link GSAHelper} that handles the start point of chrome's integration
-     *         with GSA.
-     */
-    public GSAHelper createGsaHelper() {
-        return new GSAHelper();
-    }
-
     /**
      * Returns a new instance of HelpAndFeedbackLauncher.
      */
@@ -259,13 +232,6 @@ public abstract class AppHooks {
         return ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED;
     }
 
-    /**
-     * Returns a new {@link TrustedVaultClient.Backend} instance.
-     */
-    public TrustedVaultClient.Backend createSyncTrustedVaultClientBackend() {
-        return new TrustedVaultClient.EmptyBackend();
-    }
-
     /**
      * This is deprecated, and should not be called. Use FeedHooks instead.
      */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java
@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.init.AsyncInitTaskRunner;
 import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.signin.AccountManagerFacadeProvider;
 import org.chromium.components.signin.AccountUtils;
 import org.chromium.components.signin.base.CoreAccountInfo;
@@ -179,7 +178,6 @@ public class ChromeBackupAgentImpl extends ChromeBackupAgent.Impl {
             ParcelFileDescriptor newState) throws IOException {
         final ArrayList<String> backupNames = new ArrayList<>();
         final ArrayList<byte[]> backupValues = new ArrayList<>();
-        final AtomicReference<CoreAccountInfo> syncAccount = new AtomicReference<>();
 
         // The native preferences can only be read on the UI thread.
         Boolean nativePrefsRead = PostTask.runSynchronously(UiThreadTaskTraits.DEFAULT, () -> {
@@ -188,10 +186,6 @@ public class ChromeBackupAgentImpl extends ChromeBackupAgent.Impl {
             // immediately, so by the time it does Chrome may not be running.
             if (!initializeBrowser()) return false;
 
-            syncAccount.set(IdentityServicesProvider.get()
-                                    .getIdentityManager(Profile.getLastUsedRegularProfile())
-                                    .getPrimaryAccountInfo(ConsentLevel.SYNC));
-
             String[] nativeBackupNames = ChromeBackupAgentImplJni.get().getBoolBackupNames(this);
             boolean[] nativeBackupValues = ChromeBackupAgentImplJni.get().getBoolBackupValues(this);
             assert nativeBackupNames.length == nativeBackupValues.length;
@@ -245,8 +239,7 @@ public class ChromeBackupAgentImpl extends ChromeBackupAgent.Impl {
 
         // Finally add the user id.
         backupNames.add(ANDROID_DEFAULT_PREFIX + SIGNED_IN_ACCOUNT_KEY);
-        backupValues.add(ApiCompatibilityUtils.getBytesUtf8(
-                syncAccount.get() == null ? "" : syncAccount.get().getEmail()));
+        backupValues.add(ApiCompatibilityUtils.getBytesUtf8(""));
 
         BackupState newBackupState = new BackupState(backupNames, backupValues);
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java
@@ -16,7 +16,6 @@ import org.chromium.base.annotations.JNINamespace;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.components.signin.identitymanager.PrimaryAccountChangeEvent;
 
@@ -57,15 +56,6 @@ public class ChromeBackupWatcher {
                 }
             }
         });
-        // Update the backup if the sign-in status changes.
-        IdentityManager identityManager = IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
-        identityManager.addObserver(new IdentityManager.Observer() {
-            @Override
-            public void onPrimaryAccountChanged(PrimaryAccountChangeEvent eventDetails) {
-                onBackupPrefsChanged();
-            }
-        });
     }
 
     @CalledByNative
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -90,7 +90,6 @@ import org.chromium.chrome.browser.download.DownloadUtils;
 import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
 import org.chromium.chrome.browser.feature_guide.notifications.FeatureNotificationUtils;
 import org.chromium.chrome.browser.feed.FeedSurfaceTracker;
-import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
 import org.chromium.chrome.browser.flags.ActivityType;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
@@ -141,7 +140,6 @@ import org.chromium.chrome.browser.share.crow.CrowButtonDelegateImpl;
 import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfAndroidBridge;
 import org.chromium.chrome.browser.suggestions.SuggestionsMetrics;
 import org.chromium.chrome.browser.survey.ChromeSurveyController;
-import org.chromium.chrome.browser.sync.ui.SyncErrorMessage;
 import org.chromium.chrome.browser.tab.RedirectHandlerTabHelper;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabAssociatedApp;
@@ -687,10 +685,6 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
     }
 
     private void refreshSignIn() {
-        try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.refreshSignIn")) {
-            FirstRunSignInProcessor.openSyncSettingsIfScheduled(this);
-            BackupSigninProcessor.start(this);
-        }
     }
 
     private void setupCompositorContentPreNativeForPhone() {
@@ -1944,9 +1938,6 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
                     Tab tab, NavigationHandle navigation) {
                 if (!navigation.hasCommitted()) return;
 
-                try (TraceEvent e = TraceEvent.scoped("CheckSyncErrorOnDidFinishNavigation")) {
-                    SyncErrorMessage.maybeShowMessageUi(getWindowAndroid());
-                }
                 try (TraceEvent te = TraceEvent.scoped("updateActiveWebContents")) {
                     SendTabToSelfAndroidBridge.updateActiveWebContents(tab.getWebContents());
                 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -106,7 +106,6 @@ import org.chromium.chrome.browser.download.DownloadUtils;
 import org.chromium.chrome.browser.download.items.OfflineContentAggregatorNotificationBridgeUiFactory;
 import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
 import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
-import org.chromium.chrome.browser.firstrun.ForcedSigninProcessor;
 import org.chromium.chrome.browser.flags.ActivityType;
 import org.chromium.chrome.browser.flags.CachedFeatureFlags;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -155,7 +154,6 @@ import org.chromium.chrome.browser.share.ShareDelegateSupplier;
 import org.chromium.chrome.browser.stylus_handwriting.StylusWritingCoordinator;
 import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
 import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
 import org.chromium.chrome.browser.tab.RequestDesktopUtils;
 import org.chromium.chrome.browser.tab.Tab;
@@ -220,8 +218,6 @@ import org.chromium.components.policy.CombinedPolicyProvider;
 import org.chromium.components.policy.CombinedPolicyProvider.PolicyChangeListener;
 import org.chromium.components.prefs.PrefService;
 import org.chromium.components.profile_metrics.BrowserProfileType;
-import org.chromium.components.sync.ModelType;
-import org.chromium.components.sync.PassphraseType;
 import org.chromium.components.user_prefs.UserPrefs;
 import org.chromium.components.webapk.lib.client.WebApkValidator;
 import org.chromium.components.webapps.AddToHomescreenCoordinator;
@@ -318,9 +314,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
     private boolean mRemoveWindowBackgroundDone;
     protected AccessibilityVisibilityHandler mAccessibilityVisibilityHandler;
 
-    // Observes when sync becomes ready to create the mContextReporter.
-    private SyncService.SyncStateChangedListener mSyncStateChangedListener;
-
     // The FullscreenVideoPictureInPictureController is initialized lazily https://crbug.com/729738.
     private FullscreenVideoPictureInPictureController mFullscreenVideoPictureInPictureController;
 
@@ -1061,61 +1054,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
         return StatusBarColorController.UNDEFINED_STATUS_BAR_COLOR;
     }
 
-    private void createContextReporterIfNeeded() {
-        if (!mStarted) return; // Sync state reporting should work only in started state.
-        if (mContextReporter != null || getActivityTab() == null) return;
-
-        final SyncService syncService = SyncService.get();
-
-        if (syncService != null && syncService.isSyncingUrlsWithKeystorePassphrase()) {
-            ContextReporter.SelectionReporter controller =
-                    getContextualSearchManagerSupplier().hasValue() ? new ContextReporter.SelectionReporter() {
-                        @Override
-                        public void enable(Callback<GSAContextDisplaySelection> callback) {
-                            getContextualSearchManagerSupplier().get().enableContextReporting(
-                                    callback);
-                        }
-
-                        @Override
-                        public void disable() {
-                            getContextualSearchManagerSupplier().get().disableContextReporting();
-                        }
-                    } : null;
-            mContextReporter = AppHooks.get().createGsaHelper().getContextReporter(
-                    getActivityTabProvider(), mTabModelSelectorSupplier, controller);
-
-            if (mSyncStateChangedListener != null) {
-                syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
-                mSyncStateChangedListener = null;
-            }
-
-            return;
-        } else {
-            reportSyncStatus(syncService);
-        }
-
-        if (mSyncStateChangedListener == null && syncService != null) {
-            mSyncStateChangedListener = () -> createContextReporterIfNeeded();
-            syncService.addSyncStateChangedListener(mSyncStateChangedListener);
-        }
-    }
-
-    /**
-     * Records an appropriate status via UMA given the current sync status.
-     */
-    private static void reportSyncStatus(@Nullable SyncService syncService) {
-        if (syncService == null || !syncService.isEngineInitialized()) {
-            ContextReporter.reportStatus(ContextReporter.STATUS_SYNC_NOT_INITIALIZED);
-        } else if (!syncService.getActiveDataTypes().contains(ModelType.TYPED_URLS)) {
-            ContextReporter.reportStatus(ContextReporter.STATUS_SYNC_NOT_SYNCING_URLS);
-        } else if (syncService.getPassphraseType() != PassphraseType.KEYSTORE_PASSPHRASE
-                && syncService.getPassphraseType() != PassphraseType.TRUSTED_VAULT_PASSPHRASE) {
-            ContextReporter.reportStatus(ContextReporter.STATUS_SYNC_NOT_KEYSTORE_PASSPHRASE);
-        } else {
-            ContextReporter.reportStatus(ContextReporter.STATUS_SYNC_OTHER);
-        }
-    }
-
     @Override
     public void onResumeWithNative() {
         // TODO(b/182286787): Clean-up once fixed session resume order is verified.
@@ -1250,14 +1188,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
         if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
             if (mGSAAccountChangeListener != null) mGSAAccountChangeListener.disconnect();
         }
-        if (mSyncStateChangedListener != null) {
-            SyncService syncService = SyncService.get();
-            if (syncService != null) {
-                syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
-            }
-            mSyncStateChangedListener = null;
-        }
-        if (mContextReporter != null) mContextReporter.disable();
 
         super.onStopWithNative();
     }
@@ -1350,11 +1280,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
                     .recordUserFontPrefOnStartup();
         });
 
-        DeferredStartupHandler.getInstance().addDeferredTask(() -> {
-            if (isActivityFinishingOrDestroyed()) return;
-            ForcedSigninProcessor.checkCanSignIn(ChromeActivity.this);
-        });
-
         // GSA connection is not needed on low-end devices because Icing is disabled.
         if (!SysUtils.isLowEndDevice()) {
             if (isActivityFinishingOrDestroyed()) return;
@@ -1369,7 +1294,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
                             GSAAccountChangeListener.create(AppHooks.get().createGsaHelper());
                 }
                 mGSAAccountChangeListener.connect();
-                createContextReporterIfNeeded();
             });
         }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferenceFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferenceFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferenceFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferenceFragment.java
@@ -20,8 +20,6 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.signin.services.UnifiedConsentServiceBridge;
-import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
 import org.chromium.components.autofill_assistant.AssistantFeatures;
 import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
 import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -64,7 +62,6 @@ public class AutofillAssistantPreferenceFragment
     private ChromeSwitchPreference mAutofillAssistantPreference;
     private ChromeSwitchPreference mProactiveHelpPreference;
     private ChromeSwitchPreference mAssistantVoiceSearchEnabledPref;
-    private Preference mGoogleServicesSettingsLink;
 
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
@@ -94,15 +91,6 @@ public class AutofillAssistantPreferenceFragment
             mProactiveHelpPreference.setVisible(false);
         }
 
-        mGoogleServicesSettingsLink = findPreference(PREF_GOOGLE_SERVICES_SETTINGS_LINK);
-        NoUnderlineClickableSpan linkSpan = new NoUnderlineClickableSpan(getContext(), view -> {
-            SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
-            settingsLauncher.launchSettingsActivity(requireContext(), GoogleServicesSettings.class);
-        });
-        mGoogleServicesSettingsLink.setSummary(
-                SpanApplier.applySpans(getString(R.string.prefs_proactive_help_sync_link),
-                        new SpanApplier.SpanInfo("<link>", "</link>", linkSpan)));
-
         PreferenceCategory assistantVoiceSearchCategory =
                 findPreference(PREF_ASSISTANT_VOICE_SEARCH_CATEGORY);
         mAssistantVoiceSearchEnabledPref =
@@ -178,9 +166,7 @@ public class AutofillAssistantPreferenceFragment
 
         boolean assistant_switch_on_or_missing =
                 !mAutofillAssistantPreference.isVisible() || autofill_assistant_enabled;
-        boolean url_keyed_anonymized_data_collection_enabled =
-                UnifiedConsentServiceBridge.isUrlKeyedAnonymizedDataCollectionEnabled(
-                        Profile.getLastUsedRegularProfile());
+        boolean url_keyed_anonymized_data_collection_enabled = false;
 
         boolean proactive_help_on =
                 mPrefService.getBoolean(Pref.AUTOFILL_ASSISTANT_TRIGGER_SCRIPTS_ENABLED);
@@ -196,7 +182,6 @@ public class AutofillAssistantPreferenceFragment
         }
         mProactiveHelpPreference.setEnabled(proactive_toggle_enabled);
         mProactiveHelpPreference.setChecked(proactive_toggle_enabled && proactive_help_on);
-        mGoogleServicesSettingsLink.setVisible(show_disclaimer);
 
         mAssistantVoiceSearchEnabledPref.setChecked(mSharedPreferencesManager.readBoolean(
                 ChromePreferenceKeys.ASSISTANT_VOICE_SEARCH_ENABLED, /* default= */ false));
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
@@ -28,10 +28,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
 import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
-import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController.SyncPromoState;
 import org.chromium.components.bookmarks.BookmarkId;
 import org.chromium.components.bookmarks.BookmarkItem;
 import org.chromium.components.bookmarks.BookmarkType;
@@ -53,7 +50,7 @@ import java.util.List;
  * BaseAdapter for {@link RecyclerView}. It manages bookmarks to list there.
  */
 public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkListEntry>
-        implements BookmarkUIObserver, SyncService.SyncStateChangedListener {
+        implements BookmarkUIObserver {
     private static final int MAXIMUM_NUMBER_OF_SEARCH_RESULTS = 500;
     private static final String EMPTY_QUERY = null;
 
@@ -66,10 +63,8 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
     @ViewType
     private int mPromoHeaderType = ViewType.INVALID;
     private BookmarkDelegate mDelegate;
-    private BookmarkPromoHeader mPromoHeaderManager;
     private String mSearchText;
     private BookmarkId mCurrentFolder;
-    private SyncService mSyncService;
     private CommerceSubscriptionsServiceFactory mCommerceSubscriptionsServiceFactory;
 
     // Keep track of the currently highlighted bookmark - used for "show in folder" action.
@@ -125,8 +120,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
 
     BookmarkItemsAdapter(Context context, SnackbarManager snackbarManager) {
         super(context);
-        mSyncService = SyncService.get();
-        mSyncService.addSyncStateChangedListener(this);
 
         mImageFetcher =
                 ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_WITH_DISK_CACHE,
@@ -171,11 +164,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
         clearHighlight();
         mElements.clear();
 
-        // Restore the header, if it exists, then update it.
-        if (hasPromoHeader()) {
-            mElements.add(BookmarkListEntry.createSyncPromoHeader(mPromoHeaderType));
-        }
-
         updateHeader(false);
         if (BookmarkId.SHOPPING_FOLDER.equals(mCurrentFolder)) {
             filterForPriceTrackingCategory(bookmarks);
@@ -240,9 +228,9 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
             case ViewType.PERSONALIZED_SIGNIN_PROMO:
                 // fall through
             case ViewType.PERSONALIZED_SYNC_PROMO:
-                return mPromoHeaderManager.createPersonalizedSigninAndSyncPromoHolder(parent);
+                return null;
             case ViewType.SYNC_PROMO:
-                return mPromoHeaderManager.createSyncPromoHolder(parent);
+                return null;
             case ViewType.SECTION_HEADER:
                 return createSectionHeaderViewHolder(parent, viewType);
             case ViewType.FOLDER:
@@ -278,10 +266,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
     public void onBindViewHolder(ViewHolder holder, int position) {
         if (holder.getItemViewType() == ViewType.PERSONALIZED_SIGNIN_PROMO
                 || holder.getItemViewType() == ViewType.PERSONALIZED_SYNC_PROMO) {
-            PersonalizedSigninPromoView view =
-                    (PersonalizedSigninPromoView) holder.itemView.findViewById(
-                            R.id.signin_promo_view_container);
-            mPromoHeaderManager.setUpSyncPromoView(view);
         } else if (holder.getItemViewType() == ViewType.SECTION_HEADER) {
             bindSectionHeaderViewHolder(holder.itemView, getItemByPosition(position));
         } else if (BookmarkListEntry.isBookmarkEntry(holder.getItemViewType())) {
@@ -338,7 +322,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
             case ViewType.PERSONALIZED_SIGNIN_PROMO:
                 // fall through
             case ViewType.PERSONALIZED_SYNC_PROMO:
-                mPromoHeaderManager.detachPersonalizePromoView();
                 break;
             default:
                 // Other view holders don't have special recycling code.
@@ -361,7 +344,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
             updateHeader(true);
         };
 
-        mPromoHeaderManager = new BookmarkPromoHeader(mContext, promoHeaderChangeAction);
         populateTopLevelFoldersList();
 
         mElements = new ArrayList<>();
@@ -376,8 +358,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
         mDelegate.getModel().removeObserver(mBookmarkModelObserver);
         mDelegate.getSelectionDelegate().removeObserver(this);
         mDelegate = null;
-        mPromoHeaderManager.destroy();
-        mSyncService.removeSyncStateChangedListener(this);
     }
 
     @Override
@@ -472,18 +452,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
         setOrder(mElements);
     }
 
-    // SyncStateChangedListener implementation.
-    @Override
-    public void syncStateChanged() {
-        // If mDelegate is null, we will set the top level folders upon its initialization
-        // (see onBookmarkDelegateInitialized method above).
-        if (mDelegate == null) {
-            return;
-        }
-        mTopLevelFolders.clear();
-        populateTopLevelFoldersList();
-    }
-
     /**
      * Updates mPromoHeaderType. Makes sure that the 0th index of mElements is consistent with the
      * promo header. This 0th index is null iff there is a promo header.
@@ -504,29 +472,12 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
         } else if (currentUIState == BookmarkUIState.STATE_SEARCHING) {
             mPromoHeaderType = ViewType.INVALID;
         } else {
-            switch (mPromoHeaderManager.getPromoState()) {
-                case SyncPromoState.NO_PROMO:
                     mPromoHeaderType = ViewType.INVALID;
-                    break;
-                case SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE:
-                    mPromoHeaderType = ViewType.PERSONALIZED_SIGNIN_PROMO;
-                    break;
-                case SyncPromoState.PROMO_FOR_SIGNED_IN_STATE:
-                    mPromoHeaderType = ViewType.PERSONALIZED_SYNC_PROMO;
-                    break;
-                case SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE:
-                    mPromoHeaderType = ViewType.SYNC_PROMO;
-                    break;
-                default:
-                    assert false : "Unexpected value for promo state!";
-            }
         }
 
         boolean willShowPromo = hasPromoHeader();
 
         if (!wasShowingPromo && willShowPromo) {
-            // A null element at the 0th index represents a promo header.
-            mElements.add(0, BookmarkListEntry.createSyncPromoHeader(mPromoHeaderType));
             if (shouldNotify) notifyItemInserted(0);
         } else if (wasShowingPromo && willShowPromo) {
             if (shouldNotify) notifyItemChanged(0);
@@ -641,7 +592,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
 
     @VisibleForTesting
     public void simulateSignInForTests() {
-        syncStateChanged();
         onFolderStateSet(mCurrentFolder);
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
@@ -5,258 +5,19 @@
 package org.chromium.chrome.browser.bookmarks;
 
 import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.recyclerview.widget.RecyclerView.ViewHolder;
-
-import org.chromium.chrome.R;
-import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
-import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
-import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
-import org.chromium.chrome.browser.signin.SyncPromoView;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.ProfileDataCache;
-import org.chromium.chrome.browser.signin.services.SigninManager;
-import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver;
-import org.chromium.chrome.browser.sync.SyncService;
-import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController.SyncPromoState;
-import org.chromium.components.signin.AccountManagerFacade;
-import org.chromium.components.signin.AccountManagerFacadeProvider;
-import org.chromium.components.signin.AccountsChangeObserver;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.metrics.SigninAccessPoint;
 
 /**
  * Class that manages all the logic and UI behind the signin promo header in the bookmark
  * content UI. The header is shown only on certain situations, (e.g., not signed in).
  */
-public class BookmarkPromoHeader implements SyncService.SyncStateChangedListener,
-                                            SignInStateObserver, ProfileDataCache.Observer,
-                                            AccountsChangeObserver {
+public class BookmarkPromoHeader {
     // TODO(kkimlabs): Figure out the optimal number based on UMA data.
     private static final int MAX_SIGNIN_AND_SYNC_PROMO_SHOW_COUNT = 10;
 
-    private static @Nullable @SyncPromoState Integer sPromoStateForTests;
-
-    private final Context mContext;
-    private final SigninManager mSignInManager;
-    private final AccountManagerFacade mAccountManagerFacade;
-    private final Runnable mPromoHeaderChangeAction;
-
-    private @Nullable ProfileDataCache mProfileDataCache;
-    private final @Nullable SyncPromoController mSyncPromoController;
-    private @SyncPromoState int mPromoState = SyncPromoState.NO_PROMO;
-    private final @Nullable SyncService mSyncService;
-
     /**
      * Initializes the class. Note that this will start listening to signin related events and
      * update itself if needed.
      */
     BookmarkPromoHeader(Context context, Runnable promoHeaderChangeAction) {
-        mContext = context;
-        mPromoHeaderChangeAction = promoHeaderChangeAction;
-
-        mSyncService = SyncService.get();
-        if (mSyncService != null) mSyncService.addSyncStateChangedListener(this);
-
-        mSignInManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
-        mSignInManager.addSignInStateObserver(this);
-
-        mAccountManagerFacade = AccountManagerFacadeProvider.getInstance();
-
-        if (SyncPromoController.canShowSyncPromo(SigninAccessPoint.BOOKMARK_MANAGER)) {
-            mProfileDataCache = ProfileDataCache.createWithDefaultImageSizeAndNoBadge(mContext);
-            mProfileDataCache.addObserver(this);
-            mSyncPromoController = new SyncPromoController(
-                    SigninAccessPoint.BOOKMARK_MANAGER, SyncConsentActivityLauncherImpl.get());
-            mAccountManagerFacade.addObserver(this);
-        } else {
-            mProfileDataCache = null;
-            mSyncPromoController = null;
-        }
-        updatePromoState();
-    }
-
-    /**
-     * Clean ups the class. Must be called once done using this class.
-     */
-    void destroy() {
-        if (mSyncService != null) mSyncService.removeSyncStateChangedListener(this);
-
-        if (mSyncPromoController != null) {
-            mAccountManagerFacade.removeObserver(this);
-            mProfileDataCache.removeObserver(this);
-        }
-
-        mSignInManager.removeSignInStateObserver(this);
-    }
-
-    /**
-     * @return The current state of the promo.
-     */
-    @SyncPromoState
-    int getPromoState() {
-        return mPromoState;
-    }
-
-    /**
-     * @return Personalized signin promo header {@link ViewHolder} instance that can be used with
-     *         {@link RecyclerView}.
-     */
-    ViewHolder createPersonalizedSigninAndSyncPromoHolder(ViewGroup parent) {
-        View view = LayoutInflater.from(mContext).inflate(
-                R.layout.sync_promo_view_bookmarks, parent, false);
-
-        // ViewHolder is abstract and it cannot be instantiated directly.
-        return new ViewHolder(view) {};
-    }
-
-    /**
-     * @return Sync promo header {@link ViewHolder} instance that can be used with
-     *         {@link RecyclerView}.
-     */
-    ViewHolder createSyncPromoHolder(ViewGroup parent) {
-        SyncPromoView view = SyncPromoView.create(parent, SigninAccessPoint.BOOKMARK_MANAGER);
-
-        // ViewHolder is abstract and it cannot be instantiated directly.
-        return new ViewHolder(view) {};
-    }
-
-    /**
-     * Sets up the sync promo view.
-     */
-    void setUpSyncPromoView(PersonalizedSigninPromoView view) {
-        mSyncPromoController.setUpSyncPromoView(
-                mProfileDataCache, view, this::setPersonalizedSigninPromoDeclined);
-    }
-
-    /**
-     * Detaches the previously configured {@link PersonalizedSigninPromoView}.
-     */
-    void detachPersonalizePromoView() {
-        if (mSyncPromoController != null) mSyncPromoController.detach();
-    }
-
-    /**
-     * Saves that the personalized signin promo was declined and updates the UI.
-     */
-    private void setPersonalizedSigninPromoDeclined() {
-        mPromoState = calculatePromoState();
-        triggerPromoUpdate();
-    }
-
-    /**
-     * @return Whether the personalized signin promo should be shown to user.
-     */
-    private boolean shouldShowBookmarkSigninPromo() {
-        return mSignInManager.isSyncOptInAllowed()
-                && SyncPromoController.canShowSyncPromo(SigninAccessPoint.BOOKMARK_MANAGER);
-    }
-
-    private @SyncPromoState int calculatePromoState() {
-        if (sPromoStateForTests != null) {
-            return sPromoStateForTests;
-        }
-
-        if (mSyncService == null) {
-            // |mSyncService| will remain null until the next browser startup, so no sense in
-            // offering any promo.
-            return SyncPromoState.NO_PROMO;
-        }
-
-        if (!mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SYNC)) {
-            if (!shouldShowBookmarkSigninPromo()) {
-                return SyncPromoState.NO_PROMO;
-            }
-
-            return mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SIGNIN)
-                    ? SyncPromoState.PROMO_FOR_SIGNED_IN_STATE
-                    : SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE;
-        }
-
-        boolean impressionLimitNotReached =
-                SharedPreferencesManager.getInstance().readInt(
-                        ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT)
-                < MAX_SIGNIN_AND_SYNC_PROMO_SHOW_COUNT;
-        if ((!mSyncService.isSyncRequested() || mSyncService.getSelectedTypes().isEmpty())
-                && impressionLimitNotReached) {
-            return SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE;
-        }
-        return SyncPromoState.NO_PROMO;
-    }
-
-    private void updatePromoState() {
-        final @SyncPromoState int newState = calculatePromoState();
-        if (newState == mPromoState) return;
-
-        // PROMO_SYNC state and it's impression counts is not tracked by SyncPromoController.
-        final boolean hasSyncPromoStateChangedtoShown =
-                (mPromoState == SyncPromoState.NO_PROMO
-                        || mPromoState == SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE)
-                && (newState == SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE
-                        || newState == SyncPromoState.PROMO_FOR_SIGNED_IN_STATE);
-        if (mSyncPromoController != null && hasSyncPromoStateChangedtoShown) {
-            mSyncPromoController.increasePromoShowCount();
-        }
-        if (newState == SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE) {
-            SharedPreferencesManager.getInstance().incrementInt(
-                    ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT);
-        }
-        mPromoState = newState;
-    }
-
-    // SyncService.SyncStateChangedListener implementation.
-    @Override
-    public void syncStateChanged() {
-        updatePromoState();
-        triggerPromoUpdate();
-    }
-
-    // SignInStateObserver implementation.
-    @Override
-    public void onSignedIn() {
-        updatePromoState();
-        triggerPromoUpdate();
-    }
-
-    @Override
-    public void onSignedOut() {
-        updatePromoState();
-        triggerPromoUpdate();
-    }
-
-    // ProfileDataCache.Observer implementation.
-    @Override
-    public void onProfileDataUpdated(String accountEmail) {
-        triggerPromoUpdate();
-    }
-
-    // AccountsChangeObserver implementation.
-    @Override
-    public void onAccountsChanged() {
-        triggerPromoUpdate();
-    }
-
-    private void triggerPromoUpdate() {
-        detachPersonalizePromoView();
-        mPromoHeaderChangeAction.run();
-    }
-
-    /**
-     * Forces the promo state to a particular value for testing purposes.
-     * @param promoState The promo state to which the header will be set to.
-     */
-    @VisibleForTesting
-    public static void forcePromoStateForTests(@Nullable @SyncPromoState Integer promoState) {
-        sPromoStateForTests = promoState;
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
@@ -36,16 +36,9 @@ import org.chromium.chrome.browser.historyreport.AppIndexingReporter;
 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.SigninManager;
-import org.chromium.chrome.browser.sync.settings.ClearDataProgressDialog;
-import org.chromium.chrome.browser.ui.signin.SignOutDialogCoordinator;
-import org.chromium.chrome.browser.ui.signin.SignOutDialogCoordinator.ActionType;
 import org.chromium.components.browser_ui.settings.ClickableSpansTextMessagePreference;
 import org.chromium.components.browser_ui.settings.SettingsUtils;
 import org.chromium.components.browser_ui.settings.SpinnerPreference;
-import org.chromium.components.signin.GAIAServiceType;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
 import org.chromium.components.user_prefs.UserPrefs;
 import org.chromium.ui.modaldialog.ModalDialogManagerHolder;
 import org.chromium.ui.text.NoUnderlineClickableSpan;
@@ -66,8 +59,7 @@ import java.util.Set;
  */
 public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
         implements BrowsingDataBridge.OnClearBrowsingDataListener,
-                   Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener,
-                   SignOutDialogCoordinator.Listener, SigninManager.SignInStateObserver {
+                   Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener {
     private static final String CLEAR_DATA_PROGRESS_DIALOG_TAG = "clear_data_progress";
 
     /**
@@ -228,8 +220,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
 
     private OtherFormsOfHistoryDialogFragment mDialogAboutOtherFormsOfBrowsingHistory;
 
-    private SigninManager mSigninManager;
-
     private ProgressDialog mProgressDialog;
     private Item[] mItems;
     private ClearBrowsingDataFetcher mFetcher;
@@ -539,8 +529,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
         }
         getActivity().setTitle(R.string.clear_browsing_data_title);
         SettingsUtils.addPreferencesFromResource(this, R.xml.clear_browsing_data_preferences_tab);
-        mSigninManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
         List<Integer> options = getDialogOptions();
         mItems = new Item[options.size()];
         for (int i = 0; i < options.size(); i++) {
@@ -589,11 +577,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
         assert spinnerOptionIndex != -1;
         spinner.setOptions(spinnerOptions, spinnerOptionIndex);
         spinner.setOnPreferenceChangeListener(this);
-
-        // Text for sign-out option.
-        updateSignOutOfChromeText();
-
-        mSigninManager.addSignInStateObserver(this);
     }
 
     @Override
@@ -639,7 +622,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
         for (Item item : mItems) {
             item.destroy();
         }
-        mSigninManager.removeSignInStateObserver(this);
     }
 
     // We either show the dialog, or modify the current one to display our messages.  This avoids
@@ -665,28 +647,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
     private void updateSignOutOfChromeText() {
         ClickableSpansTextMessagePreference signOutOfChromeTextPref =
                 findPreference(ClearBrowsingDataFragment.PREF_SIGN_OUT_OF_CHROME_TEXT);
-        if (ChromeFeatureList.isEnabled(ChromeFeatureList.ENABLE_CBD_SIGN_OUT)
-                && mSigninManager.isSignOutAllowed()) {
-            signOutOfChromeTextPref.setSummary(buildSignOutOfChromeText());
-            signOutOfChromeTextPref.setVisible(true);
-        } else {
             signOutOfChromeTextPref.setVisible(false);
-        }
-    }
-
-    @VisibleForTesting
-    SpannableString buildSignOutOfChromeText() {
-        return SpanApplier.applySpans(getContext().getString(R.string.sign_out_of_chrome_link),
-                new SpanInfo("<link1>", "</link1>",
-                        new NoUnderlineClickableSpan(
-                                requireContext(), createSignOutOfChromeCallback())));
-    }
-
-    private Callback<View> createSignOutOfChromeCallback() {
-        return view
-                -> SignOutDialogCoordinator.show(requireContext(),
-                        ((ModalDialogManagerHolder) getActivity()).getModalDialogManager(), this,
-                        ActionType.CLEAR_PRIMARY_ACCOUNT, GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
     }
 
     /**
@@ -751,43 +712,4 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat
                     ignoredDomains, ignoredDomainReasons);
         }
     }
-
-    /** {@link SignOutDialogCoordinator.Listener} implementation */
-    @Override
-    public void onSignOutClicked(boolean forceWipeUserData) {
-        // In case the user is not signed in, we guard the sign out so we do not hit a native crash.
-        if (!mSigninManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SIGNIN)) {
-            return;
-        }
-        mSigninManager.runAfterOperationInProgress(() -> {
-            // In case supervised users reach this flow, remove the preference and guard against
-            // signing out.
-            if (!mSigninManager.isSignOutAllowed()) {
-                updateSignOutOfChromeText();
-                return;
-            }
-            final DialogFragment clearDataProgressDialog = new ClearDataProgressDialog();
-            mSigninManager.signOut(org.chromium.components.signin.metrics.SignoutReason
-                                           .USER_CLICKED_SIGNOUT_FROM_CLEAR_BROWSING_DATA_PAGE,
-                    new SigninManager.SignOutCallback() {
-                        @Override
-                        public void preWipeData() {
-                            clearDataProgressDialog.show(
-                                    getChildFragmentManager(), CLEAR_DATA_PROGRESS_DIALOG_TAG);
-                        }
-
-                        @Override
-                        public void signOutComplete() {
-                            clearDataProgressDialog.dismissAllowingStateLoss();
-                        }
-                    },
-                    forceWipeUserData);
-        });
-    }
-
-    /** {@link SigninManager.SignInStateObserver} implementation. */
-    @Override
-    public void onSignOutAllowedChanged() {
-        updateSignOutOfChromeText();
-    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java
@@ -23,16 +23,12 @@ import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
 import org.chromium.components.browser_ui.settings.ClickableSpansTextMessagePreference;
 import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.components.search_engines.TemplateUrl;
 import org.chromium.components.search_engines.TemplateUrlService;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.components.sync.ModelType;
 import org.chromium.ui.text.NoUnderlineClickableSpan;
 import org.chromium.ui.text.SpanApplier;
@@ -89,27 +85,11 @@ public class ClearBrowsingDataFragmentBasic extends ClearBrowsingDataFragment {
             new TabDelegate(false /* incognito */)
                     .launchUrl(UrlConstants.MY_ACTIVITY_URL_IN_CBD, TabLaunchType.FROM_CHROME_UI);
         });
-
-        IdentityManager identityManager = IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
-        if (identityManager.hasPrimaryAccount(ConsentLevel.SIGNIN)) {
-            // Update the Clear Browsing History text based on the sign-in/sync state and whether
-            // the link to MyActivity is displayed inline or at the bottom of the page.
-            // Note: when  sync is disabled, the default string is used.
-            if (isHistorySyncEnabled()) {
-                // The text is different only for users with history sync.
-                historyCheckbox.setSummary(R.string.clear_browsing_history_summary_synced_no_link);
-            }
-            cookiesCheckbox.setSummary(
-                    R.string.clear_cookies_and_site_data_summary_basic_signed_in);
-        }
     }
 
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
         super.onCreatePreferences(savedInstanceState, rootKey);
-        IdentityManager identityManager = IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
         ClickableSpansTextMessagePreference googleDataTextPref =
                 (ClickableSpansTextMessagePreference) findPreference(
                         ClearBrowsingDataFragment.PREF_GOOGLE_DATA_TEXT);
@@ -120,8 +100,7 @@ public class ClearBrowsingDataFragmentBasic extends ClearBrowsingDataFragment {
         boolean isDefaultSearchEngineGoogle = templateUrlService.isDefaultSearchEngineGoogle();
 
         // Google-related links to delete search history and other browsing activity.
-        if (defaultSearchEngine == null
-                || !identityManager.hasPrimaryAccount(ConsentLevel.SIGNIN)) {
+        if (defaultSearchEngine == null) {
             // One of two cases:
             // 1. The default search engine is disabled.
             // 2. The user is not signed into Chrome.
@@ -224,9 +203,7 @@ public class ClearBrowsingDataFragmentBasic extends ClearBrowsingDataFragment {
     }
 
     private boolean isHistorySyncEnabled() {
-        SyncService syncService = SyncService.get();
-        return syncService != null && syncService.isSyncFeatureEnabled()
-                && syncService.getActiveDataTypes().contains(ModelType.HISTORY_DELETE_DIRECTIVES);
+        return false;
     }
 
     @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ChromePickerAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ChromePickerAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ChromePickerAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ChromePickerAdapter.java
@@ -15,16 +15,8 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.DisplayableProfileData;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.ProfileDataCache;
 import org.chromium.components.browser_ui.contacts_picker.ContactDetails;
 import org.chromium.components.browser_ui.contacts_picker.PickerAdapter;
-import org.chromium.components.signin.AccountManagerFacadeProvider;
-import org.chromium.components.signin.AccountUtils;
-import org.chromium.components.signin.base.CoreAccountInfo;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.identitymanager.IdentityManager;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -35,10 +27,7 @@ import java.util.Collections;
  * Owner email is looked up in the {@link ProfileDataCache}, or, failing that, via the {@link
  * AccountManagerFacade}.
  */
-public class ChromePickerAdapter extends PickerAdapter implements ProfileDataCache.Observer {
-    // The profile data cache to consult when figuring out the signed in user.
-    private ProfileDataCache mProfileDataCache;
-
+public class ChromePickerAdapter extends PickerAdapter {
     // Whether an observer for ProfileDataCache has been registered.
     private boolean mObserving;
 
@@ -46,8 +35,6 @@ public class ChromePickerAdapter extends PickerAdapter implements ProfileDataCac
     private boolean mWaitingOnOwnerInfo;
 
     public ChromePickerAdapter(Context context) {
-        mProfileDataCache =
-                ProfileDataCache.createWithoutBadge(context, R.dimen.contact_picker_icon_size);
     }
 
     // Adapter:
@@ -64,38 +51,15 @@ public class ChromePickerAdapter extends PickerAdapter implements ProfileDataCac
         removeProfileDataObserver();
     }
 
-    // ProfileDataCache.Observer:
-
-    @Override
-    public void onProfileDataUpdated(String accountEmail) {
-        if (!mWaitingOnOwnerInfo || !TextUtils.equals(accountEmail, getOwnerEmail())) {
-            return;
-        }
-
-        // Now that we've received an update for the right accountId, we can stop listening and
-        // update our records.
-        mWaitingOnOwnerInfo = false;
-        removeProfileDataObserver();
-        // TODO(finnur): crbug.com/1021477 - Maintain an member instance of this.
-        DisplayableProfileData profileData =
-                mProfileDataCache.getProfileDataOrDefault(getOwnerEmail());
-        ContactDetails contact = getAllContacts().get(0);
-        Drawable icon = profileData.getImage();
-        contact.setSelfIcon(icon);
-        update();
-    }
-
     private void addProfileDataObserver() {
         if (!mObserving) {
             mObserving = true;
-            mProfileDataCache.addObserver(this);
         }
     }
 
     private void removeProfileDataObserver() {
         if (mObserving) {
             mObserving = false;
-            mProfileDataCache.removeObserver(this);
         }
     }
 
@@ -107,13 +71,7 @@ public class ChromePickerAdapter extends PickerAdapter implements ProfileDataCac
      */
     @Override
     protected String findOwnerEmail() {
-        CoreAccountInfo coreAccountInfo = getCoreAccountInfo();
-        if (coreAccountInfo != null) {
-            return coreAccountInfo.getEmail();
-        }
-        final @Nullable Account defaultAccount = AccountUtils.getDefaultAccountIfFulfilled(
-                AccountManagerFacadeProvider.getInstance().getAccounts());
-        return defaultAccount != null ? defaultAccount.name : null;
+        return null;
     }
 
     @Override
@@ -134,25 +92,8 @@ public class ChromePickerAdapter extends PickerAdapter implements ProfileDataCac
      */
     @SuppressLint("HardwareIds")
     private ContactDetails constructOwnerInfo(String ownerEmail) {
-        DisplayableProfileData profileData = mProfileDataCache.getProfileDataOrDefault(ownerEmail);
-        String name = profileData.getFullNameOrEmail();
-        if (TextUtils.isEmpty(name) || TextUtils.equals(name, ownerEmail)) {
-            name = CoreAccountInfo.getEmailFrom(getCoreAccountInfo());
-        }
-
-        ContactDetails contact = new ContactDetails(ContactDetails.SELF_CONTACT_ID, name,
+        ContactDetails contact = new ContactDetails(ContactDetails.SELF_CONTACT_ID, ownerEmail,
                 Collections.singletonList(ownerEmail), /*phoneNumbers=*/null, /*addresses=*/null);
-        Drawable icon = profileData.getImage();
-        contact.setIsSelf(true);
-        contact.setSelfIcon(icon);
-        return contact;
-    }
-
-    private CoreAccountInfo getCoreAccountInfo() {
-        // Since this is read-only operation to obtain email address, always using regular profile
-        // for both regular and off-the-record profile is safe.
-        IdentityManager identityManager = IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
-        return identityManager.getPrimaryAccountInfo(ConsentLevel.SYNC);
+        return null;
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
@@ -28,7 +28,6 @@ import androidx.browser.customtabs.CustomTabsSessionToken;
 import org.chromium.base.IntentUtils;
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.BackupSigninProcessor;
 import org.chromium.chrome.browser.LaunchIntentDispatcher;
 import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
 import org.chromium.chrome.browser.autofill_assistant.AutofillAssistantFacade;
@@ -38,7 +37,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvid
 import org.chromium.chrome.browser.customtabs.dependency_injection.BaseCustomTabActivityComponent;
 import org.chromium.chrome.browser.customtabs.features.CustomTabNavigationBarController;
 import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
-import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
 import org.chromium.chrome.browser.flags.AllCachedFieldTrialParameters;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.fonts.FontPreloader;
@@ -151,11 +149,6 @@ public class CustomTabActivity extends BaseCustomTabActivity {
 
     @Override
     public void finishNativeInitialization() {
-        if (!mIntentDataProvider.isInfoPage()) {
-            FirstRunSignInProcessor.openSyncSettingsIfScheduled(this);
-            BackupSigninProcessor.start(this);
-        }
-
         mConnection.showSignInToastIfNecessary(mSession, getIntent());
 
         new CustomTabTrustedCdnPublisherUrlVisibility(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.init.AsyncInitializationActivity;
 import org.chromium.chrome.browser.metrics.UmaUtils;
 import org.chromium.chrome.browser.policy.PolicyServiceFactory;
 import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
-import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial;
 import org.chromium.components.policy.PolicyService;
 import org.chromium.components.signin.AccountManagerFacade;
 import org.chromium.components.signin.AccountManagerFacadeProvider;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java
@@ -96,9 +96,7 @@ public class LightweightFirstRunActivity
                     return;
                 }
 
-                boolean isChild = freProperties.getBoolean(
-                        SyncConsentFirstRunFragment.IS_CHILD_ACCOUNT, false);
-                initializeViews(isChild);
+                initializeViews(false);
             }
         };
         mFirstRunFlowSequencer.start();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java
@@ -126,12 +126,6 @@ public class TosAndUmaFirstRunFragmentWithEnterpriseSupport
         }
     }
 
-    @Override
-    protected boolean canShowUmaCheckBox() {
-        return super.canShowUmaCheckBox() && mSkipTosDialogPolicyListener.get() != null
-                && !mSkipTosDialogPolicyListener.get();
-    }
-
     @Override
     public void onShowLoadingUIComplete() {
         mLoadingSpinnerContainer.setVisibility(View.VISIBLE);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryContentManager.java
@@ -36,8 +36,6 @@ import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.preferences.PrefChangeRegistrar;
 import org.chromium.chrome.browser.preferences.PrefChangeRegistrar.PrefObserver;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
@@ -58,7 +56,7 @@ import java.util.List;
 /**
  * Displays and manages the content view / list UI for browsing history.
  */
-public class HistoryContentManager implements SignInStateObserver, PrefObserver {
+public class HistoryContentManager implements PrefObserver {
     /**
      * Interface for a class that wants to receive updates from this Manager.
      */
@@ -229,11 +227,6 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
         mHistoryAdapter.generateHeaderItems();
         mHistoryAdapter.generateFooterItems();
 
-        // Listen to changes in sign in state.
-        IdentityServicesProvider.get()
-                .getSigninManager(Profile.getLastUsedRegularProfile())
-                .addSignInStateObserver(this);
-
         // Create PrefChangeRegistrar to receive notifications on preference changes.
         mPrefChangeRegistrar = new PrefChangeRegistrar();
         mPrefChangeRegistrar.addObserver(Pref.ALLOW_DELETING_BROWSER_HISTORY, this);
@@ -267,9 +260,6 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
         mHistoryAdapter.onDestroyed();
         mLargeIconBridge.destroy();
         mLargeIconBridge = null;
-        IdentityServicesProvider.get()
-                .getSigninManager(Profile.getLastUsedRegularProfile())
-                .removeSignInStateObserver(this);
         mPrefChangeRegistrar.destroy();
     }
 
@@ -499,22 +489,9 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
         mHistoryAdapter.removeHeader();
     }
 
-    @Override
-    public void onSignedIn() {
-        mObserver.onUserAccountStateChanged();
-        mHistoryAdapter.onSignInStateChange();
-    }
-
-    @Override
-    public void onSignedOut() {
-        mObserver.onUserAccountStateChanged();
-        mHistoryAdapter.onSignInStateChange();
-    }
-
     @Override
     public void onPreferenceChange() {
         mObserver.onUserAccountStateChanged();
-        mHistoryAdapter.onSignInStateChange();
     }
 
     /**
@@ -555,4 +532,4 @@ public class HistoryContentManager implements SignInStateObserver, PrefObserver
     public static void setScrollToLoadDisabledForTesting(boolean isScrollToLoadDisabled) {
         sIsScrollToLoadDisabledForTests = isScrollToLoadDisabled;
     }
-}
\ No newline at end of file
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java
@@ -23,8 +23,6 @@ import org.chromium.chrome.browser.ntp.NewTabPage;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.settings.MainSettings;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.ProfileDataCache;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tasks.ReturnToChromeUtil;
 import org.chromium.chrome.browser.toolbar.ButtonData;
@@ -39,9 +37,6 @@ import org.chromium.components.feature_engagement.EventConstants;
 import org.chromium.components.feature_engagement.FeatureConstants;
 import org.chromium.components.feature_engagement.Tracker;
 import org.chromium.components.signin.base.CoreAccountInfo;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.identitymanager.IdentityManager;
-import org.chromium.components.signin.identitymanager.PrimaryAccountChangeEvent;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -50,8 +45,7 @@ import java.lang.annotation.RetentionPolicy;
  * Handles displaying IdentityDisc on toolbar depending on several conditions
  * (user sign-in state, whether NTP is shown)
  */
-public class IdentityDiscController implements NativeInitObserver, ProfileDataCache.Observer,
-                                               IdentityManager.Observer, ButtonDataProvider {
+public class IdentityDiscController implements NativeInitObserver, ButtonDataProvider {
     // Visual state of Identity Disc.
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({IdentityDiscState.NONE, IdentityDiscState.SMALL, IdentityDiscState.LARGE})
@@ -73,15 +67,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
     private final ObservableSupplier<Profile> mProfileSupplier;
     private final Callback<Profile> mProfileSupplierObserver = this::setProfile;
 
-    // We observe IdentityManager to receive primary account state change notifications.
-    private IdentityManager mIdentityManager;
-
-    // ProfileDataCache facilitates retrieving profile picture. Separate objects are maintained
-    // for different visual states to cache profile pictures of different size.
-    // mProfileDataCache[IdentityDiscState.NONE] should always be null since in this state
-    // Identity Disc is not visible.
-    private ProfileDataCache mProfileDataCache[] = new ProfileDataCache[IdentityDiscState.MAX];
-
     // Identity disc visibility state.
     @IdentityDiscState
     private int mState = IdentityDiscState.NONE;
@@ -201,16 +186,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
      * IdentityDiscController for profile data updates.
      */
     private void ensureProfileDataCache(String accountName, @IdentityDiscState int state) {
-        if (state == IdentityDiscState.NONE || mProfileDataCache[state] != null) return;
-
-        @DimenRes
-        int dimension_id =
-                (state == IdentityDiscState.SMALL) ? R.dimen.toolbar_identity_disc_size
-                                                   : R.dimen.toolbar_identity_disc_size_duet;
-        ProfileDataCache profileDataCache =
-                ProfileDataCache.createWithoutBadge(mContext, dimension_id);
-        profileDataCache.addObserver(this);
-        mProfileDataCache[state] = profileDataCache;
     }
 
     /**
@@ -218,7 +193,7 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
      */
     private Drawable getProfileImage(String accountName) {
         assert mState != IdentityDiscState.NONE;
-        return mProfileDataCache[mState].getProfileDataOrDefault(accountName).getImage();
+        return null;
     }
 
     /**
@@ -226,13 +201,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
      * when sign-in state changes.
      */
     private void resetIdentityDiscCache() {
-        for (int i = 0; i < IdentityDiscState.MAX; i++) {
-            if (mProfileDataCache[i] != null) {
-                assert i != IdentityDiscState.NONE;
-                mProfileDataCache[i].removeObserver(this);
-                mProfileDataCache[i] = null;
-            }
-        }
     }
 
     private void notifyObservers(boolean hint) {
@@ -241,47 +209,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
         }
     }
 
-    /**
-     * Called after profile image becomes available. Updates the image on toolbar button.
-     */
-    @Override
-    public void onProfileDataUpdated(String accountEmail) {
-        if (mState == IdentityDiscState.NONE) return;
-        assert mProfileDataCache[mState] != null;
-
-        if (accountEmail.equals(CoreAccountInfo.getEmailFrom(getSignedInAccountInfo()))) {
-            /**
-             * We need to call {@link notifyObservers(false)} before caling
-             * {@link notifyObservers(true)}. This is because {@link notifyObservers(true)} has been
-             * called in {@link setProfile()}, and without calling {@link notifyObservers(false)},
-             * the ObservableSupplierImpl doesn't propagate the call. See https://cubug.com/1137535.
-             */
-            notifyObservers(false);
-            notifyObservers(true);
-        }
-    }
-
-    /**
-     * Implements {@link IdentityManager.Observer}.
-     *
-     * IdentityDisc should be shown as long as the user is signed in. Whether the user is syncing
-     * or not should not matter.
-     */
-    @Override
-    public void onPrimaryAccountChanged(PrimaryAccountChangeEvent eventDetails) {
-        switch (eventDetails.getEventTypeFor(ConsentLevel.SIGNIN)) {
-            case PrimaryAccountChangeEvent.Type.SET:
-                resetIdentityDiscCache();
-                notifyObservers(true);
-                break;
-            case PrimaryAccountChangeEvent.Type.CLEARED:
-                notifyObservers(false);
-                break;
-            case PrimaryAccountChangeEvent.Type.NONE:
-                break;
-        }
-    }
-
     /**
      * Call to tear down dependencies.
      */
@@ -292,18 +219,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
             mActivityLifecycleDispatcher = null;
         }
 
-        for (int i = 0; i < IdentityDiscState.MAX; i++) {
-            if (mProfileDataCache[i] != null) {
-                mProfileDataCache[i].removeObserver(this);
-                mProfileDataCache[i] = null;
-            }
-        }
-
-        if (mIdentityManager != null) {
-            mIdentityManager.removeObserver(this);
-            mIdentityManager = null;
-        }
-
         if (mNativeIsInitialized) {
             mProfileSupplier.removeObserver(mProfileSupplierObserver);
         }
@@ -326,9 +241,7 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
      * @return account info for the current profile. Returns null for OTR profile.
      */
     private CoreAccountInfo getSignedInAccountInfo() {
-        return mIdentityManager != null
-                ? mIdentityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN)
-                : null;
+        return null;
     }
 
     /**
@@ -336,16 +249,5 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa
      * mIdentityManager is updated with the profile, as set to null if profile is off-the-record.
      */
     private void setProfile(Profile profile) {
-        if (mIdentityManager != null) {
-            mIdentityManager.removeObserver(this);
-        }
-
-        if (profile.isOffTheRecord()) {
-            mIdentityManager = null;
-        } else {
-            mIdentityManager = IdentityServicesProvider.get().getIdentityManager(profile);
-            mIdentityManager.addObserver(this);
-            notifyObservers(true);
-        }
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.language.GlobalAppLocaleController;
 import org.chromium.chrome.browser.metrics.UmaUtils;
-import org.chromium.chrome.browser.signin.SigninCheckerProvider;
 import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
 import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
 import org.chromium.components.crash.browser.ChildProcessCrashObserver;
@@ -366,7 +365,6 @@ public class ChromeBrowserInitializer {
             LibraryPrefetcher.asyncPrefetchLibrariesToMemory();
             getBrowserStartupController().startBrowserProcessesSync(
                     LibraryProcessType.PROCESS_BROWSER, /*singleProcess=*/false);
-            SigninCheckerProvider.get();
         } finally {
             TraceEvent.end("ChromeBrowserInitializer.startChromeBrowserProcessesSync");
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -81,7 +81,6 @@ import org.chromium.chrome.browser.query_tiles.QueryTileUtils;
 import org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider;
 import org.chromium.chrome.browser.rlz.RevenueStats;
 import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
-import org.chromium.chrome.browser.signin.SigninCheckerProvider;
 import org.chromium.chrome.browser.tab.state.PersistedTabData;
 import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
 import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
@@ -99,8 +98,6 @@ import org.chromium.components.content_capture.PlatformContentCaptureController;
 import org.chromium.components.embedder_support.util.UrlUtilities;
 import org.chromium.components.minidump_uploader.CrashFileManager;
 import org.chromium.components.optimization_guide.proto.HintsProto;
-import org.chromium.components.signin.AccountManagerFacadeImpl;
-import org.chromium.components.signin.AccountManagerFacadeProvider;
 import org.chromium.components.version_info.Channel;
 import org.chromium.components.version_info.VersionConstants;
 import org.chromium.components.version_info.VersionInfo;
@@ -186,11 +183,6 @@ public class ProcessInitializationHandler {
 
         Context application = ContextUtils.getApplicationContext();
 
-        // Initialize the AccountManagerFacade with the correct AccountManagerDelegate. Must be done
-        // only once and before AccountManagerFacadeProvider.getInstance() is invoked.
-        AccountManagerFacadeProvider.setInstance(
-                new AccountManagerFacadeImpl(AppHooks.get().createAccountManagerDelegate()));
-
         // For ANR uploading - we set the version number so that when we ask Android for our ANRs,
         // it can also give us the version it happened on. This helps in the case that before we can
         // report the ANR, our app gets updated.
@@ -388,7 +380,6 @@ public class ProcessInitializationHandler {
         deferredStartupHandler.addDeferredTask(new Runnable() {
             @Override
             public void run() {
-                SigninCheckerProvider.get().onMainActivityStart();
                 RevenueStats.getInstance();
             }
         });
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -14,24 +14,11 @@ import org.chromium.chrome.browser.invalidation.SessionsInvalidationManager;
 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSession;
 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionTab;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.ProfileDataCache;
-import org.chromium.chrome.browser.signin.services.SigninManager;
-import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tabmodel.TabModel;
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
 import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback;
-import org.chromium.chrome.browser.ui.signin.PersonalizedSigninPromoView;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController.SyncPromoState;
-import org.chromium.components.signin.AccountManagerFacadeProvider;
-import org.chromium.components.signin.AccountsChangeObserver;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.metrics.SigninAccessPoint;
 import org.chromium.url.GURL;
 
 import java.util.HashMap;
@@ -41,8 +28,7 @@ import java.util.Map;
 /**
  * Provides the domain logic and data for RecentTabsPage and RecentTabsRowAdapter.
  */
-public class RecentTabsManager implements SyncService.SyncStateChangedListener, SignInStateObserver,
-                                          ProfileDataCache.Observer, AccountsChangeObserver {
+public class RecentTabsManager {
     /**
      * Implement this to receive updates when the page contents change.
      */
@@ -63,21 +49,15 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
     private final Runnable mShowHistoryManager;
 
     private TabModel mTabModel;
-    private @SyncPromoState int mPromoState = SyncPromoState.NO_PROMO;
     private FaviconHelper mFaviconHelper;
     private ForeignSessionHelper mForeignSessionHelper;
     private List<ForeignSession> mForeignSessions;
     private List<RecentlyClosedEntry> mRecentlyClosedEntries;
     private RecentTabsPagePrefs mPrefs;
     private RecentlyClosedTabManager mRecentlyClosedTabManager;
-    private SigninManager mSignInManager;
     private UpdatedCallback mUpdatedCallback;
     private boolean mIsDestroyed;
 
-    private final ProfileDataCache mProfileDataCache;
-    private final SyncPromoController mSyncPromoController;
-    private final SyncService mSyncService;
-
     /**
      * Maps Session IDs to whether that entry was restored split by entry type. These are used to
      * record historgrams on {@link #destroy()} to measure restore ratio. Cached Session IDs are
@@ -108,12 +88,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
         mRecentlyClosedTabManager = sRecentlyClosedTabManagerForTests != null
                 ? sRecentlyClosedTabManagerForTests
                 : new RecentlyClosedBridge(profile, tabModelSelector);
-        mSignInManager = IdentityServicesProvider.get().getSigninManager(mProfile);
-
-        mProfileDataCache = ProfileDataCache.createWithDefaultImageSizeAndNoBadge(context);
-        mSyncPromoController = new SyncPromoController(
-                SigninAccessPoint.RECENT_TABS, SyncConsentActivityLauncherImpl.get());
-        mSyncService = SyncService.get();
 
         mRecentlyClosedTabManager.setEntriesUpdatedRunnable(this::updateRecentlyClosedEntries);
         updateRecentlyClosedEntries();
@@ -122,12 +96,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
         updateForeignSessions();
         mForeignSessionHelper.triggerSessionSync();
 
-        mSyncService.addSyncStateChangedListener(this);
-        mSignInManager.addSignInStateObserver(this);
-        mProfileDataCache.addObserver(this);
-        AccountManagerFacadeProvider.getInstance().addObserver(this);
-        updatePromoState();
-
         SessionsInvalidationManager.get(mProfile).onRecentTabsPageOpened();
     }
 
@@ -165,14 +133,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
         recordEntries("Group", mGroupSessionIdsRestored);
         recordEntries("Bulk", mBulkSessionIdsRestored);
 
-        mSyncService.removeSyncStateChangedListener(this);
-
-        mSignInManager.removeSignInStateObserver(this);
-        mSignInManager = null;
-
-        mProfileDataCache.removeObserver(this);
-        AccountManagerFacadeProvider.getInstance().removeObserver(this);
-
         mFaviconHelper.destroy();
         mFaviconHelper = null;
 
@@ -391,97 +351,13 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
         mRecentlyClosedTabManager.clearRecentlyClosedEntries();
     }
 
-    /**
-     * Collapse the promo.
-     *
-     * @param isCollapsed Whether the promo is collapsed.
-     */
-    public void setPromoCollapsed(boolean isCollapsed) {
-        if (mIsDestroyed) return;
-        mPrefs.setSyncPromoCollapsed(isCollapsed);
-    }
-
     /**
      * Determine whether the promo is collapsed.
      *
      * @return Whether the promo is collapsed.
      */
     public boolean isPromoCollapsed() {
-        return mPrefs.getSyncPromoCollapsed();
-    }
-
-    /** Returns the current promo state. */
-    @SyncPromoState
-    int getPromoState() {
-        return mPromoState;
-    }
-
-    private @SyncPromoState int calculatePromoState() {
-        if (!mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SYNC)) {
-            if (!mSignInManager.isSyncOptInAllowed()) {
-                return SyncPromoState.NO_PROMO;
-            }
-            if (mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SIGNIN)) {
-                return SyncPromoState.PROMO_FOR_SIGNED_IN_STATE;
-            }
-            return SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE;
-        }
-
-        if (mSyncService.isSyncRequested() && !mForeignSessions.isEmpty()) {
-            return SyncPromoState.NO_PROMO;
-        }
-        return SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE;
-    }
-
-    private void updatePromoState() {
-        final @SyncPromoState int newState = calculatePromoState();
-        if (newState == mPromoState) return;
-
-        final boolean hasSyncPromoStateChangedtoShown =
-                (mPromoState == SyncPromoState.NO_PROMO
-                        || mPromoState == SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE)
-                && (newState == SyncPromoState.PROMO_FOR_SIGNED_IN_STATE
-                        || newState == SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE);
-        if (hasSyncPromoStateChangedtoShown) {
-            mSyncPromoController.increasePromoShowCount();
-        }
-        mPromoState = newState;
-    }
-
-    /**
-     * Sets up the sync promo view.
-     */
-    void setUpSyncPromoView(PersonalizedSigninPromoView view) {
-        mSyncPromoController.setUpSyncPromoView(mProfileDataCache, view, null);
-    }
-
-    // SignInStateObserver implementation.
-    @Override
-    public void onSignedIn() {
-        update();
-    }
-
-    @Override
-    public void onSignedOut() {
-        update();
-    }
-
-    // AccountsChangeObserver implementation.
-    @Override
-    public void onAccountsChanged() {
-        update();
-    }
-
-    // ProfileDataCache.Observer implementation.
-    @Override
-    public void onProfileDataUpdated(String accountEmail) {
-        update();
-    }
-
-    // SyncService.SyncStateChangedListener implementation.
-    @Override
-    public void syncStateChanged() {
-        update();
+        return true;
     }
 
     private void onUpdateDone() {
@@ -491,7 +367,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
     }
 
     private void update() {
-        updatePromoState();
         if (mIsDestroyed) return;
         updateForeignSessions();
         onUpdateDone();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsRowAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsRowAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsRowAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsRowAdapter.java
@@ -30,11 +30,9 @@ import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSession;
 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionTab;
 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionWindow;
-import org.chromium.chrome.browser.signin.SyncPromoView;
 import org.chromium.chrome.browser.ui.favicon.FaviconHelper.DefaultFaviconHelper;
 import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback;
 import org.chromium.chrome.browser.ui.favicon.FaviconUtils;
-import org.chromium.chrome.browser.ui.signin.SyncPromoController.SyncPromoState;
 import org.chromium.components.browser_ui.styles.SemanticColorUtils;
 import org.chromium.components.browser_ui.widget.RoundedIconGenerator;
 import org.chromium.components.embedder_support.util.UrlUtilities;
@@ -422,12 +420,11 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter {
 
         @Override
         void setCollapsed(boolean isCollapsed) {
-            mRecentTabsManager.setPromoCollapsed(isCollapsed);
         }
 
         @Override
         boolean isCollapsed() {
-            return mRecentTabsManager.isPromoCollapsed();
+            return true;
         }
     }
 
@@ -452,13 +449,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter {
         @Override
         View getChildView(
                 int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
-            if (convertView == null) {
-                LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
-                convertView =
-                        layoutInflater.inflate(R.layout.sync_promo_view_recent_tabs, parent, false);
-            }
-            mRecentTabsManager.setUpSyncPromoView(
-                    convertView.findViewById(R.id.signin_promo_view_container));
             return convertView;
         }
     }
@@ -475,9 +465,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter {
         @Override
         View getChildView(
                 int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
-            if (convertView == null) {
-                convertView = SyncPromoView.create(parent, SigninAccessPoint.RECENT_TABS);
-            }
             return convertView;
         }
     }
@@ -913,22 +900,6 @@ public class RecentTabsRowAdapter extends BaseExpandableListAdapter {
             addGroup(new ForeignSessionGroup(session));
         }
 
-        switch (mRecentTabsManager.getPromoState()) {
-            case SyncPromoState.NO_PROMO:
-                break;
-            case SyncPromoState.PROMO_FOR_SIGNED_OUT_STATE:
-                addGroup(new PersonalizedSyncPromoGroup(ChildType.PERSONALIZED_SIGNIN_PROMO));
-                break;
-            case SyncPromoState.PROMO_FOR_SIGNED_IN_STATE:
-                addGroup(new PersonalizedSyncPromoGroup(ChildType.PERSONALIZED_SYNC_PROMO));
-                break;
-            case SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE:
-                addGroup(new SyncPromoGroup());
-                break;
-            default:
-                assert false : "Unexpected value for promo type!";
-        }
-
         // Add separator line after the recently closed tabs group.
         int recentlyClosedIndex = mGroups.indexOf(mRecentlyClosedTabsGroup);
         if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
@@ -25,7 +25,6 @@ import org.chromium.chrome.browser.omnibox.voice.AssistantVoiceSearchService;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
 import org.chromium.components.externalauth.ExternalAuthUtils;
 import org.chromium.components.signin.AccountManagerFacadeProvider;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/RequestGenerator.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/RequestGenerator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/RequestGenerator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/RequestGenerator.java
@@ -39,9 +39,6 @@ public abstract class RequestGenerator {
 
     protected RequestGenerator(Context context) {
         mApplicationContext = context.getApplicationContext();
-        UniqueIdentificationGeneratorFactory.registerGenerator(
-                SettingsSecureBasedIdentificationGenerator.GENERATOR_ID,
-                new SettingsSecureBasedIdentificationGenerator(getContext()), false);
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AccountChooserDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AccountChooserDialog.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AccountChooserDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AccountChooserDialog.java
@@ -128,7 +128,7 @@ public class AccountChooserDialog
                 Drawable avatar = credential.getAvatar();
                 if (avatar == null) {
                     avatar = AppCompatResources.getDrawable(
-                            getContext(), R.drawable.logo_avatar_anonymous);
+                            getContext(), R.drawable.ic_help_and_feedback);
                 }
                 avatarView.setImageDrawable(avatar);
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AutoSigninSnackbarController.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AutoSigninSnackbarController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AutoSigninSnackbarController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/AutoSigninSnackbarController.java
@@ -47,7 +47,7 @@ public class AutoSigninSnackbarController implements SnackbarManager.SnackbarCon
         Snackbar snackbar = Snackbar.make(
                 text, snackbarController, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_AUTO_LOGIN);
         int backgroundColor = SemanticColorUtils.getDefaultControlColorActive(activity);
-        Drawable icon = AppCompatResources.getDrawable(activity, R.drawable.logo_avatar_anonymous);
+        Drawable icon = AppCompatResources.getDrawable(activity, R.drawable.ic_help_and_feedback);
         snackbar.setSingleLine(false)
                 .setBackgroundColor(backgroundColor)
                 .setProfileImage(icon)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
@@ -11,7 +11,6 @@ import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.base.supplier.ObservableSupplierImpl;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.ui.base.WindowAndroid;
 import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -32,16 +31,8 @@ public class PasswordManagerLauncher {
     public static void showPasswordSettings(Activity activity,
             @ManagePasswordsReferrer int referrer,
             ObservableSupplier<ModalDialogManager> modalDialogManagerSupplier) {
-        SyncService syncService = SyncService.get();
-        if (syncService.isEngineInitialized()
-                && PasswordManagerHelper.hasChosenToSyncPasswordsWithNoCustomPassphrase(syncService)
-                && (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_SCRIPTS_FETCHING)
-                        || ChromeFeatureList.isEnabled(
-                                ChromeFeatureList.PASSWORD_DOMAIN_CAPABILITIES_FETCHING))) {
-            PasswordScriptsFetcherBridge.prewarmCache();
-        }
         PasswordManagerHelper.showPasswordSettings(activity, referrer, new SettingsLauncherImpl(),
-                syncService, modalDialogManagerSupplier);
+                modalDialogManagerSupplier);
     }
 
     @CalledByNative
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -40,8 +40,6 @@ import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.sync.SyncService;
-import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
 import org.chromium.components.browser_ui.settings.ChromeBasePreference;
 import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
 import org.chromium.components.browser_ui.settings.SearchUtils;
@@ -63,7 +61,7 @@ import java.util.Locale;
  */
 public class PasswordSettings extends PreferenceFragmentCompat
         implements PasswordManagerHandler.PasswordListObserver,
-                   Preference.OnPreferenceClickListener, SyncService.SyncStateChangedListener {
+                   Preference.OnPreferenceClickListener {
     @IntDef({TrustedVaultBannerState.NOT_SHOWN, TrustedVaultBannerState.OFFER_OPT_IN,
             TrustedVaultBannerState.OPTED_IN})
     @Retention(RetentionPolicy.SOURCE)
@@ -156,10 +154,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
         setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getStyledContext()));
         PasswordManagerHandlerProvider.getInstance().addObserver(this);
 
-        if (SyncService.get() != null) {
-            SyncService.get().addSyncStateChangedListener(this);
-        }
-
         setHasOptionsMenu(true); // Password Export might be optional but Search is always present.
 
         mManagePasswordsReferrer = getReferrerFromInstanceStateOrLaunchBundle(savedInstanceState);
@@ -465,9 +459,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
     public void onDestroy() {
         super.onDestroy();
 
-        if (SyncService.get() != null) {
-            SyncService.get().removeSyncStateChangedListener(this);
-        }
         // The component should only be destroyed when the activity has been closed by the user
         // (e.g. by pressing on the back button) and not when the activity is temporarily destroyed
         // by the system.
@@ -585,34 +576,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
     }
 
     private void displayManageAccountLink() {
-        SyncService syncService = SyncService.get();
-        if (syncService == null || !syncService.isEngineInitialized()) {
-            return;
-        }
-        if (!PasswordManagerHelper.isSyncingPasswordsWithNoCustomPassphrase(SyncService.get())) {
-            return;
-        }
-        if (mSearchQuery != null && !mNoPasswords) {
-            return; // Don't add the Manage Account link if there is a search going on.
-        }
-        if (getPreferenceScreen().findPreference(PREF_KEY_MANAGE_ACCOUNT_LINK) != null) {
-            return; // Don't add the Manage Account link if it's present.
-        }
-        if (mLinkPref != null) {
-            // If we created the link before, reuse it.
-            getPreferenceScreen().addPreference(mLinkPref);
-            return;
-        }
-        ForegroundColorSpan colorSpan =
-                new ForegroundColorSpan(SemanticColorUtils.getDefaultTextColorLink(getContext()));
-        SpannableString title = SpanApplier.applySpans(getString(R.string.manage_passwords_text),
-                new SpanApplier.SpanInfo("<link>", "</link>", colorSpan));
-        mLinkPref = new ChromeBasePreference(getStyledContext());
-        mLinkPref.setKey(PREF_KEY_MANAGE_ACCOUNT_LINK);
-        mLinkPref.setTitle(title);
-        mLinkPref.setOnPreferenceClickListener(this);
-        mLinkPref.setOrder(ORDER_MANAGE_ACCOUNT_LINK);
-        getPreferenceScreen().addPreference(mLinkPref);
     }
 
     private Context getStyledContext() {
@@ -623,43 +586,11 @@ public class PasswordSettings extends PreferenceFragmentCompat
         return UserPrefs.get(Profile.getLastUsedRegularProfile());
     }
 
-    @Override
-    public void syncStateChanged() {
-        final @TrustedVaultBannerState int oldTrustedVaultBannerState = mTrustedVaultBannerState;
-        computeTrustedVaultBannerState();
-        if (oldTrustedVaultBannerState != mTrustedVaultBannerState) {
-            rebuildPasswordLists();
-        }
-    }
-
     private void computeTrustedVaultBannerState() {
-        final SyncService syncService = SyncService.get();
-        if (syncService == null) {
-            mTrustedVaultBannerState = TrustedVaultBannerState.NOT_SHOWN;
-            return;
-        }
-        if (!syncService.isEngineInitialized()) {
-            // Can't call getPassphraseType() yet.
             mTrustedVaultBannerState = TrustedVaultBannerState.NOT_SHOWN;
-            return;
-        }
-        if (syncService.getPassphraseType() == PassphraseType.TRUSTED_VAULT_PASSPHRASE) {
-            mTrustedVaultBannerState = TrustedVaultBannerState.OPTED_IN;
-            return;
-        }
-        if (syncService.shouldOfferTrustedVaultOptIn()) {
-            mTrustedVaultBannerState = TrustedVaultBannerState.OFFER_OPT_IN;
-            return;
-        }
-        mTrustedVaultBannerState = TrustedVaultBannerState.NOT_SHOWN;
     }
 
     private boolean openTrustedVaultOptInDialog(Preference unused) {
-        assert SyncService.get() != null;
-        CoreAccountInfo accountInfo = SyncService.get().getAccountInfo();
-        assert accountInfo != null;
-        SyncSettingsUtils.openTrustedVaultOptInDialog(
-                this, accountInfo, REQUEST_CODE_TRUSTED_VAULT_OPT_IN);
         // Return true to notify the click was handled.
         return true;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.OptionSecti
 import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.SectionSeparator;
 import org.chromium.chrome.browser.payments.ui.PaymentUiService.PaymentUisShowStateReconciler;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.autofill.EditableOption;
 import org.chromium.components.autofill.prefeditor.EditorObserverForTest;
 import org.chromium.components.browser_ui.widget.FadingEdgeScrollView;
@@ -1132,16 +1131,7 @@ public class PaymentRequestUI implements DimmingDialog.OnDismissListener, View.O
      */
     @Nullable
     private String getSignedInUsersEmail() {
-        if (mProfile.isOffTheRecord()) {
-            return null;
-        }
-
-        IdentityManager identityManager =
-                IdentityServicesProvider.get().getIdentityManager(mProfile);
-        if (identityManager == null) return null;
-        CoreAccountInfo info = identityManager.getPrimaryAccountInfo(ConsentLevel.SYNC);
-        if (info == null) return null;
-        return info.getEmail();
+        return null;
     }
 
     private Callback<SectionInformation> createUpdateSectionCallback(@DataType final int type) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -29,9 +29,6 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragmen
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
 import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
-import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
 import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
 import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
 import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -52,7 +49,6 @@ public class PrivacySettings
     private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
     private static final String PREF_SECURE_DNS = "secure_dns";
     private static final String PREF_DO_NOT_TRACK = "do_not_track";
-    private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
     private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
     private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
     private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
@@ -113,36 +109,9 @@ public class PrivacySettings
         Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
         secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
 
-        Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
-        syncAndServicesLink.setSummary(buildSyncAndServicesLink());
-
         updatePreferences();
     }
 
-    private SpannableString buildSyncAndServicesLink() {
-        SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
-        NoUnderlineClickableSpan servicesLink = new NoUnderlineClickableSpan(getContext(), v -> {
-            settingsLauncher.launchSettingsActivity(getActivity(), GoogleServicesSettings.class);
-        });
-        if (IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .getPrimaryAccountInfo(ConsentLevel.SYNC)
-                == null) {
-            // Sync is off, show the string with one link to "Google Services".
-            return SpanApplier.applySpans(
-                    getString(R.string.privacy_sync_and_services_link_sync_off),
-                    new SpanApplier.SpanInfo("<link>", "</link>", servicesLink));
-        }
-        // Otherwise, show the string with both links to "Sync" and "Google Services".
-        NoUnderlineClickableSpan syncLink = new NoUnderlineClickableSpan(getContext(), v -> {
-            settingsLauncher.launchSettingsActivity(getActivity(), ManageSyncSettings.class,
-                    ManageSyncSettings.createArguments(false));
-        });
-        return SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link_sync_on),
-                new SpanApplier.SpanInfo("<link1>", "</link1>", syncLink),
-                new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
-    }
-
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         String key = preference.getKey();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
@@ -4,7 +4,6 @@
 
 package org.chromium.chrome.browser.settings;
 
-import static org.chromium.chrome.browser.password_manager.PasswordManagerHelper.hasChosenToSyncPasswords;
 import static org.chromium.chrome.browser.password_manager.PasswordManagerHelper.usesUnifiedPasswordManagerBranding;
 import static org.chromium.chrome.browser.password_manager.PasswordManagerHelper.usesUnifiedPasswordManagerUI;
 
@@ -40,27 +39,14 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.SigninManager;
-import org.chromium.chrome.browser.sync.SyncService;
-import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
-import org.chromium.chrome.browser.sync.settings.SignInPreference;
-import org.chromium.chrome.browser.sync.settings.SyncPromoPreference;
-import org.chromium.chrome.browser.sync.settings.SyncPromoPreference.State;
-import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
 import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarStatePredictor;
 import org.chromium.chrome.browser.tracing.settings.DeveloperSettings;
-import org.chromium.chrome.browser.ui.signin.TangibleSyncCoordinator;
 import org.chromium.components.browser_ui.settings.ChromeBasePreference;
 import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
 import org.chromium.components.browser_ui.settings.SettingsLauncher;
 import org.chromium.components.browser_ui.settings.SettingsUtils;
 import org.chromium.components.search_engines.TemplateUrl;
 import org.chromium.components.search_engines.TemplateUrlService;
-import org.chromium.components.signin.base.CoreAccountInfo;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.metrics.SigninAccessPoint;
 import org.chromium.components.user_prefs.UserPrefs;
 import org.chromium.ui.modaldialog.ModalDialogManager;
 import org.chromium.ui.text.SpanApplier;
@@ -73,14 +59,10 @@ import java.util.Map;
  * The main settings screen, shown when the user first opens Settings.
  */
 public class MainSettings extends PreferenceFragmentCompat
-        implements TemplateUrlService.LoadListener, SyncService.SyncStateChangedListener,
-                   SigninManager.SignInStateObserver {
-    public static final String PREF_SYNC_PROMO = "sync_promo";
+        implements TemplateUrlService.LoadListener {
     public static final String PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION =
             "account_and_google_services_section";
     public static final String PREF_SIGN_IN = "sign_in";
-    public static final String PREF_MANAGE_SYNC = "manage_sync";
-    public static final String PREF_GOOGLE_SERVICES = "google_services";
     public static final String PREF_SEARCH_ENGINE = "search_engine";
     public static final String PREF_PASSWORDS = "passwords";
     public static final String PREF_HOMEPAGE = "homepage";
@@ -98,9 +80,6 @@ public class MainSettings extends PreferenceFragmentCompat
 
     private final ManagedPreferenceDelegate mManagedPreferenceDelegate;
     private final Map<String, Preference> mAllPreferences = new HashMap<>();
-    private SyncPromoPreference mSyncPromoPreference;
-    private SignInPreference mSignInPreference;
-    private ChromeBasePreference mManageSync;
     private @Nullable PasswordCheck mPasswordCheck;
     private ObservableSupplier<ModalDialogManager> mModalDialogManagerSupplier;
 
@@ -138,34 +117,6 @@ public class MainSettings extends PreferenceFragmentCompat
         if (getActivity().isFinishing() && mPasswordCheck != null) PasswordCheckFactory.destroy();
     }
 
-    @Override
-    public void onStart() {
-        super.onStart();
-        SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
-        if (signinManager.isSigninSupported()) {
-            signinManager.addSignInStateObserver(this);
-        }
-        SyncService syncService = SyncService.get();
-        if (syncService != null) {
-            syncService.addSyncStateChangedListener(this);
-        }
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
-        if (signinManager.isSigninSupported()) {
-            signinManager.removeSignInStateObserver(this);
-        }
-        SyncService syncService = SyncService.get();
-        if (syncService != null) {
-            syncService.removeSyncStateChangedListener(this);
-        }
-    }
-
     @Override
     public void onResume() {
         super.onResume();
@@ -177,8 +128,6 @@ public class MainSettings extends PreferenceFragmentCompat
 
         cachePreferences();
 
-        mSyncPromoPreference.setOnStateChangedCallback(this::onSyncPromoPreferenceStateChanged);
-
         updatePasswordsPreference();
 
         if (usesUnifiedPasswordManagerUI()) {
@@ -233,9 +182,6 @@ public class MainSettings extends PreferenceFragmentCompat
             Preference preference = getPreferenceScreen().getPreference(index);
             mAllPreferences.put(preference.getKey(), preference);
         }
-        mSyncPromoPreference = (SyncPromoPreference) mAllPreferences.get(PREF_SYNC_PROMO);
-        mSignInPreference = (SignInPreference) mAllPreferences.get(PREF_SIGN_IN);
-        mManageSync = (ChromeBasePreference) findPreference(PREF_MANAGE_SYNC);
     }
 
     private void setManagedPreferenceDelegateForPreference(String key) {
@@ -244,15 +190,6 @@ public class MainSettings extends PreferenceFragmentCompat
     }
 
     private void updatePreferences() {
-        if (IdentityServicesProvider.get()
-                        .getSigninManager(Profile.getLastUsedRegularProfile())
-                        .isSigninSupported()) {
-            addPreferenceIfAbsent(PREF_SIGN_IN);
-        } else {
-            removePreferenceIfPresent(PREF_SIGN_IN);
-        }
-
-        updateManageSyncPreference();
         updateSearchEnginePreference();
         updatePasswordsPreference();
 
@@ -286,41 +223,6 @@ public class MainSettings extends PreferenceFragmentCompat
         if (preference != null) getPreferenceScreen().removePreference(preference);
     }
 
-    private void updateManageSyncPreference() {
-        String primaryAccountName = CoreAccountInfo.getEmailFrom(
-                IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .getPrimaryAccountInfo(ConsentLevel.SIGNIN));
-        boolean showManageSync = primaryAccountName != null;
-        mManageSync.setVisible(showManageSync);
-        if (!showManageSync) return;
-
-        boolean isSyncConsentAvailable =
-                IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .getPrimaryAccountInfo(ConsentLevel.SYNC)
-                != null;
-        mManageSync.setIcon(SyncSettingsUtils.getSyncStatusIcon(getActivity()));
-        mManageSync.setSummary(SyncSettingsUtils.getSyncStatusSummary(getActivity()));
-        mManageSync.setOnPreferenceClickListener(pref -> {
-            Context context = getContext();
-            if (SyncService.get().isSyncDisabledByEnterprisePolicy()) {
-                SyncSettingsUtils.showSyncDisabledByAdministratorToast(context);
-            } else if (isSyncConsentAvailable) {
-                SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
-                settingsLauncher.launchSettingsActivity(context, ManageSyncSettings.class);
-            } else if (ChromeFeatureList.isEnabled(ChromeFeatureList.TANGIBLE_SYNC)) {
-                TangibleSyncCoordinator.start(requireContext(), mModalDialogManagerSupplier.get(),
-                        SyncConsentActivityLauncherImpl.get(),
-                        SigninAccessPoint.SETTINGS_SYNC_OFF_ROW);
-            } else {
-                SyncConsentActivityLauncherImpl.get().launchActivityForPromoDefaultFlow(
-                        context, SigninAccessPoint.SETTINGS_SYNC_OFF_ROW, primaryAccountName);
-            }
-            return true;
-        });
-    }
-
     private void updateSearchEnginePreference() {
         if (!TemplateUrlServiceFactory.get().isLoaded()) {
             ChromeBasePreference searchEnginePref =
@@ -357,9 +259,7 @@ public class MainSettings extends PreferenceFragmentCompat
     }
 
     private boolean shouldShowNewLabelForPasswordsPreference() {
-        return usesUnifiedPasswordManagerUI() && hasChosenToSyncPasswords(SyncService.get())
-                && !UserPrefs.get(Profile.getLastUsedRegularProfile())
-                            .getBoolean(Pref.PASSWORDS_PREF_WITH_NEW_LABEL_USED);
+        return false;
     }
 
     // TODO(crbug.com/1217070): remove this method once UPM feature is rolled out.
@@ -390,37 +290,6 @@ public class MainSettings extends PreferenceFragmentCompat
         pref.setSummary(isOn ? R.string.text_on : R.string.text_off);
     }
 
-    // SigninManager.SignInStateObserver implementation.
-    @Override
-    public void onSignedIn() {
-        // After signing in or out of a managed account, preferences may change or become enabled
-        // or disabled.
-        new Handler().post(() -> updatePreferences());
-    }
-
-    @Override
-    public void onSignedOut() {
-        updatePreferences();
-    }
-
-    private void onSyncPromoPreferenceStateChanged() {
-        if (ChromeFeatureList.isEnabled(ChromeFeatureList.SYNC_ANDROID_PROMOS_WITH_ILLUSTRATION)
-                || ChromeFeatureList.isEnabled(
-                        ChromeFeatureList.SYNC_ANDROID_PROMOS_WITH_SINGLE_BUTTON)
-                || ChromeFeatureList.isEnabled(ChromeFeatureList.SYNC_ANDROID_PROMOS_WITH_TITLE)) {
-            // For promo experiments, we want to have mSignInPreference and
-            // PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION visible even if the personalized promo is
-            // shown, so skip setting the visibility.
-            return;
-        }
-        // Remove "Account" section header if the personalized sign-in promo is shown.
-        boolean isShowingPersonalizedSigninPromo =
-                mSyncPromoPreference.getState() == State.PERSONALIZED_SIGNIN_PROMO;
-        findPreference(PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION)
-                .setVisible(!isShowingPersonalizedSigninPromo);
-        mSignInPreference.setIsShowingPersonalizedSigninPromo(isShowingPersonalizedSigninPromo);
-    }
-
     // TemplateUrlService.LoadListener implementation.
     @Override
     public void onTemplateUrlServiceLoaded() {
@@ -428,12 +297,6 @@ public class MainSettings extends PreferenceFragmentCompat
         updateSearchEnginePreference();
     }
 
-    @Override
-    public void syncStateChanged() {
-        updateManageSyncPreference();
-        updatePasswordsPreference();
-    }
-
     @VisibleForTesting
     public ManagedPreferenceDelegate getManagedPreferenceDelegateForTest() {
         return mManagedPreferenceDelegate;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -56,11 +56,7 @@ import org.chromium.chrome.browser.privacy_sandbox.FlocSettingsFragment;
 import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFragment;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
-import org.chromium.chrome.browser.safety_check.SafetyCheckCoordinator;
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
-import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
 import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
-import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
 import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
 import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
 import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
@@ -369,11 +365,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
             fragmentHelpAndFeedbackLauncher.setHelpAndFeedbackLauncher(
                     HelpAndFeedbackLauncherImpl.getInstance());
         }
-        if (fragment instanceof SafetyCheckSettingsFragment) {
-            SafetyCheckCoordinator.create((SafetyCheckSettingsFragment) fragment,
-                    new SafetyCheckUpdatesDelegateImpl(this), mSettingsLauncher,
-                    SyncConsentActivityLauncherImpl.get(), getModalDialogManagerSupplier());
-        }
         if (fragment instanceof PasswordCheckFragmentView) {
             PasswordCheckComponentUiFactory.create((PasswordCheckFragmentView) fragment,
                     HelpAndFeedbackLauncherImpl.getInstance(), mSettingsLauncher,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/crow/CrowButtonDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/share/crow/CrowButtonDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/crow/CrowButtonDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/crow/CrowButtonDelegateImpl.java
@@ -19,7 +19,6 @@ import org.chromium.chrome.browser.language.AppLocaleUtils;
 import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridgeFactory;
 import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.UnifiedConsentServiceBridge;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
@@ -216,9 +215,7 @@ public class CrowButtonDelegateImpl implements CrowButtonDelegate {
 
     private boolean areMetricsEnabled() {
         // Require UMA and "Make searches and browsing better" to be enabled.
-        return (PrivacyPreferencesManagerImpl.getInstance().isUsageAndCrashReportingPermitted()
-                && UnifiedConsentServiceBridge.isUrlKeyedAnonymizedDataCollectionEnabled(
-                        Profile.getLastUsedRegularProfile()));
+        return false;
     }
 
     @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java b/chrome/android/java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java
@@ -275,7 +275,7 @@ public class ChromeSurveyController implements InfoBarAnimationListener {
                             .with(MessageBannerProperties.TITLE,
                                     resources.getString(R.string.chrome_survey_message_title))
                             .with(MessageBannerProperties.ICON_RESOURCE_ID,
-                                    R.drawable.chrome_sync_logo)
+                                    R.drawable.ic_help_and_feedback)
                             .with(MessageBannerProperties.ICON_TINT_COLOR,
                                     MessageBannerProperties.TINT_NONE)
                             .with(MessageBannerProperties.PRIMARY_BUTTON_TEXT,
@@ -350,7 +350,7 @@ public class ChromeSurveyController implements InfoBarAnimationListener {
             InfoBarContainer.get(tab).addAnimationListener(this);
 
             SurveyInfoBar.showSurveyInfoBar(
-                    tab.getWebContents(), R.drawable.chrome_sync_logo, getSurveyInfoBarDelegate());
+                    tab.getWebContents(), R.drawable.ic_help_and_feedback, getSurveyInfoBarDelegate());
 
             RecordUserAction.record("Android.Survey.ShowSurveyInfoBar");
         }
@@ -363,7 +363,7 @@ public class ChromeSurveyController implements InfoBarAnimationListener {
      */
     private void showSurvey(String siteId) {
         SurveyController.getInstance().showSurveyIfAvailable(
-                mActivity, siteId, true, R.drawable.chrome_sync_logo, mLifecycleDispatcher);
+                mActivity, siteId, true, R.drawable.ic_help_and_feedback, mLifecycleDispatcher);
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -83,7 +83,6 @@ import org.chromium.chrome.browser.share.ShareDelegate;
 import org.chromium.chrome.browser.share.crow.CrowButtonDelegateImpl;
 import org.chromium.chrome.browser.share.crow.CrowIphController;
 import org.chromium.chrome.browser.share.link_to_text.LinkToTextIPHController;
-import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
 import org.chromium.chrome.browser.status_indicator.StatusIndicatorCoordinator;
 import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsService;
 import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
@@ -106,7 +105,6 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
 import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler;
 import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoUtils;
 import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
-import org.chromium.chrome.browser.ui.signin.FullScreenSyncPromoUtil;
 import org.chromium.chrome.browser.ui.system.StatusBarColorController.StatusBarColorProvider;
 import org.chromium.chrome.browser.ui.tablet.emptybackground.EmptyBackgroundViewWrapper;
 import org.chromium.chrome.browser.vr.VrModuleProvider;
@@ -915,23 +913,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
         }
     }
 
-    private boolean maybeShowPromo() {
-        // Only one promo can be shown in one run to avoid nagging users too much.
-        if (FullScreenSyncPromoUtil.launchPromoIfNeeded(mActivity,
-                    SyncConsentActivityLauncherImpl.get(), VersionInfo.getProductMajorVersion())) {
-            return true;
-        }
-        if (DefaultBrowserPromoUtils.prepareLaunchPromoIfNeeded(
-                    mActivity, mWindowAndroid, false /* ignoreMaxCount */)) {
-            return true;
-        }
-        if (AppLanguagePromoDialog.maybeShowPrompt(mActivity, mModalDialogManagerSupplier,
-                    () -> ApplicationLifetime.terminate(true))) {
-            return true;
-        }
-        return LanguageAskPrompt.maybeShowLanguageAskPrompt(mActivity, mModalDialogManagerSupplier);
-    }
-
     @VisibleForTesting
     public static void setDisableStatusIndicatorAnimationsForTesting(boolean disable) {
         sDisableStatusIndicatorAnimations = disable;
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2018,7 +2018,6 @@ static_library("browser") {
     "//chrome/browser/share",
     "//chrome/browser/sharing:buildflags",
     "//chrome/browser/sharing/proto",
-    "//chrome/browser/signin:identity_manager_provider",
     "//chrome/browser/storage_access_api:permissions",
     "//chrome/browser/thumbnail",
     "//chrome/browser/touch_to_fill",
@@ -2840,8 +2839,6 @@ static_library("browser") {
       "android/signin/fre_mobile_identity_consistency_field_trial.h",
       "android/signin/signin_bridge.cc",
       "android/signin/signin_bridge.h",
-      "android/signin/signin_manager_android.cc",
-      "android/signin/signin_manager_android.h",
       "android/signin/signin_metrics_utils.cc",
       "android/signin/unified_consent_service_bridge.cc",
       "android/signin/web_signin_bridge.cc",
@@ -3259,8 +3256,6 @@ static_library("browser") {
       "sharing/sms/sms_fetch_request_handler.h",
       "shell_integration_android.cc",
       "signin/identity_services_provider_android.cc",
-      "signin/signin_manager_android_factory.cc",
-      "signin/signin_manager_android_factory.h",
       "ssl/chrome_security_state_client.cc",
       "ssl/chrome_security_state_client.h",
       "ssl/chrome_security_state_model_delegate.cc",
@@ -4619,10 +4614,6 @@ static_library("browser") {
         "profiles/profile_statistics_factory.h",
         "signin/force_signin_verifier.cc",
         "signin/force_signin_verifier.h",
-        "signin/signin_manager.cc",
-        "signin/signin_manager.h",
-        "signin/signin_manager_factory.cc",
-        "signin/signin_manager_factory.h",
         "upgrade_detector/get_installed_version.cc",
         "upgrade_detector/get_installed_version.h",
         "upgrade_detector/installed_version_monitor.h",
diff --git a/chrome/browser/android/signin/fre_mobile_identity_consistency_field_trial.cc b/chrome/browser/android/signin/fre_mobile_identity_consistency_field_trial.cc
--- a/chrome/browser/android/signin/fre_mobile_identity_consistency_field_trial.cc
+++ b/chrome/browser/android/signin/fre_mobile_identity_consistency_field_trial.cc
@@ -5,28 +5,19 @@
 #include "chrome/browser/android/signin/fre_mobile_identity_consistency_field_trial.h"
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
-#include "chrome/browser/signin/services/android/jni_headers/FREMobileIdentityConsistencyFieldTrial_jni.h"
 
 namespace fre_mobile_identity_consistency_field_trial {
 
 std::string GetFREFieldTrialGroup() {
-  JNIEnv* env = base::android::AttachCurrentThread();
-  base::android::ScopedJavaLocalRef<jstring> group =
-      Java_FREMobileIdentityConsistencyFieldTrial_getFirstRunTrialGroup(env);
-  return base::android::ConvertJavaStringToUTF8(env, group);
+  return std::string();
 }
 
 bool IsFREFieldTrialEnabled() {
-  JNIEnv* env = base::android::AttachCurrentThread();
-  return Java_FREMobileIdentityConsistencyFieldTrial_isEnabled(env);
+  return false;
 }
 
 std::string GetFREVariationsFieldTrialGroup() {
-  JNIEnv* env = base::android::AttachCurrentThread();
-  base::android::ScopedJavaLocalRef<jstring> group =
-      Java_FREMobileIdentityConsistencyFieldTrial_getFirstRunVariationsTrialGroup(
-          env);
-  return base::android::ConvertJavaStringToUTF8(env, group);
+  return std::string();
 }
 
 }  // namespace fre_mobile_identity_consistency_field_trial
diff --git a/chrome/browser/commerce/android/BUILD.gn b/chrome/browser/commerce/android/BUILD.gn
--- a/chrome/browser/commerce/android/BUILD.gn
+++ b/chrome/browser/commerce/android/BUILD.gn
@@ -22,8 +22,6 @@ android_library("java") {
     "//chrome/browser/notifications:java",
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
-    "//chrome/browser/signin/services/android:java",
-    "//chrome/browser/sync/android:java",
     "//components/browser_ui/notifications/android:java",
     "//components/browser_ui/settings/android:java",
     "//components/commerce/core/android:core_java",
diff --git a/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/PriceNotificationPreferenceFragment.java b/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/PriceNotificationPreferenceFragment.java
--- a/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/PriceNotificationPreferenceFragment.java
+++ b/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/PriceNotificationPreferenceFragment.java
@@ -20,14 +20,12 @@ import org.chromium.chrome.browser.notifications.channels.ChromeChannelDefinitio
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.preferences.PrefChangeRegistrar;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.browser_ui.notifications.NotificationManagerProxy;
 import org.chromium.components.browser_ui.notifications.NotificationManagerProxyImpl;
 import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
 import org.chromium.components.browser_ui.settings.SettingsUtils;
 import org.chromium.components.browser_ui.settings.TextMessagePreference;
 import org.chromium.components.prefs.PrefService;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
 import org.chromium.components.user_prefs.UserPrefs;
 import org.chromium.ui.text.NoUnderlineClickableSpan;
 import org.chromium.ui.text.SpanApplier;
@@ -64,12 +62,8 @@ public class PriceNotificationPreferenceFragment extends PreferenceFragmentCompa
         mEmailNotificationsSwitch =
                 (ChromeSwitchPreference) findPreference(PREF_EMAIL_NOTIFICATIONS);
         mEmailNotificationsSwitch.setOnPreferenceChangeListener(this::onPreferenceChange);
-        String email = IdentityServicesProvider.get()
-                               .getIdentityManager(Profile.getLastUsedRegularProfile())
-                               .getPrimaryAccountInfo(ConsentLevel.SYNC)
-                               .getEmail();
         mEmailNotificationsSwitch.setSummary(
-                getString(R.string.price_notifications_settings_email_description, email));
+                getString(R.string.price_notifications_settings_email_description, "nobody@example.com"));
         mPrefChangeRegistrar.addObserver(
                 Pref.PRICE_EMAIL_NOTIFICATIONS_ENABLED, this::updateEmailNotificationSwitch);
         updateEmailNotificationSwitch();
diff --git a/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java b/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java
--- a/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java
+++ b/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java
@@ -4,39 +4,22 @@
 
 package org.chromium.chrome.browser.commerce;
 
-import org.chromium.base.FeatureList;
-import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.preferences.Pref;
-import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.UnifiedConsentServiceBridge;
-import org.chromium.components.prefs.PrefService;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.user_prefs.UserPrefs;
-
 /** Self-documenting feature class for shopping.  */
 public class ShoppingFeatures {
     /** Returns whether shopping is enabled. */
     public static boolean isShoppingListEnabled() {
-        return FeatureList.isInitialized()
-                && ChromeFeatureList.isEnabled(ChromeFeatureList.SHOPPING_LIST) && isSignedIn()
-                && isAnonymizedUrlDataCollectionEnabled() && isWebAndAppActivityEnabled();
+        return false;
     }
 
     private static boolean isSignedIn() {
-        return IdentityServicesProvider.get()
-                .getIdentityManager(Profile.getLastUsedRegularProfile())
-                .hasPrimaryAccount(ConsentLevel.SYNC);
+        return false;
     }
 
     private static boolean isAnonymizedUrlDataCollectionEnabled() {
-        return UnifiedConsentServiceBridge.isUrlKeyedAnonymizedDataCollectionEnabled(
-                Profile.getLastUsedRegularProfile());
+        return false;
     }
 
     private static boolean isWebAndAppActivityEnabled() {
-        PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
-        return prefService != null
-                && prefService.getBoolean(Pref.WEB_AND_APP_ACTIVITY_ENABLED_FOR_SHOPPING);
+        return false;
     }
-}
\ No newline at end of file
+}
diff --git a/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java b/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java
--- a/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java
+++ b/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java
@@ -81,14 +81,11 @@ public class PriceTrackingFeatures {
     }
 
     private static boolean isSignedIn() {
-        return IdentityServicesProvider.get()
-                .getIdentityManager(Profile.getLastUsedRegularProfile())
-                .hasPrimaryAccount(ConsentLevel.SYNC);
+        return false;
     }
 
     private static boolean isAnonymizedUrlDataCollectionEnabled() {
-        return UnifiedConsentServiceBridge.isUrlKeyedAnonymizedDataCollectionEnabled(
-                Profile.getLastUsedRegularProfile());
+        return false;
     }
 
     @VisibleForTesting
@@ -142,4 +139,4 @@ public class PriceTrackingFeatures {
         }
         return isPriceTrackingEligible();
     }
-}
\ No newline at end of file
+}
diff --git a/chrome/browser/commerce/subscriptions/android/BUILD.gn b/chrome/browser/commerce/subscriptions/android/BUILD.gn
--- a/chrome/browser/commerce/subscriptions/android/BUILD.gn
+++ b/chrome/browser/commerce/subscriptions/android/BUILD.gn
@@ -35,7 +35,6 @@ android_library("subscriptions_java") {
     "//chrome/browser/flags:java",
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
-    "//chrome/browser/signin/services/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/tabmodel:java",
     "//components/prefs/android:java",
diff --git a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsMetrics.java b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsMetrics.java
--- a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsMetrics.java
+++ b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsMetrics.java
@@ -10,10 +10,8 @@ import androidx.annotation.VisibleForTesting;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.subscriptions.CommerceSubscription.SubscriptionManagementType;
 import org.chromium.components.prefs.PrefService;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
 import org.chromium.components.user_prefs.UserPrefs;
 
 import java.lang.annotation.Retention;
@@ -90,9 +88,7 @@ public class CommerceSubscriptionsMetrics {
     }
 
     private boolean isSignedIn() {
-        return IdentityServicesProvider.get()
-                .getIdentityManager(Profile.getLastUsedRegularProfile())
-                .hasPrimaryAccount(ConsentLevel.SYNC);
+        return false;
     }
 
     private boolean isWebAndAppActivityEnabled() {
diff --git a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java
--- a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java
+++ b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/CommerceSubscriptionsService.java
@@ -14,8 +14,6 @@ import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManager;
 import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
 import org.chromium.chrome.browser.subscriptions.CommerceSubscription.CommerceSubscriptionType;
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
-import org.chromium.components.signin.identitymanager.IdentityManager;
-import org.chromium.components.signin.identitymanager.PrimaryAccountChangeEvent;
 
 import java.util.concurrent.TimeUnit;
 
@@ -28,8 +26,6 @@ public class CommerceSubscriptionsService {
             ChromePreferenceKeys.COMMERCE_SUBSCRIPTIONS_CHROME_MANAGED_TIMESTAMP;
 
     private final SubscriptionsManagerImpl mSubscriptionManager;
-    private final IdentityManager mIdentityManager;
-    private final IdentityManager.Observer mIdentityManagerObserver;
     private final SharedPreferencesManager mSharedPreferencesManager;
     private final PriceDropNotificationManager mPriceDropNotificationManager;
     private final CommerceSubscriptionsMetrics mMetrics;
@@ -39,17 +35,8 @@ public class CommerceSubscriptionsService {
 
     /** Creates a new instance. */
     CommerceSubscriptionsService(SubscriptionsManagerImpl subscriptionsManager,
-            IdentityManager identityManager,
             PriceDropNotificationManager priceDropNotificationManager) {
         mSubscriptionManager = subscriptionsManager;
-        mIdentityManager = identityManager;
-        mIdentityManagerObserver = new IdentityManager.Observer() {
-            @Override
-            public void onPrimaryAccountChanged(PrimaryAccountChangeEvent eventDetails) {
-                mSubscriptionManager.onIdentityChanged();
-            }
-        };
-        mIdentityManager.addObserver(mIdentityManagerObserver);
         mSharedPreferencesManager = SharedPreferencesManager.getInstance();
         mPriceDropNotificationManager = priceDropNotificationManager;
         mMetrics = new CommerceSubscriptionsMetrics();
@@ -86,7 +73,6 @@ public class CommerceSubscriptionsService {
      * Cleans up internal resources. Currently this method calls SubscriptionsManagerImpl#destroy.
      */
     public void destroy() {
-        mIdentityManager.removeObserver(mIdentityManagerObserver);
         if (mActivityLifecycleDispatcher != null) {
             mActivityLifecycleDispatcher.unregister(mPauseResumeWithNativeObserver);
         }
diff --git a/chrome/browser/commerce/subscriptions/android/java_sources.gni b/chrome/browser/commerce/subscriptions/android/java_sources.gni
--- a/chrome/browser/commerce/subscriptions/android/java_sources.gni
+++ b/chrome/browser/commerce/subscriptions/android/java_sources.gni
@@ -9,5 +9,4 @@ commerce_subscriptions_java_sources = [ "//chrome/browser/commerce/subscriptions
 commerce_subscriptions_java_deps = [
   "//base:base_java",
   "//chrome/browser/profiles/android:java",
-  "//chrome/browser/signin/services/android:java",
 ]
diff --git a/chrome/browser/feed/android/BUILD.gn b/chrome/browser/feed/android/BUILD.gn
--- a/chrome/browser/feed/android/BUILD.gn
+++ b/chrome/browser/feed/android/BUILD.gn
@@ -102,7 +102,6 @@ android_library("java") {
     "//chrome/browser/privacy:java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/share:java",
-    "//chrome/browser/signin/services/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/ui/android/appmenu:java",
     "//chrome/browser/ui/android/native_page:java",
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
@@ -13,9 +13,7 @@ import org.chromium.chrome.browser.feed.componentinterfaces.SurfaceCoordinator.S
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.prefs.PrefService;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
 import org.chromium.components.user_prefs.UserPrefs;
 import org.chromium.ui.base.DeviceFormFactor;
 
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedServiceBridge.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedServiceBridge.java
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedServiceBridge.java
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedServiceBridge.java
@@ -188,7 +188,7 @@ public final class FeedServiceBridge {
      *         requested).
      */
     public static boolean isSignedIn() {
-        return FeedServiceBridgeJni.get().isSignedIn();
+        return false;
     }
 
     /** Observes whether or not the Feed stream contains unread content */
diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/android/BUILD.gn
--- a/chrome/browser/feedback/android/BUILD.gn
+++ b/chrome/browser/feedback/android/BUILD.gn
@@ -56,7 +56,6 @@ android_library("java") {
     "//base:jni_java",
     "//build/android:build_java",
     "//chrome/browser/profiles/android:java",
-    "//chrome/browser/signin/services/android:java",
     "//components/browser_ui/util/android:java",
     "//components/signin/public/android:java",
     "//components/variations/android:variations_java",
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java
@@ -20,10 +20,7 @@ import org.chromium.base.ThreadUtils;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.task.PostTask;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.signin.base.CoreAccountInfo;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
-import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.content_public.browser.UiThreadTaskTraits;
 
 import java.util.HashMap;
@@ -67,12 +64,6 @@ public abstract class FeedbackCollector<T> implements Runnable {
         //    account.
         mSynchronousSources = buildSynchronousFeedbackSources(activity, initParams);
         mAsynchronousSources = buildAsynchronousFeedbackSources(initParams);
-        IdentityManager identityManager =
-                IdentityServicesProvider.get().getIdentityManager(profile);
-        if (identityManager != null) {
-            mAccountInUse = CoreAccountInfo.getEmailFrom(
-                    identityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN));
-        }
 
         // Sanity check in case a source is added to the wrong list.
         for (FeedbackSource source : mSynchronousSources) {
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
@@ -17,7 +17,7 @@ import java.lang.annotation.RetentionPolicy;
 @IntDef({
         MobileFreProgress.STARTED,
         MobileFreProgress.WELCOME_SHOWN,
-        MobileFreProgress.DEPRECATED_DATA_SAVER_SHOWN,
+        MobileFreProgress.DEPRECATED_DATA_SAVER_SHOWN_DISABLED,
         MobileFreProgress.SYNC_CONSENT_SHOWN,
         MobileFreProgress.SYNC_CONSENT_ACCEPTED,
         MobileFreProgress.SYNC_CONSENT_DISMISSED,
@@ -33,7 +33,7 @@ import java.lang.annotation.RetentionPolicy;
 public @interface MobileFreProgress {
     int STARTED = 0;
     int WELCOME_SHOWN = 1;
-    int DEPRECATED_DATA_SAVER_SHOWN = 2;
+    int DEPRECATED_DATA_SAVER_SHOWN_DISABLED = 2;
     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/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
@@ -57,7 +57,6 @@ if (!is_android) {
       "//chrome/browser/media/router/discovery:discovery",
       "//chrome/browser/media/router/discovery/access_code:discovery_resources_proto",
       "//chrome/browser/profiles:profile",
-      "//chrome/browser/signin:identity_manager_provider",
       "//chrome/browser/ui/webui/access_code_cast:mojo_bindings",
       "//components/access_code_cast/common",
       "//components/endpoint_fetcher:endpoint_fetcher",
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -97,8 +97,6 @@ android_library("java") {
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/settings:java",
-    "//chrome/browser/signin/services/android:java",
-    "//chrome/browser/sync/android:java",
     "//components/browser_ui/notifications/android:java",
     "//components/browser_ui/settings/android:java",
     "//components/browser_ui/widget/android:java_resources",
@@ -209,8 +207,6 @@ robolectric_binary("password_manager_junit_tests") {
     "//chrome/browser/loading_modal/android:java",
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
-    "//chrome/browser/signin/services/android:java",
-    "//chrome/browser/sync/android:java",
     "//chrome/test/android:chrome_java_unit_test_support",
     "//components/browser_ui/settings/android:java",
     "//components/password_manager/core/browser:password_manager_java_enums",
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java
@@ -16,11 +16,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.prefs.PrefService;
-import org.chromium.components.signin.AccountManagerFacadeProvider;
-import org.chromium.components.signin.base.CoreAccountInfo;
-import org.chromium.components.signin.identitymanager.ConsentLevel;
 import org.chromium.components.user_prefs.UserPrefs;
 import org.chromium.ui.base.WindowAndroid;
 
@@ -49,15 +45,6 @@ public class PasswordManagerErrorMessageHelperBridge {
      */
     @CalledByNative
     static boolean shouldShowErrorUi() {
-        Profile profile = Profile.getLastUsedRegularProfile();
-        final CoreAccountInfo primaryAccountInfo =
-                IdentityServicesProvider.get().getIdentityManager(profile).getPrimaryAccountInfo(
-                        ConsentLevel.SIGNIN);
-        // It is possible that the account is removed from Chrome between the password manager
-        // calling the Google Play Services backend and Chrome receiving the reply. In that
-        // case, the error is no longer relevant/fixable.
-        if (primaryAccountInfo == null) return false;
-
         if (ChromeFeatureList.getFieldTrialParamByFeatureAsBoolean(
                     ChromeFeatureList.UNIFIED_PASSWORD_MANAGER_ERROR_MESSAGES,
                     "ignore_auth_error_message_timeouts", false)) {
@@ -91,18 +78,5 @@ public class PasswordManagerErrorMessageHelperBridge {
      */
     @CalledByNative
     static void startUpdateAccountCredentialsFlow(WindowAndroid windowAndroid) {
-        Profile profile = Profile.getLastUsedRegularProfile();
-        final CoreAccountInfo primaryAccountInfo =
-                IdentityServicesProvider.get().getIdentityManager(profile).getPrimaryAccountInfo(
-                        ConsentLevel.SIGNIN);
-        // If the account has been removed before calling this method, there are no credentials to
-        // update.
-        if (primaryAccountInfo == null) return;
-        final Activity activity = windowAndroid.getActivity().get();
-        AccountManagerFacadeProvider.getInstance().updateCredentials(
-                CoreAccountInfo.getAndroidAccountFrom(primaryAccountInfo), activity, (success) -> {
-                    RecordHistogram.recordBooleanHistogram(
-                            "PasswordManager.UPMUpdateSignInCredentialsSucces", success);
-                });
     }
 }
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
@@ -20,7 +20,6 @@ import android.os.SystemClock;
 import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
 
-import com.google.android.gms.common.GoogleApiAvailability;
 import com.google.common.base.Optional;
 
 import org.chromium.base.Callback;
@@ -33,7 +32,6 @@ import org.chromium.chrome.browser.password_manager.CredentialManagerLauncher.Cr
 import org.chromium.chrome.browser.password_manager.PasswordCheckupClientHelper.PasswordCheckBackendException;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.components.browser_ui.settings.SettingsLauncher;
 import org.chromium.components.prefs.PrefService;
 import org.chromium.components.signin.base.CoreAccountInfo;
@@ -139,19 +137,8 @@ public class PasswordManagerHelper {
      * @param context used to show the UI to manage passwords.
      */
     public static void showPasswordSettings(Context context, @ManagePasswordsReferrer int referrer,
-            SettingsLauncher settingsLauncher, SyncService syncService,
+            SettingsLauncher settingsLauncher,
             ObservableSupplier<ModalDialogManager> modalDialogManagerSupplier) {
-        RecordHistogram.recordEnumeratedHistogram("PasswordManager.ManagePasswordsReferrer",
-                referrer, ManagePasswordsReferrer.MAX_VALUE + 1);
-
-        if (canUseUpm()) {
-            LoadingModalDialogCoordinator loadingDialogCoordinator =
-                    LoadingModalDialogCoordinator.create(modalDialogManagerSupplier, context);
-            launchTheCredentialManager(referrer, syncService, loadingDialogCoordinator,
-                    modalDialogManagerSupplier, context);
-            return;
-        }
-
         Bundle fragmentArgs = new Bundle();
         fragmentArgs.putInt(MANAGE_PASSWORDS_REFERRER, referrer);
         context.startActivity(settingsLauncher.createSettingsActivityIntent(
@@ -172,13 +159,7 @@ public class PasswordManagerHelper {
      * @return True if Unified Password Manager can be used, false otherwise.
      */
     public static boolean canUseUpm() {
-        SyncService syncService = SyncService.get();
-        PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
-        return PasswordManagerHelper.usesUnifiedPasswordManagerUI() && syncService != null
-                && hasChosenToSyncPasswords(syncService)
-                && !prefService.getBoolean(
-                        Pref.UNENROLLED_FROM_GOOGLE_MOBILE_SERVICES_DUE_TO_ERRORS)
-                && PasswordManagerBackendSupportHelper.getInstance().isBackendPresent();
+        return false;
     }
 
     /**
@@ -191,19 +172,7 @@ public class PasswordManagerHelper {
      *         loading dialog.
      */
     public static void showPasswordCheckup(Context context, @PasswordCheckReferrer int referrer,
-            SyncService syncService,
             ObservableSupplier<ModalDialogManager> modalDialogManagerSupplier) {
-        assert canUseUpm();
-
-        Optional<String> account = hasChosenToSyncPasswords(syncService)
-                ? Optional.of(CoreAccountInfo.getEmailFrom(syncService.getAccountInfo()))
-                : Optional.absent();
-
-        LoadingModalDialogCoordinator loadingDialogCoordinator =
-                LoadingModalDialogCoordinator.create(modalDialogManagerSupplier, context);
-
-        launchPasswordCheckup(
-                referrer, account, loadingDialogCoordinator, modalDialogManagerSupplier, context);
     }
 
     /**
@@ -283,49 +252,6 @@ public class PasswordManagerHelper {
                 });
     }
 
-    /**
-     *  Checks whether the sync feature is enabled and the user has chosen to sync passwords.
-     *  Note that this doesn't mean that passwords are actively syncing.
-     *
-     * @param syncService the service to query about the sync status.
-     * @return true if syncing passwords is enabled
-     */
-    public static boolean hasChosenToSyncPasswords(SyncService syncService) {
-        return syncService != null && syncService.isSyncFeatureEnabled()
-                && syncService.getSelectedTypes().contains(UserSelectableType.PASSWORDS);
-    }
-
-    /**
-     *  Checks whether the sync feature is enabled, the user has chosen to sync passwords and
-     *  they haven't set up a custom passphrase.
-     *  The caller should make sure that the sync engine is initialized before calling this method.
-     *
-     *  Note that this doesn't mean that passwords are actively syncing.
-     *
-     * @param syncService the service to query about the sync status.
-     * @return true if syncing passwords is enabled without custom passphrase.
-     */
-    public static boolean hasChosenToSyncPasswordsWithNoCustomPassphrase(SyncService syncService) {
-        assert syncService.isEngineInitialized();
-        return PasswordManagerHelper.hasChosenToSyncPasswords(syncService)
-                && !syncService.isUsingExplicitPassphrase();
-    }
-
-    /**
-     * Checks whether the user is actively syncing passwords without a custom passphrase.
-     * The caller should make sure that the sync engine is initialized before calling this method.
-     *
-     * @param syncService the service to query about the sync status.
-     * @return true if actively syncing passwords and no custom passphrase was set.
-     */
-    public static boolean isSyncingPasswordsWithNoCustomPassphrase(SyncService syncService) {
-        assert syncService.isEngineInitialized();
-        if (syncService == null || !syncService.hasSyncConsent()) return false;
-        if (!syncService.getActiveDataTypes().contains(ModelType.PASSWORDS)) return false;
-        if (syncService.isUsingExplicitPassphrase()) return false;
-        return true;
-    }
-
     public static boolean usesUnifiedPasswordManagerUI() {
         if (!ChromeFeatureList.isEnabled(UNIFIED_PASSWORD_MANAGER_ANDROID)) return false;
         @UpmExperimentVariation
@@ -365,53 +291,12 @@ public class PasswordManagerHelper {
     }
 
     public static void launchGmsUpdate(Context context) {
-        Intent intent = new Intent(Intent.ACTION_VIEW);
-        String deepLinkUrl = "market://details?id="
-                + GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE + "&referrer=" + STORE_REFERER;
-
-        intent.setPackage("com.android.vending");
-        intent.setData(Uri.parse(deepLinkUrl));
-        intent.putExtra("callerId", context.getPackageName());
-
-        // Request for overlay flow, Play Store will fallback to the default
-        // behaviour if overlay is not available.
-        // TODO(crbug.com/1348506): Use AlleyOop v3 overlay UI after fixing Chrome restart
-        // during the GMS Core installation.
-        // intent.putExtra("overlay", true);
-
-        context.startActivity(intent);
     }
 
     @VisibleForTesting
     static void launchTheCredentialManager(@ManagePasswordsReferrer int referrer,
-            SyncService syncService, LoadingModalDialogCoordinator loadingDialogCoordinator,
+            LoadingModalDialogCoordinator loadingDialogCoordinator,
             ObservableSupplier<ModalDialogManager> modalDialogManagerSupplier, Context context) {
-        assert canUseUpm();
-
-        CredentialManagerLauncher credentialManagerLauncher;
-        try {
-            credentialManagerLauncher = getCredentialManagerLauncher();
-        } catch (CredentialManagerBackendException exception) {
-            if (exception.errorCode != CredentialManagerError.BACKEND_VERSION_NOT_SUPPORTED) return;
-
-            showGmsUpdateDialog(modalDialogManagerSupplier, context);
-            return;
-        }
-
-        loadingDialogCoordinator.show();
-
-        long startTimeMs = SystemClock.elapsedRealtime();
-        credentialManagerLauncher.getCredentialManagerIntentForAccount(referrer,
-                CoreAccountInfo.getEmailFrom(syncService.getAccountInfo()),
-                (intent)
-                        -> PasswordManagerHelper.launchCredentialManagerIntent(
-                                intent, startTimeMs, true, loadingDialogCoordinator),
-                (error) -> {
-                    PasswordManagerHelper.recordFailureMetrics(error, true);
-                    recordLoadingDialogMetrics(LOADING_DIALOG_CREDENTIAL_MANAGER_HISTOGRAM,
-                            loadingDialogCoordinator.getState());
-                    loadingDialogCoordinator.dismiss();
-                });
     }
 
     @VisibleForTesting
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
@@ -8,7 +8,6 @@ import com.google.android.gms.common.api.ApiException;
 
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.NativeMethods;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.components.signin.base.CoreAccountInfo;
 
 /**
@@ -40,12 +39,6 @@ class PasswordSyncControllerDelegateBridgeImpl {
      */
     @CalledByNative
     void notifyCredentialManagerWhenSyncing() {
-        mPasswordSyncControllerDelegate.notifyCredentialManagerWhenSyncing(
-                CoreAccountInfo.getEmailFrom(SyncService.get().getAccountInfo()), () -> {
-                    if (mNativeDelegateBridgeImpl == 0) return;
-                    PasswordSyncControllerDelegateBridgeImplJni.get().onCredentialManagerNotified(
-                            mNativeDelegateBridgeImpl);
-                }, exception -> handleCredentialManagerException(exception));
     }
 
     /**
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
@@ -11,7 +11,6 @@ if (is_android) {
       "//chrome/android:*",
       "//chrome/browser/feed/android:*",
       "//chrome/browser/ui/android/omnibox:*",
-      "//chrome/browser/ui/android/signin:*",
     ]
     sources = [
       "java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsBridge.java",
diff --git a/chrome/browser/privacy_guide/android/BUILD.gn b/chrome/browser/privacy_guide/android/BUILD.gn
--- a/chrome/browser/privacy_guide/android/BUILD.gn
+++ b/chrome/browser/privacy_guide/android/BUILD.gn
@@ -21,7 +21,6 @@ android_library("java") {
     ":java_resources",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/safe_browsing/android:java",
-    "//chrome/browser/signin/services/android:java",
     "//components/browser_ui/bottomsheet/android:java",
     "//components/browser_ui/site_settings/android:java",
     "//components/browser_ui/widget/android:java",
@@ -51,7 +50,6 @@ robolectric_library("junit") {
     "//base:base_junit_test_support",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/safe_browsing/android:java",
-    "//chrome/browser/signin/services/android:java",
     "//components/browser_ui/bottomsheet/android:java",
     "//components/browser_ui/site_settings/android:java",
     "//components/browser_ui/widget/android:java",
diff --git a/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_msbb_step.xml b/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_msbb_step.xml
--- a/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_msbb_step.xml
+++ b/chrome/browser/privacy_guide/android/java/res/layout/privacy_guide_msbb_step.xml
@@ -28,14 +28,6 @@ found in the LICENSE file.
             android:src="@drawable/privacy_guide_msbb_image"
             android:importantForAccessibility="no" />
 
-        <com.google.android.material.switchmaterial.SwitchMaterial
-            android:id="@+id/msbb_switch"
-            android:layout_marginHorizontal="16dp"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:showText="false"
-            android:text="@string/url_keyed_anonymized_data_title" />
-
         <org.chromium.chrome.browser.privacy_guide.PrivacyGuideExplanationHeading
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java
--- a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java
+++ b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java
@@ -13,7 +13,6 @@ import androidx.appcompat.widget.SwitchCompat;
 import androidx.fragment.app.Fragment;
 
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.UnifiedConsentServiceBridge;
 
 /**
  * Controls the behaviour of the MSBB privacy guide page.
@@ -27,13 +26,5 @@ public class MSBBFragment extends Fragment {
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
-        SwitchCompat msbbSwitch = view.findViewById(R.id.msbb_switch);
-        msbbSwitch.setChecked(UnifiedConsentServiceBridge.isUrlKeyedAnonymizedDataCollectionEnabled(
-                Profile.getLastUsedRegularProfile()));
-
-        msbbSwitch.setOnCheckedChangeListener(
-                (button, isChecked)
-                        -> UnifiedConsentServiceBridge.setUrlKeyedAnonymizedDataCollectionEnabled(
-                                Profile.getLastUsedRegularProfile(), isChecked));
     }
 }
diff --git a/chrome/browser/search_resumption/BUILD.gn b/chrome/browser/search_resumption/BUILD.gn
--- a/chrome/browser/search_resumption/BUILD.gn
+++ b/chrome/browser/search_resumption/BUILD.gn
@@ -27,8 +27,6 @@ android_library("java") {
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/search_engines/android:java",
-    "//chrome/browser/signin/services/android:java",
-    "//chrome/browser/sync/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/tabmodel:java",
     "//chrome/browser/ui/android/omnibox:java",
@@ -85,8 +83,6 @@ robolectric_library("junit") {
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/search_engines/android:java",
-    "//chrome/browser/signin/services/android:java",
-    "//chrome/browser/sync/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/ui/android/omnibox:java",
     "//chrome/test/android:chrome_java_unit_test_support",
diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java
--- a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java
+++ b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java
@@ -19,10 +19,6 @@ import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
 import org.chromium.chrome.browser.search_resumption.SearchResumptionModuleUtils.ModuleNotShownReason;
 import org.chromium.chrome.browser.search_resumption.SearchResumptionUserData.SuggestionResult;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.SigninManager;
-import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.components.metrics.OmniboxEventProtos.OmniboxEventProto.PageClassification;
 import org.chromium.components.omnibox.AutocompleteMatch;
@@ -36,15 +32,11 @@ import java.util.List;
 /**
  * This class holds querying search suggestions related business logic.
  */
-public class SearchResumptionModuleMediator implements OnSuggestionsReceivedListener,
-                                                       SignInStateObserver,
-                                                       SyncService.SyncStateChangedListener {
+public class SearchResumptionModuleMediator implements OnSuggestionsReceivedListener {
     private final ViewStub mStub;
     private final Tab mTabToTrackSuggestion;
     private final Tab mCurrentTab;
     private final SearchResumptionTileBuilder mTileBuilder;
-    private final SigninManager mSignInManager;
-    private final SyncService mSyncService;
     private AutocompleteController mAutoComplete;
     private PropertyModel mModel;
     // Set the default values of these variable true since all of them have been checked before
@@ -73,10 +65,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList
         } else {
             start(profile);
         }
-        mSignInManager = IdentityServicesProvider.get().getSigninManager(profile);
-        mSignInManager.addSignInStateObserver(this);
-        mSyncService = SyncService.get();
-        mSyncService.addSyncStateChangedListener(this);
         TemplateUrlServiceFactory.get().addObserver(this::onTemplateURLServiceChanged);
     }
 
@@ -95,27 +83,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList
                 autocompleteResult.getSuggestionsList(), false /* useCachedResults */);
     }
 
-    /**
-     * SyncService.SyncStateChangedListener implementation, listens to sync state changes.
-     */
-    @Override
-    public void syncStateChanged() {
-        mHasKeepEverythingSynced = mSyncService.hasKeepEverythingSynced();
-        updateVisibility();
-    }
-
-    @Override
-    public void onSignedIn() {
-        mIsSignedIn = true;
-        updateVisibility();
-    }
-
-    @Override
-    public void onSignedOut() {
-        mIsSignedIn = false;
-        updateVisibility();
-    }
-
     /**
      * Called when the search suggestions are available using the new service API.
      * @param suggestionTexts The display texts of the suggestions.
@@ -176,8 +143,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList
             mSearchResumptionModuleBridge.destroy();
         }
         TemplateUrlServiceFactory.get().removeObserver(this::onTemplateURLServiceChanged);
-        mSignInManager.removeSignInStateObserver(this);
-        mSyncService.removeSyncStateChangedListener(this);
     }
 
     /**
diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java
--- a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java
+++ b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java
@@ -17,8 +17,6 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
 import org.chromium.chrome.browser.search_resumption.SearchResumptionUserData.SuggestionResult;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.sync.SyncService;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
 import org.chromium.chrome.browser.tabmodel.TabModel;
@@ -132,16 +130,6 @@ public class SearchResumptionModuleUtils {
             return false;
         }
 
-        if (!IdentityServicesProvider.get().getIdentityManager(profile).hasPrimaryAccount(
-                    ConsentLevel.SYNC)) {
-            recordModuleNotShownReason(ModuleNotShownReason.NOT_SIGN_IN);
-            return false;
-        }
-
-        if (!SyncService.get().hasKeepEverythingSynced()) {
-            recordModuleNotShownReason(ModuleNotShownReason.NOT_SYNC);
-            return false;
-        }
         return true;
     }
 
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java
@@ -23,7 +23,6 @@ import org.chromium.chrome.R;
 import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.browser_ui.widget.RoundedCornerImageView;
 import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.components.signin.base.AccountInfo;
@@ -73,32 +72,18 @@ public class ManageAccountDevicesLinkView extends LinearLayout {
         LayoutInflater.from(getContext())
                 .inflate(R.layout.send_tab_to_self_manage_devices_link, this);
 
-        AccountInfo account = getSharingAccountInfo();
-        assert account != null;
-
-        // The avatar can be null in tests.
-        if (account.getAccountImage() != null) {
-            RoundedCornerImageView avatarView = findViewById(R.id.account_avatar);
-            int accountAvatarSizePx =
-                    Math.round(ACCOUNT_AVATAR_SIZE_DP * getResources().getDisplayMetrics().density);
-            avatarView.setImageBitmap(Bitmap.createScaledBitmap(
-                    account.getAccountImage(), accountAvatarSizePx, accountAvatarSizePx, false));
-            avatarView.setRoundedCorners(accountAvatarSizePx / 2, accountAvatarSizePx / 2,
-                    accountAvatarSizePx / 2, accountAvatarSizePx / 2);
-        }
-
         TextView linkView = findViewById(R.id.manage_devices_link);
         if (mShowLink) {
             SpannableString linkText = SpanApplier.applySpans(
                     getResources().getString(
-                            R.string.send_tab_to_self_manage_devices_link, account.getEmail()),
+                            R.string.send_tab_to_self_manage_devices_link, "nobody@example.com"),
                     new SpanApplier.SpanInfo("<link>", "</link>",
                             new NoUnderlineClickableSpan(
                                     getContext(), this::openManageDevicesPageInNewTab)));
             linkView.setText(linkText);
             linkView.setMovementMethod(LinkMovementMethod.getInstance());
         } else {
-            linkView.setText(account.getEmail());
+            linkView.setText("nobody@example.com");
         }
     }
 
@@ -116,11 +101,4 @@ public class ManageAccountDevicesLinkView extends LinearLayout {
         IntentUtils.addTrustedIntentExtras(intent);
         getContext().startActivity(intent);
     }
-
-    private static AccountInfo getSharingAccountInfo() {
-        IdentityManager identityManager = IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
-        return identityManager.findExtendedAccountInfoByEmailAddress(
-                identityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN).getEmail());
-    }
 }
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/SendTabToSelfCoordinator.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/SendTabToSelfCoordinator.java
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/SendTabToSelfCoordinator.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/SendTabToSelfCoordinator.java
@@ -12,16 +12,8 @@ import com.google.common.base.Optional;
 import org.chromium.base.Callback;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.services.SigninManager;
-import org.chromium.chrome.browser.sync.SyncService;
-import org.chromium.chrome.browser.ui.signin.account_picker.AccountPickerBottomSheetCoordinator;
-import org.chromium.chrome.browser.ui.signin.account_picker.AccountPickerBottomSheetCoordinator.EntryPoint;
-import org.chromium.chrome.browser.ui.signin.account_picker.AccountPickerDelegate;
 import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
 import org.chromium.components.browser_ui.bottomsheet.EmptyBottomSheetObserver;
-import org.chromium.components.signin.AccountUtils;
-import org.chromium.components.signin.base.GoogleServiceAuthError;
 import org.chromium.ui.base.WindowAndroid;
 
 import java.util.List;
@@ -30,108 +22,6 @@ import java.util.List;
  * Coordinator for displaying the send tab to self feature.
  */
 public class SendTabToSelfCoordinator {
-    /**
-     * Waits for Sync to download the list of target devices after sign-in. Aborts if the
-     * user dismisses the sign-in bottom sheet ("account picker") before success.
-     */
-    private static class TargetDeviceListWaiter
-            extends EmptyBottomSheetObserver implements SyncService.SyncStateChangedListener {
-        private final BottomSheetController mBottomSheetController;
-        private final String mUrl;
-        private final Runnable mGotDeviceListCallback;
-        private final Profile mProfile;
-
-        /**
-         * Note there's no need for a notion for a failure callback because in that case the
-         * account picker bottom sheet was closed and there's nothing left to do (simply don't
-         * show any other bottom sheet).
-         */
-        public TargetDeviceListWaiter(BottomSheetController bottomSheetController, String url,
-                Runnable gotDeviceListCallback, Profile profile) {
-            mBottomSheetController = bottomSheetController;
-            mUrl = url;
-            mGotDeviceListCallback = gotDeviceListCallback;
-            mProfile = profile;
-
-            SyncService.get().addSyncStateChangedListener(this);
-            mBottomSheetController.addObserver(this);
-            notifyAndDestroyIfDone();
-        }
-
-        private void destroy() {
-            SyncService.get().removeSyncStateChangedListener(this);
-            mBottomSheetController.removeObserver(this);
-        }
-
-        @Override
-        public void syncStateChanged() {
-            notifyAndDestroyIfDone();
-        }
-
-        @Override
-        public void onSheetClosed(int reason) {
-            // The account picker doesn't dismiss itself, so this must mean the user did.
-            destroy();
-        }
-
-        private void notifyAndDestroyIfDone() {
-            Optional</*@EntryPointDisplayReason*/ Integer> displayReason =
-                    SendTabToSelfAndroidBridge.getEntryPointDisplayReason(mProfile, mUrl);
-            // The model is starting up, keep waiting.
-            if (!displayReason.isPresent()) return;
-
-            switch (displayReason.get()) {
-                case EntryPointDisplayReason.OFFER_SIGN_IN:
-                    return;
-                case EntryPointDisplayReason.INFORM_NO_TARGET_DEVICE:
-                case EntryPointDisplayReason.OFFER_FEATURE:
-                    break;
-            }
-
-            destroy();
-            mGotDeviceListCallback.run();
-        }
-    }
-
-    /** Performs sign-in for the promo shown to signed-out users. */
-    private static class SendTabToSelfAccountPickerDelegate implements AccountPickerDelegate {
-        private final Runnable mOnSignInCompleteCallback;
-        private final Profile mProfile;
-
-        public SendTabToSelfAccountPickerDelegate(
-                Runnable onSignInCompleteCallback, Profile profile) {
-            mOnSignInCompleteCallback = onSignInCompleteCallback;
-            mProfile = profile;
-        }
-
-        @Override
-        public void destroy() {}
-
-        @Override
-        public void signIn(
-                String accountEmail, Callback<GoogleServiceAuthError> onSignInErrorCallback) {
-            SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(mProfile);
-            Account account = AccountUtils.createAccountFromName(accountEmail);
-            signinManager.signin(account, new SigninManager.SignInCallback() {
-                @Override
-                public void onSignInComplete() {
-                    mOnSignInCompleteCallback.run();
-                }
-
-                @Override
-                public void onSignInAborted() {
-                    // TODO(crbug.com/1219434) Consider calling onSignInErrorCallback here.
-                }
-            });
-        }
-
-        @Override
-        @EntryPoint
-        public int getEntryPoint() {
-            return EntryPoint.SEND_TAB_TO_SELF;
-        }
-    }
-
     private final Context mContext;
     private final WindowAndroid mWindowAndroid;
     private final String mUrl;
@@ -150,49 +40,8 @@ public class SendTabToSelfCoordinator {
     }
 
     public void show() {
-        Optional</*@EntryPointDisplayReason*/ Integer> displayReason =
-                SendTabToSelfAndroidBridge.getEntryPointDisplayReason(mProfile, mUrl);
-        if (!displayReason.isPresent()) {
-            // This must be the old behavior where the entry point is shown even in states where
-            // no promo is shown.
-            assert !ChromeFeatureList.isEnabled(ChromeFeatureList.SEND_TAB_TO_SELF_SIGNIN_PROMO);
-            MetricsRecorder.recordSendingEvent(SendingEvent.SHOW_NO_TARGET_DEVICE_MESSAGE);
-            mController.requestShowContent(new NoTargetDeviceBottomSheetContent(mContext), true);
-            return;
-        }
-
-        switch (displayReason.get()) {
-            case EntryPointDisplayReason.INFORM_NO_TARGET_DEVICE:
-                MetricsRecorder.recordSendingEvent(SendingEvent.SHOW_NO_TARGET_DEVICE_MESSAGE);
-                mController.requestShowContent(
-                        new NoTargetDeviceBottomSheetContent(mContext), true);
-                return;
-            case EntryPointDisplayReason.OFFER_FEATURE:
-                MetricsRecorder.recordSendingEvent(SendingEvent.SHOW_DEVICE_LIST);
-                // TODO(crbug.com/1219434): Merge with INFORM_NO_TARGET_DEVICE, just let the UI
-                // differentiate between the 2 by checking the device list size.
-                List<TargetDeviceInfo> targetDevices =
-                        SendTabToSelfAndroidBridge.getAllTargetDeviceInfos(mProfile);
-                mController.requestShowContent(
-                        new DevicePickerBottomSheetContent(
-                                mContext, mUrl, mTitle, mController, targetDevices, mProfile),
-                        true);
-                return;
-            case EntryPointDisplayReason.OFFER_SIGN_IN: {
-                MetricsRecorder.recordSendingEvent(SendingEvent.SHOW_SIGNIN_PROMO);
-                new AccountPickerBottomSheetCoordinator(mWindowAndroid, mController,
-                        new SendTabToSelfAccountPickerDelegate(this::onSignInComplete, mProfile));
-                return;
-            }
-        }
     }
 
     private void onSignInComplete() {
-        new TargetDeviceListWaiter(mController, mUrl, this::onTargetDeviceListReady, mProfile);
-    }
-
-    private void onTargetDeviceListReady() {
-        mController.hideContent(mController.getCurrentSheetContent(), /*animate=*/true);
-        show();
     }
 }
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
@@ -31,9 +31,9 @@
 #error "Dice and Mirror cannot be both enabled."
 #endif
 
-#if !BUILDFLAG(ENABLE_DICE_SUPPORT) && !BUILDFLAG(ENABLE_MIRROR)
-#error "Either Dice or Mirror should be enabled."
-#endif
+// #if !BUILDFLAG(ENABLE_DICE_SUPPORT) && !BUILDFLAG(ENABLE_MIRROR)
+// #error "Either Dice or Mirror should be enabled."
+// #endif
 
 using signin::AccountConsistencyMethod;
 
@@ -202,6 +202,5 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod(
   return AccountConsistencyMethod::kDice;
 #endif
 
-  NOTREACHED();
   return AccountConsistencyMethod::kDisabled;
 }
diff --git a/chrome/browser/signin/identity_manager_factory.cc b/chrome/browser/signin/identity_manager_factory.cc
--- a/chrome/browser/signin/identity_manager_factory.cc
+++ b/chrome/browser/signin/identity_manager_factory.cc
@@ -67,14 +67,9 @@ IdentityManagerFactory::IdentityManagerFactory()
   DependsOn(ProfileAccountManagerFactory::GetInstance());
 #endif
   DependsOn(ChromeSigninClientFactory::GetInstance());
-  signin::SetIdentityManagerProvider(
-      base::BindRepeating([](content::BrowserContext* context) {
-        return GetForProfile(Profile::FromBrowserContext(context));
-      }));
 }
 
 IdentityManagerFactory::~IdentityManagerFactory() {
-  signin::SetIdentityManagerProvider({});
 }
 
 // static
diff --git a/chrome/browser/signin/identity_services_provider_android.cc b/chrome/browser/signin/identity_services_provider_android.cc
--- a/chrome/browser/signin/identity_services_provider_android.cc
+++ b/chrome/browser/signin/identity_services_provider_android.cc
@@ -7,7 +7,6 @@
 #include "chrome/browser/profiles/profile_android.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/signin/services/android/jni_headers/IdentityServicesProvider_jni.h"
-#include "chrome/browser/signin/signin_manager_android_factory.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
 
 using base::android::JavaParamRef;
@@ -38,15 +37,3 @@ JNI_IdentityServicesProvider_GetAccountTrackerService(
              ? identity_manager->LegacyGetAccountTrackerServiceJavaObject()
              : nullptr;
 }
-
-static ScopedJavaLocalRef<jobject>
-JNI_IdentityServicesProvider_GetSigninManager(
-    JNIEnv* env,
-    const JavaParamRef<jobject>& j_profile_android) {
-  Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile_android);
-  SigninManagerAndroid* signin_manager =
-      SigninManagerAndroidFactory::GetForProfile(profile);
-  // Ensuring that the pointer is not null here produces unactionable stack
-  // traces, so just let the Java side handle possible issues with null.
-  return signin_manager ? signin_manager->GetJavaObject() : nullptr;
-}
diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java
--- a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java
+++ b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java
@@ -61,22 +61,9 @@ public class IdentityServicesProvider {
         return result;
     }
 
-    /**
-     * Getter for {@link SigninManager} instance for given profile.
-     * @param profile The profile to get regarding sign-in manager.
-     * @return a {@link SigninManager} instance, or null if the incognito Profile is supplied.
-     */
-    @MainThread
-    public @Nullable SigninManager getSigninManager(Profile profile) {
-        ThreadUtils.assertOnUiThread();
-        SigninManager result = IdentityServicesProviderJni.get().getSigninManager(profile);
-        return result;
-    }
-
     @NativeMethods
     public interface Natives {
         IdentityManager getIdentityManager(Profile profile);
         AccountTrackerService getAccountTrackerService(Profile profile);
-        SigninManager getSigninManager(Profile profile);
     }
 }
diff --git a/chrome/browser/supervised_user/BUILD.gn b/chrome/browser/supervised_user/BUILD.gn
--- a/chrome/browser/supervised_user/BUILD.gn
+++ b/chrome/browser/supervised_user/BUILD.gn
@@ -88,7 +88,6 @@ if (is_android) {
       "//base:jni_java",
       "//build/android:build_java",
       "//chrome/browser/profiles/android:java",
-      "//chrome/browser/signin/services/android:java",
       "//chrome/browser/ui/android/strings:ui_strings_grd",
       "//components/browser_ui/bottomsheet/android:java",
       "//components/browser_ui/widget/android:java",
diff --git a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalMediator.java b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalMediator.java
--- a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalMediator.java
+++ b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalMediator.java
@@ -5,7 +5,6 @@
 package org.chromium.chrome.browser.supervised_user.website_approval;
 
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
 import org.chromium.components.signin.base.AccountInfo;
 import org.chromium.components.signin.base.CoreAccountInfo;
@@ -43,28 +42,5 @@ class WebsiteApprovalMediator {
                     BottomSheetController.StateChangeReason.INTERACTION_COMPLETE);
             mCompletionCallback.onWebsiteDenied();
         });
-
-        // Set the child name.  We use the given name if there is one for this account, otherwise we
-        // use the full account email address.
-        IdentityManager identityManager = IdentityServicesProvider.get().getIdentityManager(
-                Profile.getLastUsedRegularProfile());
-        String childEmail = CoreAccountInfo.getEmailFrom(
-                identityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN));
-        if (childEmail == null) {
-            // This is an unexpected window condition: there is no signed in account.
-            // TODO(crbug.com/1330900): dismiss the bottom sheet.
-            return;
-        }
-        AccountInfo childAccountInfo =
-                identityManager.findExtendedAccountInfoByEmailAddress(childEmail);
-
-        String childNameProperty = childEmail;
-        if (childAccountInfo != null && !childAccountInfo.getGivenName().isEmpty()) {
-            childNameProperty = childAccountInfo.getGivenName();
-        }
-        mModel.set(WebsiteApprovalProperties.CHILD_NAME, childNameProperty);
-
-        // Now show the actual content.
-        mBottomSheetController.requestShowContent(mSheetContent, true);
     }
 }
diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/sync_service_factory.cc
--- a/chrome/browser/sync/sync_service_factory.cc
+++ b/chrome/browser/sync/sync_service_factory.cc
@@ -73,7 +73,7 @@
 #include "chrome/browser/sync/wifi_configuration_sync_service_factory.h"
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
-namespace {
+/*namespace {
 
 std::unique_ptr<KeyedService> BuildSyncService(
     content::BrowserContext* context) {
@@ -186,7 +186,7 @@ std::unique_ptr<KeyedService> BuildSyncService(
   return sync_service;
 }
 
-}  // anonymous namespace
+}*/  // anonymous namespace
 
 // static
 SyncServiceFactory* SyncServiceFactory::GetInstance() {
@@ -264,7 +264,7 @@ SyncServiceFactory::~SyncServiceFactory() = default;
 
 KeyedService* SyncServiceFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
-  return BuildSyncService(context).release();
+  return nullptr;
 }
 
 bool SyncServiceFactory::ServiceIsNULLWhileTesting() const {
@@ -306,9 +306,3 @@ SyncServiceFactory::GetAllSyncServices() {
   }
   return sync_services;
 }
-
-// static
-BrowserContextKeyedServiceFactory::TestingFactory
-SyncServiceFactory::GetDefaultFactory() {
-  return base::BindRepeating(&BuildSyncService);
-}
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -163,7 +163,6 @@ android_library("java") {
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/search_engines/android:java",
     "//chrome/browser/share:java",
-    "//chrome/browser/signin/services/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/tabmodel:java",
     "//chrome/browser/ui/android/favicon:java",
@@ -456,7 +455,6 @@ robolectric_library("junit") {
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/search_engines/android:java",
     "//chrome/browser/share:java",
-    "//chrome/browser/signin/services/android:java",
     "//chrome/browser/tab:java",
     "//chrome/browser/tabmodel:java",
     "//chrome/browser/ui/android/favicon:java",
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -58,7 +58,6 @@ import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
 import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
 import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.theme.ThemeUtils;
 import org.chromium.chrome.browser.ui.native_page.NativePage;
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmImportSyncDataDialogCoordinator.java
@@ -13,7 +13,6 @@ import androidx.annotation.MainThread;
 
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils;
 import org.chromium.components.browser_ui.widget.RadioButtonWithDescription;
 import org.chromium.ui.modaldialog.DialogDismissalCause;
@@ -80,11 +79,7 @@ public class ConfirmImportSyncDataDialogCoordinator {
         mKeepSeparateOption =
                 mConfirmImportSyncDataView.findViewById(R.id.sync_keep_separate_choice);
 
-        boolean isCurrentAccountManaged =
-                IdentityServicesProvider.get()
-                        .getSigninManager(Profile.getLastUsedRegularProfile())
-                        .getManagementDomain()
-                != null;
+        boolean isCurrentAccountManaged = false;
         mModel = new PropertyModel.Builder(ModalDialogProperties.ALL_KEYS)
                          .with(ModalDialogProperties.CANCEL_ON_TOUCH_OUTSIDE, true)
                          .with(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/ConfirmSyncDataStateMachine.java
@@ -176,9 +176,6 @@ public class ConfirmSyncDataStateMachine
     }
 
     private void requestNewAccountManagementStatus() {
-        IdentityServicesProvider.get()
-                .getSigninManager(Profile.getLastUsedRegularProfile())
-                .isAccountManaged(mNewAccountName, this::setIsNewAccountManaged);
     }
 
     private void setIsNewAccountManaged(Boolean isManaged) {
@@ -194,17 +191,8 @@ public class ConfirmSyncDataStateMachine
         assert mNewAccountManaged != null;
         assert mState == State.AFTER_NEW_ACCOUNT_DIALOG;
 
-        if (mNewAccountManaged) {
-            // Show 'logging into managed account' dialog
-            // This will call back into onConfirm on success.
-            mDelegate.showSignInToManagedAccountDialog(this,
-                    IdentityServicesProvider.get()
-                            .getSigninManager(Profile.getLastUsedRegularProfile())
-                            .extractDomainName(mNewAccountName));
-        } else {
-            mDelegate.dismissAllDialogs();
-            progress();
-        }
+        mDelegate.dismissAllDialogs();
+        progress();
     }
 
     private void showProgressDialog() {
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogCoordinator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogCoordinator.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogCoordinator.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SignOutDialogCoordinator.java
@@ -18,7 +18,6 @@ import androidx.annotation.VisibleForTesting;
 import org.chromium.chrome.browser.preferences.Pref;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.profiles.ProfileAccountManagementMetrics;
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.signin.services.SigninMetricsUtils;
 import org.chromium.components.signin.GAIAServiceType;
 import org.chromium.components.signin.identitymanager.ConsentLevel;
@@ -95,35 +94,11 @@ public class SignOutDialogCoordinator {
     }
 
     private static @StringRes int getTitleRes(String managedDomain, @ActionType int actionType) {
-        if (!IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .hasPrimaryAccount(ConsentLevel.SYNC)) {
             return R.string.signout_title;
-        }
-        if (managedDomain != null) {
-            return R.string.signout_managed_account_title;
-        }
-        switch (actionType) {
-            case ActionType.REVOKE_SYNC_CONSENT:
-                return R.string.turn_off_sync_title;
-            case ActionType.CLEAR_PRIMARY_ACCOUNT:
-                return R.string.turn_off_sync_and_signout_title;
-            default:
-                throw new IllegalArgumentException(
-                        "Unexpected value for actionType: " + actionType);
-        }
     }
 
     private static String getMessage(Context context, String managedDomain) {
-        if (!IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .hasPrimaryAccount(ConsentLevel.SYNC)) {
             return context.getString(R.string.signout_message);
-        }
-        if (managedDomain != null) {
-            return context.getString(R.string.signout_managed_account_message, managedDomain);
-        }
-        return context.getString(R.string.turn_off_sync_and_signout_message);
     }
 
     private static int getCheckBoxVisibility(String managedDomain) {
@@ -131,10 +106,7 @@ public class SignOutDialogCoordinator {
         // SigninManager.
         final boolean allowDeletingData = UserPrefs.get(Profile.getLastUsedRegularProfile())
                                                   .getBoolean(Pref.ALLOW_DELETING_BROWSER_HISTORY);
-        final boolean hasSyncConsent =
-                IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .hasPrimaryAccount(ConsentLevel.SYNC);
+        final boolean hasSyncConsent = false;
         final boolean showCheckBox = (managedDomain == null) && allowDeletingData && hasSyncConsent;
         return showCheckBox ? View.VISIBLE : View.GONE;
     }
@@ -143,9 +115,7 @@ public class SignOutDialogCoordinator {
     @MainThread
     SignOutDialogCoordinator(Context context, ModalDialogManager dialogManager, Listener listener,
             @ActionType int actionType, @GAIAServiceType int gaiaServiceType) {
-        final String managedDomain = IdentityServicesProvider.get()
-                                             .getSigninManager(Profile.getLastUsedRegularProfile())
-                                             .getManagementDomain();
+        final String managedDomain = "";
         final View view = inflateView(context, managedDomain, actionType);
         mCheckBox = view.findViewById(R.id.remove_local_data);
         mCheckBox.setVisibility(getCheckBoxVisibility(managedDomain));
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java
@@ -266,35 +266,8 @@ public abstract class SyncConsentFragmentBase
     // this method replaces onSyncAccepted(), the field can be set directly.
     protected void signinAndEnableSync(
             String accountName, boolean settingsClicked, Runnable callback) {
-        AccountManagerFacadeProvider.getInstance().getAccounts().then(accounts -> {
-            @Nullable
-            Account account = AccountUtils.findAccountByName(accounts, accountName);
-            if (account == null) {
-                callback.run();
-                return;
-            }
-            SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
-                    Profile.getLastUsedRegularProfile());
-            signinManager.signinAndEnableSync(
-                    mSigninAccessPoint, account, new SigninManager.SignInCallback() {
-                        @Override
-                        public void onSignInComplete() {
-                            UnifiedConsentServiceBridge.setUrlKeyedAnonymizedDataCollectionEnabled(
-                                    Profile.getLastUsedRegularProfile(), true);
-                            if (!settingsClicked) {
-                                SyncService.get().setFirstSetupComplete(
-                                        SyncFirstSetupCompleteSource.BASIC_FLOW);
-                            }
-                            closeAndMaybeOpenSyncSettings(settingsClicked);
-                            callback.run();
-                        }
-
-                        @Override
-                        public void onSignInAborted() {
-                            callback.run();
-                        }
-                    });
-        });
+        // do nothing
+        callback.run();
     }
 
     @Override
@@ -347,10 +320,6 @@ public abstract class SyncConsentFragmentBase
                 : ProfileDataCache.createWithDefaultImageSizeAndNoBadge(requireContext());
         mProfileDataCache.addObserver(mProfileDataCacheObserver);
 
-        IdentityServicesProvider.get()
-                .getSigninManager(Profile.getLastUsedRegularProfile())
-                .addSignInStateObserver(this);
-
         // By default this is set to true so that when system back button is pressed user action
         // is recorded in onDestroy().
         mRecordUndoSignin = true;
@@ -361,9 +330,6 @@ public abstract class SyncConsentFragmentBase
     @Override
     public void onDestroy() {
         super.onDestroy();
-        IdentityServicesProvider.get()
-                .getSigninManager(Profile.getLastUsedRegularProfile())
-                .removeSignInStateObserver(this);
         mProfileDataCache.removeObserver(mProfileDataCacheObserver);
         if (mConfirmSyncDataStateMachine != null) {
             mConfirmSyncDataStateMachine.cancel(/* isBeingDestroyed = */ true);
@@ -737,21 +703,6 @@ public abstract class SyncConsentFragmentBase
 
                         // Don't start sign-in if this fragment has been destroyed.
                         if (getActivity().isDestroyed()) return;
-
-                        SigninManager signinManager =
-                                IdentityServicesProvider.get().getSigninManager(
-                                        Profile.getLastUsedRegularProfile());
-                        signinManager.runAfterOperationInProgress(() -> {
-                            if (wipeData) {
-                                signinManager.wipeSyncUserData(() -> {
-                                    onSyncAccepted(mSelectedAccountName, settingsClicked,
-                                            () -> mIsSigninInProgress = false);
-                                });
-                            } else {
-                                onSyncAccepted(mSelectedAccountName, settingsClicked,
-                                        () -> mIsSigninInProgress = false);
-                            }
-                        });
                     }
 
                     @Override
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java
@@ -114,20 +114,7 @@ public class SyncPromoController {
      * @param accessPoint The access point for which the impression limit is being checked.
      */
     public static boolean canShowSyncPromo(@AccessPoint int accessPoint) {
-        switch (accessPoint) {
-            case SigninAccessPoint.BOOKMARK_MANAGER:
-                return canShowBookmarkPromo();
-            case SigninAccessPoint.NTP_CONTENT_SUGGESTIONS:
-                return canShowNTPPromo();
-            case SigninAccessPoint.RECENT_TABS:
-                // There is no impression limit or dismiss button in Recent Tabs promo.
-                return true;
-            case SigninAccessPoint.SETTINGS:
-                return canShowSettingsPromo();
-            default:
-                assert false : "Unexpected value for access point: " + accessPoint;
-                return false;
-        }
+        return false;
     }
 
     private static long getNTPSyncPromoResetAfterMillis() {
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/WebSigninAccountPickerDelegate.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/WebSigninAccountPickerDelegate.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/WebSigninAccountPickerDelegate.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/account_picker/WebSigninAccountPickerDelegate.java
@@ -28,7 +28,6 @@ public class WebSigninAccountPickerDelegate implements AccountPickerDelegate {
     private final Tab mCurrentTab;
     private final WebSigninBridge.Factory mWebSigninBridgeFactory;
     private final String mContinueUrl;
-    private final SigninManager mSigninManager;
     private final IdentityManager mIdentityManager;
     private @Nullable WebSigninBridge mWebSigninBridge;
 
@@ -43,8 +42,6 @@ public class WebSigninAccountPickerDelegate implements AccountPickerDelegate {
         mCurrentTab = currentTab;
         mWebSigninBridgeFactory = webSigninBridgeFactory;
         mContinueUrl = continueUrl;
-        mSigninManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
         mIdentityManager = IdentityServicesProvider.get().getIdentityManager(
                 Profile.getLastUsedRegularProfile());
     }
@@ -62,27 +59,7 @@ public class WebSigninAccountPickerDelegate implements AccountPickerDelegate {
             // if user retries the sign-in from the error screen, we need to sign out the user
             // first before signing in again.
             destroyWebSigninBridge();
-            mSigninManager.signOut(SignoutReason.SIGNIN_RETRIGGERD_FROM_WEB_SIGNIN);
         }
-        AccountInfoServiceProvider.get().getAccountInfoByEmail(accountEmail).then(accountInfo -> {
-            mWebSigninBridge =
-                    mWebSigninBridgeFactory.create(Profile.getLastUsedRegularProfile(), accountInfo,
-                            createWebSigninBridgeListener(
-                                    mCurrentTab, mContinueUrl, onSignInErrorCallback));
-            mSigninManager.signin(AccountUtils.createAccountFromName(accountEmail),
-                    new SigninManager.SignInCallback() {
-                        @Override
-                        public void onSignInComplete() {
-                            // After the sign-in is finished in Chrome, we still need to wait for
-                            // WebSigninBridge to be called to redirect to the continue url.
-                        }
-
-                        @Override
-                        public void onSignInAborted() {
-                            WebSigninAccountPickerDelegate.this.destroyWebSigninBridge();
-                        }
-                    });
-        });
     }
 
     @Override
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java
@@ -198,10 +198,8 @@ public class SigninFirstRunMediator
             mModel.set(SigninFirstRunProperties.FRE_POLICY, frePolicy);
         }
 
-        mModel.set(SigninFirstRunProperties.IS_SIGNIN_SUPPORTED,
-                ExternalAuthUtils.getInstance().canUseGooglePlayServices()
-                        && !isSigninDisabledByPolicy);
-        mAllowMetricsAndCrashUploading = !isMetricsReportingDisabledByPolicy;
+        mModel.set(SigninFirstRunProperties.IS_SIGNIN_SUPPORTED, false);
+        mAllowMetricsAndCrashUploading = false;
 
         mModel.set(SigninFirstRunProperties.FOOTER_STRING,
                 getFooterString(isMetricsReportingDisabledByPolicy));
@@ -305,41 +303,6 @@ public class SigninFirstRunMediator
                 TextUtils.equals(mDefaultAccountName, mSelectedAccountName)
                         ? MobileFreProgress.WELCOME_SIGNIN_WITH_DEFAULT_ACCOUNT
                         : MobileFreProgress.WELCOME_SIGNIN_WITH_NON_DEFAULT_ACCOUNT);
-        // If the user signs into an account on the FRE, goes to the sync consent page and presses
-        // back to come back to the FRE, then there will already be an account signed in.
-        @Nullable
-        CoreAccountInfo signedInAccount =
-                IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .getPrimaryAccountInfo(ConsentLevel.SIGNIN);
-        if (signedInAccount != null && signedInAccount.getEmail().equals(mSelectedAccountName)) {
-            mDelegate.advanceToNextPage();
-            return;
-        }
-        mModel.set(SigninFirstRunProperties.SHOW_SIGNIN_PROGRESS_SPINNER_WITH_TEXT, true);
-        final SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
-                Profile.getLastUsedRegularProfile());
-        signinManager.signin(
-                AccountUtils.createAccountFromName(mSelectedAccountName), new SignInCallback() {
-                    @Override
-                    public void onSignInComplete() {
-                        if (mDestroyed) {
-                            // FirstRunActivity was destroyed while we were waiting for sign-in.
-                            return;
-                        }
-                        mDelegate.advanceToNextPage();
-                    }
-
-                    @Override
-                    public void onSignInAborted() {
-                        // TODO(crbug/1248090): For now we enable the buttons again to not block the
-                        // users from continuing to the next page. Should show a dialog with the
-                        // signin error.
-                        mModel.set(SigninFirstRunProperties.SHOW_SIGNIN_PROGRESS_SPINNER_WITH_TEXT,
-                                false);
-                        mModel.set(SigninFirstRunProperties.SHOW_SIGNIN_PROGRESS_SPINNER, false);
-                    }
-                });
     }
 
     /**
@@ -368,26 +331,9 @@ public class SigninFirstRunMediator
 
         mDelegate.recordFreProgressHistogram(MobileFreProgress.WELCOME_DISMISS);
         mDelegate.acceptTermsOfService(mAllowMetricsAndCrashUploading);
-        SigninPreferencesManager.getInstance().temporarilySuppressNewTabPagePromos();
-        if (IdentityServicesProvider.get()
-                        .getIdentityManager(Profile.getLastUsedRegularProfile())
-                        .hasPrimaryAccount(ConsentLevel.SIGNIN)) {
-            mModel.set(SigninFirstRunProperties.SHOW_SIGNIN_PROGRESS_SPINNER, true);
-            SignOutCallback signOutCallback = () -> {
-                if (mDestroyed) {
-                    // FirstRunActivity was destroyed while we were waiting for the sign-out.
-                    return;
-                }
 
-                mDelegate.advanceToNextPage();
-            };
-            IdentityServicesProvider.get()
-                    .getSigninManager(Profile.getLastUsedRegularProfile())
-                    .signOut(SignoutReason.ABORT_SIGNIN, signOutCallback,
-                            /* forceWipeUserData= */ false);
-        } else {
-            mDelegate.advanceToNextPage();
-        }
+        // Bromite: there is no identity provider, always advance to next page
+        mDelegate.advanceToNextPage();
     }
 
     /**
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -284,9 +284,6 @@ CHAR_LIMIT guidelines:
       <message name="IDS_SIGN_IN_TO_CHROME" desc="Title for the button to sign in to Chrome using one's Google account. [CHAR_LIMIT=27]">
         Sign in to Chrome
       </message>
-      <message name="IDS_PREFS_MANAGE_SYNC_SETTINGS_CONTENT_DESCRIPTION" is_accessibility_with_no_ui="true" desc="The accessibility text to read when the 'Manage Sync Settings' page is opened from the sign-in page. This text is attached to the 'Navigate Up' button shown at the top of the screen. The first two sentences describe the screen that is currently shown to the user, while 'Navigate up' is a description for the button this text is attached to. 'Navigate up' should match TC ID 6794660482873516081.">
-        You are currently customizing your Sync settings. To finish turning on sync, tap the Confirm button near the bottom of the screen. Navigate up
-      </message>
       <message name="IDS_SIGNIN_PREF_SUMMARY" desc="Summary for the entry in Settings to sign in to Chrome, explaining benefits of signing in.">
         Sync and personalize across devices
       </message>
@@ -396,21 +393,6 @@ CHAR_LIMIT guidelines:
       <message name="IDS_PRELOAD_PAGES_EXTENDED_PRELOADING_BULLET_FOUR" desc="Fourth bullet point under the Preload Pages extended preloading mode. Informs the user about what the extended preloading setting does.">
         Because the preloaded pages are encrypted, Google will not learn anything about the preloaded page content. Google servers will learn which sites are privately preloaded. This information is only used to preload the pages, and is not linked to other information from your Google Account.
       </message>
-      <message name="IDS_URL_KEYED_ANONYMIZED_DATA_TITLE" desc="Title for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
-        Make searches and browsing better
-      </message>
-      <message name="IDS_URL_KEYED_ANONYMIZED_DATA_SUMMARY" desc="Summary for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
-        Sends URLs of pages you visit to Google
-      </message>
-      <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_LEGACY" desc="The text for Privacy preferences that is shown after all preference rows.">
-        For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK">&lt;link&gt;</ph>Sync and Google services<ph name="END_LINK">&lt;/link&gt;</ph>
-      </message>
-      <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_ON" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync has been turned on.">
-        For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK1">&lt;link1&gt;</ph>Sync<ph name="END_LINK1">&lt;/link1&gt;</ph> and <ph name="BEGIN_LINK2">&lt;link2&gt;</ph>Google services<ph name="END_LINK2">&lt;/link2&gt;</ph>
-      </message>
-      <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_OFF" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync hasn't been turned on.">
-        For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google services<ph name="END_LINK">&lt;/link&gt;</ph>
-      </message>
 
       <!-- Metrics settings -->
       <message name="IDS_PREFS_METRICS_SETTINGS" desc="Title for the page that allows the user to control how much usage data Chrome uploads. [CHAR_LIMIT=32]">
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
@@ -63,7 +63,7 @@ void LeakDetectionDelegate::StartLeakCheck(
   is_likely_signup_form_ = submitted_form_was_likely_signup_form;
 
   leak_check_ = leak_factory_->TryCreateLeakCheck(
-      this, client_->GetIdentityManager(), client_->GetURLLoaderFactory(),
+      this, nullptr, client_->GetURLLoaderFactory(),
       client_->GetChannel());
   // Reset the helper to avoid notifications from the currently running check.
   helper_.reset();
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc
--- a/components/password_manager/core/browser/password_form_manager.cc
+++ b/components/password_manager/core/browser/password_form_manager.cc
@@ -41,7 +41,6 @@
 #include "components/password_manager/core/common/password_manager_features.h"
 #include "components/password_manager/core/common/password_manager_pref_names.h"
 #include "components/prefs/pref_service.h"
-#include "components/signin/public/identity_manager/identity_manager.h"
 #include "google_apis/gaia/core_account_id.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/abseil-cpp/absl/types/variant.h"
@@ -290,27 +289,7 @@ bool PasswordFormManager::WasUnblocklisted() const {
 }
 
 bool PasswordFormManager::IsMovableToAccountStore() const {
-  DCHECK(
-      client_->GetPasswordFeatureManager()->ShouldShowAccountStorageBubbleUi())
-      << "Ensure that the client supports moving passwords for this user!";
-  signin::IdentityManager* identity_manager = client_->GetIdentityManager();
-  DCHECK(identity_manager);
-  const std::string gaia_id =
-      identity_manager->GetPrimaryAccountInfo(signin::ConsentLevel::kSignin)
-          .gaia;
-  DCHECK(!gaia_id.empty()) << "Cannot move without signed in user";
-
-  const std::u16string& username = GetPendingCredentials().username_value;
-  const std::u16string& password = GetPendingCredentials().password_value;
-  // If no match in the profile store with the same username and password exist,
-  // then there is nothing to move.
-  auto is_movable = [&](const PasswordForm* match) {
-    return !match->IsUsingAccountStore() && match->username_value == username &&
-           match->password_value == password;
-  };
-  return base::ranges::any_of(form_fetcher_->GetBestMatches(), is_movable) &&
-         !form_fetcher_->IsMovingBlocked(GaiaIdHash::FromGaiaId(gaia_id),
-                                         username);
+  return false;
 }
 
 void PasswordFormManager::Save() {
@@ -477,17 +456,6 @@ void PasswordFormManager::MoveCredentialsToAccountStore() {
 void PasswordFormManager::BlockMovingCredentialsToAccountStore() {
   // Nothing to do if there is no signed in user or the credentials are already
   // blocked for moving.
-  if (!IsMovableToAccountStore())
-    return;
-  const std::string gaia_id =
-      client_->GetIdentityManager()
-          ->GetPrimaryAccountInfo(signin::ConsentLevel::kSignin)
-          .gaia;
-  // The above call to IsMovableToAccountStore() guarantees there is a signed in
-  // user.
-  DCHECK(!gaia_id.empty());
-  password_save_manager_->BlockMovingToAccountStoreFor(
-      GaiaIdHash::FromGaiaId(gaia_id));
 }
 
 bool PasswordFormManager::IsNewLogin() const {
diff --git a/components/password_manager/core/browser/password_manager_client_helper.cc b/components/password_manager/core/browser/password_manager_client_helper.cc
--- a/components/password_manager/core/browser/password_manager_client_helper.cc
+++ b/components/password_manager/core/browser/password_manager_client_helper.cc
@@ -13,29 +13,10 @@
 #include "components/password_manager/core/browser/password_sync_util.h"
 #include "components/password_manager/core/common/password_manager_pref_names.h"
 #include "components/prefs/pref_service.h"
-#include "components/signin/public/identity_manager/account_info.h"
-#include "components/signin/public/identity_manager/identity_manager.h"
 #include "google_apis/gaia/gaia_auth_util.h"
 
 namespace password_manager {
 
-namespace {
-
-constexpr int kMaxMoveToAccountOffersForNonOptedInUser = 5;
-
-bool IsPrimaryAccountSignIn(const signin::IdentityManager& identity_manager,
-                            const std::u16string& username,
-                            const std::string& signon_realm) {
-  CoreAccountInfo primary_account =
-      identity_manager.GetPrimaryAccountInfo(signin::ConsentLevel::kSignin);
-  return sync_util::IsGaiaCredentialPage(signon_realm) &&
-         !primary_account.IsEmpty() &&
-         gaia::AreEmailsSame(base::UTF16ToUTF8(username),
-                             primary_account.email);
-}
-
-}  // namespace
-
 PasswordManagerClientHelper::PasswordManagerClientHelper(
     PasswordManagerClient* delegate)
     : delegate_(delegate) {
@@ -104,29 +85,7 @@ bool PasswordManagerClientHelper::ShouldPromptToEnableAutoSignIn() const {
 
 bool PasswordManagerClientHelper::ShouldPromptToMovePasswordToAccount(
     const PasswordFormManagerForUI& submitted_manager) const {
-  PasswordFeatureManager* feature_manager =
-      delegate_->GetPasswordFeatureManager();
-  if (!feature_manager->ShouldShowAccountStorageBubbleUi())
-    return false;
-  if (feature_manager->GetDefaultPasswordStore() ==
-      PasswordForm::Store::kProfileStore) {
-    return false;
-  }
-  if (!submitted_manager.IsMovableToAccountStore())
-    return false;
-  if (delegate_->IsIncognito())
-    return false;
-  // It's not useful to store the password for the primary account inside
-  // that same account.
-  if (IsPrimaryAccountSignIn(
-          *delegate_->GetIdentityManager(),
-          submitted_manager.GetPendingCredentials().username_value,
-          submitted_manager.GetPendingCredentials().signon_realm)) {
-    return false;
-  }
-  return feature_manager->IsOptedInForAccountStorage() ||
-         feature_manager->GetMoveOfferedToNonOptedInUserCount() <
-             kMaxMoveToAccountOffersForNonOptedInUser;
+  return false;
 }
 
 }  // namespace password_manager
diff --git a/components/password_manager/core/browser/sync_credentials_filter.cc b/components/password_manager/core/browser/sync_credentials_filter.cc
--- a/components/password_manager/core/browser/sync_credentials_filter.cc
+++ b/components/password_manager/core/browser/sync_credentials_filter.cc
@@ -10,11 +10,7 @@
 #include "base/metrics/user_metrics.h"
 #include "components/password_manager/core/browser/password_form_manager.h"
 #include "components/password_manager/core/browser/password_manager_util.h"
-#include "components/password_manager/core/browser/password_sync_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
-#include "components/signin/public/identity_manager/account_info.h"
-#include "components/signin/public/identity_manager/identity_manager.h"
-#include "google_apis/gaia/gaia_auth_util.h"
 
 namespace password_manager {
 
@@ -34,67 +30,26 @@ bool SyncCredentialsFilter::ShouldSave(const PasswordForm& form) const {
   if (form.form_data.is_gaia_with_skip_save_password_form)
     return false;
 
-  const syncer::SyncService* sync_service =
-      sync_service_factory_function_.Run();
-  const signin::IdentityManager* identity_manager =
-      client_->GetIdentityManager();
-
-  if (base::FeatureList::IsEnabled(features::kEnablePasswordsAccountStorage)) {
-    // If kEnablePasswordsAccountStorage is enabled, then don't allow saving the
-    // password if it corresponds to the primary account. Note that if the user
-    // is just signing in to the first Gaia account, then IdentityManager might
-    // not know about the account yet.
-    if (sync_util::IsGaiaCredentialPage(form.signon_realm)) {
-      CoreAccountInfo primary_account = identity_manager->GetPrimaryAccountInfo(
-          signin::ConsentLevel::kSignin);
-      if (primary_account.IsEmpty() ||
-          gaia::AreEmailsSame(base::UTF16ToUTF8(form.username_value),
-                              primary_account.email)) {
-        return false;
-      }
-    }
-  } else {
-    // If kEnablePasswordsAccountStorage is NOT enabled, then don't allow saving
-    // the password for the sync account specifically.
-    if (sync_util::IsSyncAccountCredential(form.url, form.username_value,
-                                           sync_service, identity_manager)) {
-      return false;
-    }
-  }
-
   return true;
 }
 
 bool SyncCredentialsFilter::ShouldSaveGaiaPasswordHash(
     const PasswordForm& form) const {
-  if (base::FeatureList::IsEnabled(features::kPasswordReuseDetectionEnabled)) {
-    return !client_->IsIncognito() &&
-           sync_util::IsGaiaCredentialPage(form.signon_realm);
-  }
   return false;
 }
 
 bool SyncCredentialsFilter::ShouldSaveEnterprisePasswordHash(
     const PasswordForm& form) const {
-  return !client_->IsIncognito() && sync_util::ShouldSaveEnterprisePasswordHash(
-                                        form, *client_->GetPrefs());
+  return false;
 }
 
 bool SyncCredentialsFilter::IsSyncAccountEmail(
     const std::string& username) const {
-  return sync_util::IsSyncAccountEmail(username, client_->GetIdentityManager());
+  return false;
 }
 
 void SyncCredentialsFilter::ReportFormLoginSuccess(
     const PasswordFormManager& form_manager) const {
-  const PasswordForm& form = form_manager.GetPendingCredentials();
-  if (!form_manager.IsNewLogin() &&
-      sync_util::IsSyncAccountCredential(form.url, form.username_value,
-                                         sync_service_factory_function_.Run(),
-                                         client_->GetIdentityManager())) {
-    base::RecordAction(base::UserMetricsAction(
-        "PasswordManager_SyncCredentialFilledAndLoginSuccessfull"));
-  }
 }
 
 }  // namespace password_manager
diff --git a/components/signin/features.gni b/components/signin/features.gni
--- a/components/signin/features.gni
+++ b/components/signin/features.gni
@@ -5,7 +5,7 @@
 import("//build/config/chromeos/ui_mode.gni")
 
 # Dice is supported on the platform (but not necessarily enabled).
-enable_dice_support = is_linux || is_mac || is_win || is_fuchsia
+enable_dice_support = false
 
 # Mirror is enabled and other account consistency mechanisms are not available.
-enable_mirror = is_android || is_chromeos || is_ios
+enable_mirror = false
diff --git a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc
--- a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc
+++ b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc
@@ -14,7 +14,6 @@
 #include "base/memory/raw_ptr.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
-#include "components/signin/public/android/jni_headers/ProfileOAuth2TokenServiceDelegate_jni.h"
 #include "components/signin/public/base/account_consistency_method.h"
 #include "components/signin/public/identity_manager/account_info.h"
 #include "google_apis/gaia/gaia_auth_util.h"
@@ -91,20 +90,7 @@ AndroidAccessTokenFetcher::~AndroidAccessTokenFetcher() {}
 void AndroidAccessTokenFetcher::Start(const std::string& client_id,
                                       const std::string& client_secret,
                                       const std::vector<std::string>& scopes) {
-  JNIEnv* env = AttachCurrentThread();
-  std::string scope = CombineScopes(scopes);
-  ScopedJavaLocalRef<jstring> j_email =
-      ConvertUTF8ToJavaString(env, account_id_);
-  ScopedJavaLocalRef<jstring> j_scope = ConvertUTF8ToJavaString(env, scope);
-  std::unique_ptr<FetchOAuth2TokenCallback> heap_callback(
-      new FetchOAuth2TokenCallback(
-          base::BindOnce(&AndroidAccessTokenFetcher::OnAccessTokenResponse,
-                         weak_factory_.GetWeakPtr())));
-
-  // Call into Java to get a new token.
-  signin::Java_ProfileOAuth2TokenServiceDelegate_getAccessTokenFromNative(
-      env, oauth2_token_service_delegate_->GetJavaObject(), j_email, j_scope,
-      reinterpret_cast<intptr_t>(heap_callback.release()));
+  CancelRequest();
 }
 
 void AndroidAccessTokenFetcher::CancelRequest() {
@@ -154,13 +140,6 @@ ProfileOAuth2TokenServiceDelegateAndroid::
       fire_refresh_token_loaded_(RT_LOAD_NOT_START) {
   DVLOG(1) << "ProfileOAuth2TokenServiceDelegateAndroid::ctor";
   DCHECK(account_tracker_service_);
-
-  JNIEnv* env = AttachCurrentThread();
-  base::android::ScopedJavaLocalRef<jobject> local_java_ref =
-      signin::Java_ProfileOAuth2TokenServiceDelegate_Constructor(
-          env, reinterpret_cast<intptr_t>(this),
-          account_tracker_service_->GetJavaObject());
-  java_ref_.Reset(env, local_java_ref.obj());
 }
 
 ProfileOAuth2TokenServiceDelegateAndroid::
@@ -168,30 +147,12 @@ ProfileOAuth2TokenServiceDelegateAndroid::
 
 ScopedJavaLocalRef<jobject>
 ProfileOAuth2TokenServiceDelegateAndroid::GetJavaObject() {
-  return ScopedJavaLocalRef<jobject>(java_ref_);
+  return nullptr;
 }
 
 bool ProfileOAuth2TokenServiceDelegateAndroid::RefreshTokenIsAvailable(
     const CoreAccountId& account_id) const {
-  DVLOG(1)
-      << "ProfileOAuth2TokenServiceDelegateAndroid::RefreshTokenIsAvailable"
-      << " account= " << account_id;
-  std::string account_name = MapAccountIdToAccountName(account_id);
-  if (account_name.empty()) {
-    // This corresponds to the case when the account with id |account_id| is not
-    // present on the device and thus was not seeded.
-    DVLOG(1)
-        << "ProfileOAuth2TokenServiceDelegateAndroid::RefreshTokenIsAvailable"
-        << " cannot find account name for account id " << account_id;
-    return false;
-  }
-  JNIEnv* env = AttachCurrentThread();
-  ScopedJavaLocalRef<jstring> j_account_name =
-      ConvertUTF8ToJavaString(env, account_name);
-  jboolean refresh_token_is_available =
-      signin::Java_ProfileOAuth2TokenServiceDelegate_hasOAuth2RefreshToken(
-          env, java_ref_, j_account_name);
-  return refresh_token_is_available == JNI_TRUE;
+  return false;
 }
 
 std::vector<CoreAccountId>
@@ -235,49 +196,11 @@ void ProfileOAuth2TokenServiceDelegateAndroid::OnAccessTokenInvalidated(
     const std::string& client_id,
     const OAuth2AccessTokenManager::ScopeSet& scopes,
     const std::string& access_token) {
-  ValidateAccountId(account_id);
-  JNIEnv* env = AttachCurrentThread();
-  ScopedJavaLocalRef<jstring> j_access_token =
-      ConvertUTF8ToJavaString(env, access_token);
-  signin::Java_ProfileOAuth2TokenServiceDelegate_invalidateAccessToken(
-      env, java_ref_, j_access_token);
 }
 
 void ProfileOAuth2TokenServiceDelegateAndroid::
     ReloadAllAccountsFromSystemWithPrimaryAccount(
         const absl::optional<CoreAccountId>& primary_account_id) {
-  JNIEnv* env = AttachCurrentThread();
-
-  ScopedJavaLocalRef<jstring> j_account_id =
-      primary_account_id.has_value()
-          ? ConvertUTF8ToJavaString(env, primary_account_id->ToString())
-          : nullptr;
-  signin::
-      Java_ProfileOAuth2TokenServiceDelegate_seedAndReloadAccountsWithPrimaryAccount(
-          env, java_ref_, j_account_id);
-}
-
-void ProfileOAuth2TokenServiceDelegateAndroid::
-    ReloadAllAccountsWithPrimaryAccountAfterSeeding(
-        JNIEnv* env,
-        const base::android::JavaParamRef<jstring>& j_primary_account_id,
-        const base::android::JavaParamRef<jobjectArray>&
-            j_device_account_names) {
-  absl::optional<CoreAccountId> primary_account_id;
-  if (j_primary_account_id) {
-    primary_account_id = CoreAccountId::FromString(
-        ConvertJavaStringToUTF8(env, j_primary_account_id));
-  }
-  std::vector<std::string> device_account_names;
-  base::android::AppendJavaStringArrayToStringVector(
-      env, j_device_account_names, &device_account_names);
-  std::vector<CoreAccountId> account_ids;
-  for (const std::string& name : device_account_names) {
-    CoreAccountId id(MapAccountNameToAccountId(name));
-    if (!id.empty())
-      account_ids.push_back(std::move(id));
-  }
-  UpdateAccountList(primary_account_id, GetValidAccounts(), account_ids);
 }
 
 void ProfileOAuth2TokenServiceDelegateAndroid::UpdateAccountList(
@@ -433,40 +356,3 @@ ProfileOAuth2TokenServiceDelegateAndroid::MapAccountNameToAccountId(
       << "Can't find account id, account_name=" << account_name;
   return account_id;
 }
-
-namespace signin {
-
-// Called from Java when fetching of an OAuth2 token is finished. The
-// |authToken| param is only valid when |result| is true.
-// |expiration_time_secs| param is the number of seconds (NOT milliseconds)
-// after the Unix epoch when the token is scheduled to expire.
-// It is set to 0 if there's no known expiration time.
-void JNI_ProfileOAuth2TokenServiceDelegate_OnOAuth2TokenFetched(
-    JNIEnv* env,
-    const JavaParamRef<jstring>& authToken,
-    const jlong expiration_time_secs,
-    jboolean isTransientError,
-    jlong nativeCallback) {
-  std::string token;
-  if (authToken)
-    token = ConvertJavaStringToUTF8(env, authToken);
-  std::unique_ptr<FetchOAuth2TokenCallback> heap_callback(
-      reinterpret_cast<FetchOAuth2TokenCallback*>(nativeCallback));
-  GoogleServiceAuthError err = GoogleServiceAuthError::AuthErrorNone();
-  if (!authToken) {
-    err =
-        isTransientError
-            ? GoogleServiceAuthError(GoogleServiceAuthError::CONNECTION_FAILED)
-            : GoogleServiceAuthError::FromInvalidGaiaCredentialsReason(
-                  GoogleServiceAuthError::InvalidGaiaCredentialsReason::
-                      CREDENTIALS_REJECTED_BY_SERVER);
-  }
-
-  const base::Time expiration_time =
-      expiration_time_secs == 0
-          ? base::Time()
-          : base::Time::FromJavaTime(expiration_time_secs * 1000);
-
-  std::move(*heap_callback).Run(err, token, expiration_time);
-}
-}  // namespace signin
diff --git a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h
--- a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h
+++ b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h
@@ -57,14 +57,6 @@ class ProfileOAuth2TokenServiceDelegateAndroid
   void ReloadAllAccountsFromSystemWithPrimaryAccount(
       const absl::optional<CoreAccountId>& primary_account_id) override;
 
-  // Resumes the reload of accounts once the account seeding is complete.
-  // TODO(crbug.com/934688) Once ProfileOAuth2TokenServiceDelegate.java is
-  // internalized, use CoreAccountId instead of String.
-  void ReloadAllAccountsWithPrimaryAccountAfterSeeding(
-      JNIEnv* env,
-      const base::android::JavaParamRef<jstring>& j_primary_account_id,
-      const base::android::JavaParamRef<jobjectArray>& j_device_account_names);
-
   // Takes a the signed in sync account as well as all the other
   // android account ids and check the token status of each.
   // NOTE: TokenAvailable notifications will be sent for all accounts, even if
@@ -115,8 +107,6 @@ class ProfileOAuth2TokenServiceDelegateAndroid
   // Set accounts that have been advertised by OnRefreshTokenAvailable.
   virtual void SetAccounts(const std::vector<CoreAccountId>& accounts);
 
-  base::android::ScopedJavaGlobalRef<jobject> java_ref_;
-
   // Accounts that have been advertised by OnRefreshTokenAvailable.
   std::vector<CoreAccountId> accounts_;
 
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
--- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
@@ -130,13 +130,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
     }
 
     protected boolean hasFeatures(Account account, String[] features) {
-        if (hasGetAccountsPermission()) {
-            try {
-                return mAccountManager.hasFeatures(account, features, null, null).getResult();
-            } catch (AuthenticatorException | IOException | OperationCanceledException e) {
-                Log.e(TAG, "Error while checking features: ", e);
-            }
-        }
         return false;
     }
 
@@ -177,25 +170,9 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
     public void updateCredentials(
             Account account, Activity activity, final Callback<Boolean> callback) {
         ThreadUtils.assertOnUiThread();
-        AccountManagerCallback<Bundle> realCallback = future -> {
-            Bundle bundle = null;
-            try {
-                bundle = future.getResult();
-            } catch (AuthenticatorException | IOException e) {
-                Log.e(TAG, "Error while update credentials: ", e);
-            } catch (OperationCanceledException e) {
-                Log.w(TAG, "Updating credentials was cancelled.");
-            }
-            boolean success =
-                    bundle != null && bundle.getString(AccountManager.KEY_ACCOUNT_TYPE) != null;
             if (callback != null) {
-                callback.onResult(success);
+                callback.onResult(false);
             }
-        };
-        // Android 4.4 throws NullPointerException if null is passed
-        Bundle emptyOptions = new Bundle();
-        mAccountManager.updateCredentials(
-                account, "android", emptyOptions, activity, realCallback, null);
     }
 
     @Nullable
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java
--- a/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java
@@ -82,31 +82,6 @@ final class ProfileOAuth2TokenServiceDelegate {
     private void getAccessTokenFromNative(
             String accountEmail, String scope, final long nativeCallback) {
         assert accountEmail != null : "Account email cannot be null!";
-        mAccountManagerFacade.getAccounts().then(accounts -> {
-            final Account account = AccountUtils.findAccountByName(accounts, accountEmail);
-            if (account == null) {
-                ThreadUtils.postOnUiThread(() -> {
-                    ProfileOAuth2TokenServiceDelegateJni.get().onOAuth2TokenFetched(
-                            null, AccessTokenData.NO_KNOWN_EXPIRATION_TIME, false, nativeCallback);
-                });
-                return;
-            }
-            String oauth2Scope = OAUTH2_SCOPE_PREFIX + scope;
-            getAccessToken(account, oauth2Scope, new GetAccessTokenCallback() {
-                @Override
-                public void onGetTokenSuccess(AccessTokenData token) {
-                    ProfileOAuth2TokenServiceDelegateJni.get().onOAuth2TokenFetched(
-                            token.getToken(), token.getExpirationTimeSecs(), false, nativeCallback);
-                }
-
-                @Override
-                public void onGetTokenFailure(boolean isTransientError) {
-                    ProfileOAuth2TokenServiceDelegateJni.get().onOAuth2TokenFetched(null,
-                            AccessTokenData.NO_KNOWN_EXPIRATION_TIME, isTransientError,
-                            nativeCallback);
-                }
-            });
-        });
     }
 
     /**
@@ -161,32 +136,5 @@ final class ProfileOAuth2TokenServiceDelegate {
     @CalledByNative
     void seedAndReloadAccountsWithPrimaryAccount(@Nullable String primaryAccountId) {
         ThreadUtils.assertOnUiThread();
-        mAccountTrackerService.seedAccountsIfNeeded(() -> {
-            final List<Account> accounts = AccountUtils.getAccountsIfFulfilledOrEmpty(
-                    AccountManagerFacadeProvider.getInstance().getAccounts());
-            ProfileOAuth2TokenServiceDelegateJni.get()
-                    .reloadAllAccountsWithPrimaryAccountAfterSeeding(
-                            mNativeProfileOAuth2TokenServiceDelegate, primaryAccountId,
-                            AccountUtils.toAccountNames(accounts).toArray(new String[0]));
-        });
-    }
-
-    @NativeMethods
-    interface Natives {
-        /**
-         * Called to C++ when fetching of an OAuth2 token is finished.
-         * @param authToken The string value of the OAuth2 token.
-         * @param expirationTimeSecs The number of seconds after the Unix epoch when the token is
-         *         scheduled to expire. It is set to 0 if there's no known expiration time.
-         * @param isTransientError Indicates if the error is transient (network timeout or
-         *          * unavailable, etc) or persistent (bad credentials, permission denied, etc).
-         * @param nativeCallback the pointer to the native callback that should be run upon
-         *         completion.
-         */
-        void onOAuth2TokenFetched(String authToken, long expirationTimeSecs,
-                boolean isTransientError, long nativeCallback);
-        void reloadAllAccountsWithPrimaryAccountAfterSeeding(
-                long nativeProfileOAuth2TokenServiceDelegateAndroid, @Nullable String accountId,
-                String[] deviceAccountNames);
     }
 }
diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
--- a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
+++ b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
@@ -98,54 +98,8 @@ public class HttpNegotiateAuthenticator {
 
         @Override
         public void run(AccountManagerFuture<Account[]> future) {
-            Account[] accounts;
-            try {
-                accounts = future.getResult();
-            } catch (OperationCanceledException | AuthenticatorException | IOException e) {
-                Log.w(TAG, "ERR_UNEXPECTED: Error while attempting to retrieve accounts.", e);
-                HttpNegotiateAuthenticatorJni.get().setResult(mRequestData.nativeResultObject,
-                        HttpNegotiateAuthenticator.this, NetError.ERR_UNEXPECTED, null);
-                return;
-            }
-
-            if (accounts.length == 0) {
-                Log.w(TAG, "ERR_MISSING_AUTH_CREDENTIALS: No account provided for the kerberos "
-                                + "authentication. Please verify the configuration policies and "
-                                + "that the CONTACTS runtime permission is granted. ");
-                HttpNegotiateAuthenticatorJni.get().setResult(mRequestData.nativeResultObject,
-                        HttpNegotiateAuthenticator.this, NetError.ERR_MISSING_AUTH_CREDENTIALS,
-                        null);
-                return;
-            }
-
-            if (accounts.length > 1) {
-                Log.w(TAG, "ERR_MISSING_AUTH_CREDENTIALS: Found %d accounts eligible for the "
-                                + "kerberos authentication. Please fix the configuration by "
-                                + "providing a single account.",
-                        accounts.length);
-                HttpNegotiateAuthenticatorJni.get().setResult(mRequestData.nativeResultObject,
-                        HttpNegotiateAuthenticator.this, NetError.ERR_MISSING_AUTH_CREDENTIALS,
-                        null);
-                return;
-            }
-
-            if (lacksPermission(ContextUtils.getApplicationContext(),
-                        "android.permission.USE_CREDENTIALS", true)) {
-                // Protecting the AccountManager#getAuthToken call.
-                // API  < 23 Requires the USE_CREDENTIALS permission or throws an exception.
-                // API >= 23 USE_CREDENTIALS permission is removed
-                Log.e(TAG, "ERR_MISCONFIGURED_AUTH_ENVIRONMENT: USE_CREDENTIALS permission not "
-                                + "granted. Aborting authentication.");
-                HttpNegotiateAuthenticatorJni.get().setResult(mRequestData.nativeResultObject,
-                        HttpNegotiateAuthenticator.this,
-                        NetError.ERR_MISCONFIGURED_AUTH_ENVIRONMENT, null);
-                return;
-            }
-            mRequestData.account = accounts[0];
-            mRequestData.accountManager.getAuthToken(mRequestData.account,
-                    mRequestData.authTokenType, mRequestData.options, true /* notifyAuthFailure */,
-                    new GetTokenCallback(mRequestData),
-                    new Handler(ThreadUtils.getUiThreadLooper()));
+            // account-based authentication removed for privacy-violations concerns
+            return;
         }
     }
 
@@ -158,42 +112,8 @@ public class HttpNegotiateAuthenticator {
 
         @Override
         public void run(AccountManagerFuture<Bundle> future) {
-            Bundle result;
-            try {
-                result = future.getResult();
-            } catch (OperationCanceledException | AuthenticatorException | IOException e) {
-                Log.w(TAG, "ERR_UNEXPECTED: Error while attempting to obtain a token.", e);
-                HttpNegotiateAuthenticatorJni.get().setResult(mRequestData.nativeResultObject,
-                        HttpNegotiateAuthenticator.this, NetError.ERR_UNEXPECTED, null);
-                return;
-            }
-
-            if (result.containsKey(AccountManager.KEY_INTENT)) {
-                final Context appContext = ContextUtils.getApplicationContext();
-
-                // We wait for a broadcast that should be sent once the user is done interacting
-                // with the notification
-                // TODO(dgn) We currently hang around if the notification is swiped away, until
-                // a LOGIN_ACCOUNTS_CHANGED_ACTION filter is received. It might be for something
-                // unrelated then we would wait again here. Maybe we should limit the number of
-                // retries in some way?
-                BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
-
-                    @Override
-                    public void onReceive(Context context, Intent intent) {
-                        appContext.unregisterReceiver(this);
-                        mRequestData.accountManager.getAuthToken(mRequestData.account,
-                                mRequestData.authTokenType, mRequestData.options,
-                                true /* notifyAuthFailure */, new GetTokenCallback(mRequestData),
-                                null);
-                    }
-
-                };
-                appContext.registerReceiver(broadcastReceiver,
-                        new IntentFilter(AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION));
-            } else {
-                processResult(result, mRequestData);
-            }
+            // account-based authentication removed for privacy-violations concerns
+            return;
         }
     }
 
diff --git a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java b/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
--- a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
+++ b/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
@@ -93,7 +93,6 @@ public class OAuthTokenFetcher {
 
     /** Begins fetching a token. Should be called on the main thread. */
     public void fetch() {
-        fetchImpl(null);
     }
 
     /**
@@ -102,7 +101,6 @@ public class OAuthTokenFetcher {
      * @param expiredToken A previously-fetched token which has expired.
      */
     public void clearAndFetch(String expiredToken) {
-        fetchImpl(expiredToken);
     }
 
     private void fetchImpl(final String expiredToken) {
--
2.25.1
