bromite/build/patches/Remove-signin-and-sync-integrations.patch
2022-12-02 23:01:37 +01:00

5773 lines
298 KiB
Diff

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 | 29 ---
.../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 | 6 -
.../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 | 23 --
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(+), 2657 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 0f031a2868e67..caf13898e1a57 100644
--- 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
index 6cdd0540f5df6..1073445881dc4 100644
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -604,14 +604,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 +812,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 +1019,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 +1059,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
index e86f698f1d2af..1d634c2cc1264 100644
--- 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
index 27faaa9541374..032d6a119e2e3 100644
--- 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
index f69ae57a2f2fd..931328969e027 100644
--- 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
index a368eb5f815aa..b2aae9564581c 100644
--- 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
index ecbdd3059f8c7..0f5ffcaa629b0 100644
--- 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
index 49c54ff1561e3..76a0e2d4df5cc 100644
--- 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
index 89ed83da592f2..8ad28637ab304 100644
--- 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
index bfa6d50c8d39f..7aa5bcf1516ff 100644
--- 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
index c1138824f6ada..78f86e48ed582 100644
--- 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
index b7dcb7bf99ee3..4f5970e4764ae 100644
--- 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
index dfc636f01840e..a3fb6a444e0aa 100644
--- 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
index 17b5e02cca3b4..24ce0568a3d3d 100644
--- 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
index 4afa78d4c548d..8297f9cbd09d6 100644
--- 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
index e614b4ad3dbae..c32175b68fc55 100644
--- 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
index 9436435ccc7e0..0614579bdc4d2 100644
--- 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
index 04221bf74c207..4a93e3ba84757 100644
--- 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
index 5df07363ae91b..7065cabc95040 100644
--- 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
index 8beac4f879b60..badcf03e1e8f6 100644
--- 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
index 8741e16a7f40a..908def6d64dfb 100644
--- 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
index 8ddd7a681de16..84fa2a626b085 100644
--- 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
index 868e7d0a977a4..ed1e92ed707ee 100644
--- 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
index e55f1f2d4a6eb..ae9dd5cc30e92 100644
--- 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
index a5660c00a2c59..0ea1c062b0ac9 100644
--- 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
index f2f9d3627ad25..744d1132d6717 100644
--- 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
index 37971313eb4be..fb7c722eccddb 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
@@ -38,7 +38,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 +150,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
index 5a6ab47c4e220..c0a9a713bdc09 100644
--- 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
index 4d25043b908d0..9a00153b73f9b 100644
--- 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
index 5a5859268eddc..d51ee2ab09dfe 100644
--- 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
index 59df52b3c22bb..27eb327d4317e 100644
--- 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
index dad2f4b85ac07..7fa7ba18b359c 100644
--- 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
index d7d380baff083..2a483d309c41c 100644
--- 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
index f38b9c54c1dea..1a0d1623b6c6d 100644
--- 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
index c7be9c57cc71f..79b6ebf4e0f12 100644
--- 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
index d4d86f1d7b873..acfa5fe652077 100644
--- 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
index a11b3dc4be9ff..59d85c2dbff0d 100644
--- 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
index db90edc0b3a42..e5ed12b4b09a7 100644
--- 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
index 376188a02cbe9..5a067708c0a50 100644
--- 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
index 6ca6c827c53fb..a7c20b1e00b6f 100644
--- 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
index 82ed6bc9903b8..4e707f02b49b0 100644
--- 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
index 2c7b85cf3f3f6..22f27616abd9a 100644
--- 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
index aebfccbd8ed48..4580c5acd0423 100644
--- 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
index bbb81ffa4dd42..b80e445b054e3 100644
--- 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
index c72bed9714299..d7584e423dc15 100644
--- 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
index e7ed0dc2de19b..022dc0eafe21d 100644
--- 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
index 22d7f6ceb64f1..29d2504bd0dfd 100644
--- 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
index 52d2aca4696f1..1068880ccaa3c 100644
--- 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
index 652295470f088..e1007ef45ae29 100644
--- 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
index 1e9f8ec45fbf9..bd5c999c857e0 100644
--- 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
index 21c55be58323c..80345d7f7a4f2 100644
--- 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
index 4d0b4a14f0938..3f8a0949129af 100644
--- 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
index 2d2f01a9c6018..56cd99c136c38 100644
--- 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
index 4643199049c70..c2bb40406f546 100644
--- 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
index 0627d03bc9828..e1b30f6419af8 100644
--- 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
index c89c056797d1d..3c74ec1ef62b0 100644
--- 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
index 6494924c202cf..ac1a3ae2e9e3c 100644
--- 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
index b0e750f61e79a..16bf9302a8b6b 100644
--- 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
index 918429efc16ae..4f67bba616cfe 100644
--- 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
index 64b32b43e93ee..d72ab75941675 100644
--- 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
index 7b10e5b24a8ba..8ce9fe7ba6a61 100644
--- 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
index c511455a54c2f..5368107460273 100644
--- 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
index 4a1055cc3ed1c..4118bfc09fe3a 100644
--- 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
index 28fe606bf2827..6cdf44866f394 100644
--- 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
index 25feeb1c0812a..a32987f39e19f 100644
--- 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
index 79bf41d750d3c..d57e44844fc71 100644
--- 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
index 7f048afdc8a97..a7508a301d0e0 100644
--- 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
index d23d61f5a4a68..e8d82ce6ee4b7 100644
--- 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
index f1c3b48808133..7aced24f9b1c2 100644
--- 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
index 4b207fe86ed3e..4466f6829ba1b 100644
--- 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
index 7c1e5659fe08c..032cb1dc7ba7e 100644
--- 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
index 0ea925f49550b..84c5af3133ae2 100644
--- 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
index 833a908edff46..22d0ce917a68c 100644
--- 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
index e1ddfa55746b9..112855cd7be79 100644
--- 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
index d8cc04790b800..d39bf8018f2fb 100644
--- 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
index 419156464725d..977d8ea5080a2 100644
--- 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
index a091589f66e6e..32f5c6e1a9acf 100644
--- 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
index 13c82b6cb8189..94d859e2d95db 100644
--- 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
index 204b52b649437..7e719b6ec718f 100644
--- 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
index b1c0447353c0d..7212a21b65b6f 100644
--- 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
index ed105548ad01b..d514566ff00ef 100644
--- 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
index 3fc963174c75b..e294f2971becf 100644
--- 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
index a7d32c7a160fe..79aa98f05daf9 100644
--- 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
index 1de07e86fea85..489f9eb430272 100644
--- 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
index 50880872d6a4d..63ea0bf0e34e4 100644
--- 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
@@ -43,28 +43,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
index 364548e74ab8a..96d42d4c54b26 100644
--- 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
index d0fde55a10c64..4c1dfd537f00d 100644
--- 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
index 9a58a574b2efe..d28925e7527e2 100644
--- 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
index 78a7dca81587c..eb3219f53ea1a 100644
--- 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
index f315219b83476..b978ab55b2645 100644
--- 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
index cde57efdfe6ed..96f3733f1c851 100644
--- 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
index 4517fd9978bcd..75957c82b58a2 100644
--- 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
index a90be32b580b4..419dc2fce9b2b 100644
--- 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
index 8ffffbeb79f77..134e7e9044972 100644
--- 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
index 537121ca5d84b..29468f1d7cf42 100644
--- 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
index c5962561f9907..d0c9963d0c926 100644
--- 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
index fb5eac9291535..013dd53573172 100644
--- 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
index 39cb192483187..9f33446bfd35d 100644
--- 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
index cdc78222d46ad..fbe1738e9762d 100644
--- 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
index c02e1ca52ea7c..b8d53126a5c1a 100644
--- 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
index 7c0cecc7690f5..29013799417c4 100644
--- 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
index 1bdb6a0ab74f8..98acadce88644 100644
--- 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
index 39e0eb20d02a1..56d8a5ee40e3a 100644
--- 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
index f95f4c5e164cf..11e79536790f7 100644
--- 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
index 0326ff68cac44..2455fbd49c79d 100644
--- 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
index 1141bcfc51437..954996621a275 100644
--- 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
index db51888cdcb56..da2fb50a0ebb3 100644
--- 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.30.2