diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index d67aede4..a5fad88a 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -402,7 +402,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn ] configs += [ -@@ -3446,8 +3450,6 @@ static_library("browser") { +@@ -3442,8 +3446,6 @@ static_library("browser") { "badging/badge_manager_factory.h", "banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.h", diff --git a/build/patches/Bromite-AdBlockUpdaterService.patch b/build/patches/Bromite-AdBlockUpdaterService.patch index f9959f8a..dd30d397 100644 --- a/build/patches/Bromite-AdBlockUpdaterService.patch +++ b/build/patches/Bromite-AdBlockUpdaterService.patch @@ -2054,7 +2054,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f + { + subresource_filter::ActivationDecision ignored_decision; + mojom::ActivationState ad_filtering_state; -+ ad_filtering_state.activation_level = client_->OnPageActivationComputed( ++ ad_filtering_state.activation_level = client_->GetProfileInteractionManager()->OnPageActivationComputed( + navigation_handle, mojom::ActivationLevel::kEnabled, &ignored_decision); + throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), + ad_filtering_state); diff --git a/build/patches/Disable-media-router-and-remoting-by-default.patch b/build/patches/Disable-media-router-and-remoting-by-default.patch index fd5bb022..8d25c45d 100644 --- a/build/patches/Disable-media-router-and-remoting-by-default.patch +++ b/build/patches/Disable-media-router-and-remoting-by-default.patch @@ -3,22 +3,50 @@ Date: Thu, 4 Jul 2019 19:08:52 -0400 Subject: Disable media router and remoting by default --- - chrome/browser/media/router/media_router_feature.cc | 1 + - chrome/browser/profiles/profile.cc | 2 +- - chrome/browser/profiles/profile_impl.cc | 2 +- - 3 files changed, 3 insertions(+), 2 deletions(-) + .../browser/media/router/media_router_feature.cc | 15 +++------------ + chrome/browser/profiles/profile.cc | 2 +- + chrome/browser/profiles/profile_impl.cc | 2 +- + 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc --- a/chrome/browser/media/router/media_router_feature.cc +++ b/chrome/browser/media/router/media_router_feature.cc -@@ -64,6 +64,7 @@ const PrefService::Preference* GetMediaRouterPref( - #endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS) +@@ -53,16 +53,6 @@ const base::Feature kAllowAllSitesToInitiateMirroring{ + "AllowAllSitesToInitiateMirroring", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // !defined(OS_ANDROID) +-#if defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS) +-namespace { +-const PrefService::Preference* GetMediaRouterPref( +- content::BrowserContext* context) { +- return user_prefs::UserPrefs::Get(context)->FindPreference( +- ::prefs::kEnableMediaRouter); +-} +-} // namespace +-#endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS) +- bool MediaRouterEnabled(content::BrowserContext* context) { -+ return false; #if !defined(OFFICIAL_BUILD) && !defined(OS_ANDROID) if (!base::FeatureList::IsEnabled(kMediaRouter)) - return false; +@@ -70,7 +60,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) { + #endif // !defined(OFFICIAL_BUILD) && !defined(OS_ANDROID) + + #if defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS) +- static base::NoDestructor> ++/* static base::NoDestructor> + stored_pref_values; + + // If the Media Router was already enabled or disabled for |context|, then it +@@ -91,7 +81,8 @@ bool MediaRouterEnabled(content::BrowserContext* context) { + + // The component extension cannot be loaded in guest sessions. + // TODO(crbug.com/756243): Figure out why. +- return !Profile::FromBrowserContext(context)->IsGuestSession(); ++ return !Profile::FromBrowserContext(context)->IsGuestSession(); */ ++ return false; + #else // !(defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)) + return false; + #endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS) diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc --- a/chrome/browser/profiles/profile.cc +++ b/chrome/browser/profiles/profile.cc diff --git a/build/patches/Disable-safe-browsing.patch b/build/patches/Disable-safe-browsing.patch index 2fc41771..fc47ae20 100644 --- a/build/patches/Disable-safe-browsing.patch +++ b/build/patches/Disable-safe-browsing.patch @@ -54,7 +54,6 @@ Disable CrowdDeny feature chrome/browser/safe_browsing/BUILD.gn | 3 +- chrome/browser/safe_browsing/android/BUILD.gn | 3 - .../safe_browsing/SafeBrowsingBridge.java | 71 ------------------- - .../password_reuse_controller_android.h | 6 ++ .../android/safe_browsing_bridge.cc | 51 ------------- .../download_protection_service.cc | 7 -- .../download_protection_service.h | 5 -- @@ -78,7 +77,7 @@ Disable CrowdDeny feature .../native_file_system_file_writer_impl.cc | 59 +-------------- .../native_file_system_file_writer_impl.h | 9 +-- .../file_system_access_permission_context.h | 6 -- - 72 files changed, 186 insertions(+), 732 deletions(-) + 71 files changed, 180 insertions(+), 732 deletions(-) diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml --- a/chrome/android/java/res/xml/google_services_preferences.xml @@ -2004,38 +2003,6 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b - boolean isSafeBrowsingManaged(); } } -diff --git a/chrome/browser/safe_browsing/android/password_reuse_controller_android.h b/chrome/browser/safe_browsing/android/password_reuse_controller_android.h ---- a/chrome/browser/safe_browsing/android/password_reuse_controller_android.h -+++ b/chrome/browser/safe_browsing/android/password_reuse_controller_android.h -@@ -48,14 +48,18 @@ class PasswordReuseControllerAndroid - // The following functions are called from |PasswordReuseDialogViewAndroid|, - // to get text shown on the dialog. - base::string16 GetButtonText() const; -+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) - // Get the detailed warning text that should show in the modal warning dialog. - // |placeholder_offsets| are the start points/indices of the placeholders that - // are passed into the resource string. - base::string16 GetWarningDetailText( - std::vector* placeholder_offsets) const; -+#endif - base::string16 GetTitle() const; -+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) - const std::vector GetPlaceholdersForSavedPasswordWarningText() - const; -+#endif - - // ChromePasswordProtectionService::Observer: - void OnGaiaPasswordChanged() override; -@@ -68,7 +72,9 @@ class PasswordReuseControllerAndroid - - private: - std::unique_ptr dialog_view_; -+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED) - ChromePasswordProtectionService* service_; -+#endif - const GURL url_; - const ReusedPasswordAccountType password_type_; - ui::WindowAndroid* window_android_; diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc --- a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc +++ b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc @@ -2675,7 +2642,7 @@ diff --git a/content/browser/file_system_access/native_file_system_file_writer_i - std::move(item), context().frame_id, - base::BindOnce(&NativeFileSystemFileWriterImpl::DidAfterWriteCheck, - weak_factory_.GetWeakPtr())); -+ DidPassAfterWriteCheck(std::move(callback)); ++ DidAfterWriteCheck(FileSystemAccessPermissionContext::AfterWriteCheckResult::kAllow); } void NativeFileSystemFileWriterImpl::DidAfterWriteCheck( diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index 2eef8544..b93417fc 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -268,7 +268,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/settings/MainSettings.java", "java/src/org/chromium/chrome/browser/settings/SettingsActivity.java", "java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java", -@@ -1510,9 +1505,6 @@ chrome_java_sources = [ +@@ -1509,9 +1504,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/webapps/addtohomescreen/AddToHomescreenViewBinder.java", "java/src/org/chromium/chrome/browser/webauth/AuthenticatorFactory.java", "java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java", @@ -1499,7 +1499,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/ diff --git a/chrome/browser/signin/services/android/BUILD.gn b/chrome/browser/signin/services/android/BUILD.gn --- a/chrome/browser/signin/services/android/BUILD.gn +++ b/chrome/browser/signin/services/android/BUILD.gn -@@ -27,7 +27,6 @@ android_library("java") { +@@ -28,7 +28,6 @@ android_library("java") { ] deps = [ ":java_resources", diff --git a/build/patches/Remove-signin-and-data-saver-integrations.patch b/build/patches/Remove-signin-and-data-saver-integrations.patch index e808285b..63687f7c 100644 --- a/build/patches/Remove-signin-and-data-saver-integrations.patch +++ b/build/patches/Remove-signin-and-data-saver-integrations.patch @@ -19,26 +19,47 @@ 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 --- + chrome/android/chrome_java_sources.gni | 1 - chrome/android/java/AndroidManifest.xml | 8 - .../android/java/res/xml/main_preferences.xml | 9 - .../chrome/browser/app/ChromeActivity.java | 34 ---- - .../bookmarks/BookmarkItemsAdapter.java | 30 +--- - .../bookmarks/BookmarkPromoHeader.java | 161 +---------------- + .../bookmarks/BookmarkItemsAdapter.java | 30 +-- + .../bookmarks/BookmarkPromoHeader.java | 173 +----------------- .../DataReductionPreferenceFragment.java | 24 +-- + .../init/ChromeBrowserInitializer.java | 2 - + .../init/ProcessInitializationHandler.java | 2 - .../privacy/settings/PrivacySettings.java | 44 +---- - .../chrome/browser/settings/MainSettings.java | 166 +----------------- + .../services/AccountsChangedReceiver.java | 2 - + .../chrome/browser/settings/MainSettings.java | 166 +---------------- + .../browser/signin/SigninHelperProvider.java | 36 ---- .../browser/sync/AndroidSyncSettings.java | 28 +-- .../settings/SyncAndServicesSettings.java | 8 - - .../android/signin/signin_manager_android.cc | 1 - - .../browser/signin/services/android/BUILD.gn | 2 - + chrome/browser/BUILD.gn | 8 - + .../identity_services_provider_android.cc | 9 - + .../browser/signin/services/android/BUILD.gn | 1 - .../services/IdentityServicesProvider.java | 14 -- + .../ui/ConfirmImportSyncDataDialog.java | 5 +- + .../ui/ConfirmSyncDataStateMachine.java | 16 +- + .../signin/ui/SignOutDialogFragment.java | 13 -- .../signin/ui/SigninPromoController.java | 23 +-- .../strings/android_chrome_strings.grd | 18 -- .../signin/SystemAccountManagerDelegate.java | 38 +--- - .../net/HttpNegotiateAuthenticator.java | 88 +--------- + .../net/HttpNegotiateAuthenticator.java | 88 +-------- .../chromoting/base/OAuthTokenFetcher.java | 2 - - 18 files changed, 26 insertions(+), 672 deletions(-) + 27 files changed, 26 insertions(+), 776 deletions(-) + delete mode 100644 chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java +diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni +--- a/chrome/android/chrome_java_sources.gni ++++ b/chrome/android/chrome_java_sources.gni +@@ -1244,7 +1244,6 @@ chrome_java_sources = [ + "java/src/org/chromium/chrome/browser/signin/SigninActivityLauncherImpl.java", + "java/src/org/chromium/chrome/browser/signin/SigninFragment.java", + "java/src/org/chromium/chrome/browser/signin/SigninFragmentBase.java", +- "java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java", + "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java", + "java/src/org/chromium/chrome/browser/signin/SigninPromoUtil.java", + "java/src/org/chromium/chrome/browser/signin/SigninUtils.java", diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml @@ -284,17 +305,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -@@ -43,8 +27,7 @@ import java.lang.annotation.RetentionPolicy; +@@ -43,9 +27,7 @@ import java.lang.annotation.RetentionPolicy; * 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). */ -class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener, - SignInStateObserver, ProfileDataCache.Observer, -+class BookmarkPromoHeader implements ProfileDataCache.Observer, - AccountsChangeObserver { +- AccountsChangeObserver { ++class BookmarkPromoHeader { /** * Specifies the various states in which the Bookmarks promo can be. -@@ -65,14 +48,10 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener + */ +@@ -65,14 +47,9 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener private static @Nullable @PromoState Integer sPromoStateForTests; private final Context mContext; @@ -302,14 +324,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - private final AccountManagerFacade mAccountManagerFacade; private final Runnable mPromoHeaderChangeAction; - private @Nullable ProfileDataCache mProfileDataCache; +- private @Nullable ProfileDataCache mProfileDataCache; - private final @Nullable SigninPromoController mSigninPromoController; private @PromoState int mPromoState; - private final @Nullable ProfileSyncService mProfileSyncService; /** * Initializes the class. Note that this will start listening to signin related events and -@@ -82,47 +61,21 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener +@@ -82,47 +59,17 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener mContext = context; mPromoHeaderChangeAction = promoHeaderChangeAction; @@ -327,7 +349,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm SharedPreferencesManager.getInstance().incrementInt( ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT); } - +- - if (SigninPromoController.hasNotReachedImpressionLimit( - SigninAccessPoint.BOOKMARK_MANAGER)) { - mProfileDataCache = ProfileDataCache.createProfileDataCache(mContext); @@ -339,8 +361,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - mProfileDataCache = null; - mSigninPromoController = null; - } -+ mProfileDataCache = ProfileDataCache.createProfileDataCache(mContext); -+ mProfileDataCache.addObserver(this); } /** @@ -356,11 +376,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - } - - mSignInManager.removeSignInStateObserver(this); -+ mProfileDataCache.removeObserver(this); } /** -@@ -133,18 +86,6 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener +@@ -133,18 +80,6 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener return mPromoState; } @@ -379,7 +398,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * @return Sync promo header {@link ViewHolder} instance that can be used with * {@link RecyclerView}. -@@ -156,54 +97,11 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener +@@ -156,54 +91,11 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener return new ViewHolder(view) {}; } @@ -435,7 +454,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } private @PromoState int calculatePromoState() { -@@ -211,57 +109,9 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener +@@ -211,71 +103,10 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener return sPromoStateForTests; } @@ -490,12 +509,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - triggerPromoUpdate(); - } - - // ProfileDataCache.Observer implementation. - @Override - public void onProfileDataUpdated(String accountEmail) { -@@ -275,7 +125,6 @@ class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener - } - +- // ProfileDataCache.Observer implementation. +- @Override +- public void onProfileDataUpdated(String accountEmail) { +- triggerPromoUpdate(); +- } +- +- // AccountsChangeObserver implementation. +- @Override +- public void onAccountsChanged() { +- triggerPromoUpdate(); +- } +- private void triggerPromoUpdate() { - detachPersonalizePromoView(); mPromoHeaderChangeAction.run(); @@ -542,6 +567,44 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/s } /** +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java +@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.app.flags.ChromeCachedFlags; + import org.chromium.chrome.browser.crash.LogcatExtractionRunnable; + import org.chromium.chrome.browser.download.DownloadManagerService; + import org.chromium.chrome.browser.flags.ChromeSwitches; +-import org.chromium.chrome.browser.signin.SigninHelperProvider; + import org.chromium.chrome.browser.webapps.ChromeWebApkHost; + import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; + import org.chromium.components.crash.browser.ChildProcessCrashObserver; +@@ -354,7 +353,6 @@ public class ChromeBrowserInitializer { + LibraryPrefetcher.asyncPrefetchLibrariesToMemory(); + getBrowserStartupController().startBrowserProcessesSync( + LibraryProcessType.PROCESS_BROWSER, /*singleProcess=*/false); +- SigninHelperProvider.get(); + } finally { + TraceEvent.end("ChromeBrowserInitializer.startChromeBrowserProcessesSync"); + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +@@ -75,7 +75,6 @@ import org.chromium.chrome.browser.rlz.RevenueStats; + import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider; + import org.chromium.chrome.browser.share.clipboard.ClipboardImageFileProvider; + import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity; +-import org.chromium.chrome.browser.signin.SigninHelperProvider; + import org.chromium.chrome.browser.sync.SyncController; + import org.chromium.chrome.browser.uid.UniqueIdentificationGeneratorFactory; + import org.chromium.chrome.browser.uid.UuidBasedUniqueIdentificationGenerator; +@@ -389,7 +388,6 @@ public class ProcessInitializationHandler { + deferredStartupHandler.addDeferredTask(new Runnable() { + @Override + public void run() { +- SigninHelperProvider.get().onMainActivityStart(); + RevenueStats.getInstance(); + } + }); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java @@ -617,6 +680,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java b/chrome/android/java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java +@@ -15,7 +15,6 @@ import org.chromium.chrome.browser.init.BrowserParts; + import org.chromium.chrome.browser.init.ChromeBrowserInitializer; + import org.chromium.chrome.browser.init.EmptyBrowserParts; + import org.chromium.chrome.browser.profiles.Profile; +-import org.chromium.chrome.browser.signin.SigninHelperProvider; + import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; + import org.chromium.chrome.browser.signin.services.SigninPreferencesManager; + import org.chromium.components.signin.AccountTrackerService; +@@ -52,7 +51,6 @@ public class AccountsChangedReceiver extends BroadcastReceiver { + Profile.getLastUsedRegularProfile()); + // TODO(bsazonov): Check whether invalidateAccountSeedStatus is needed here. + trackerService.invalidateAccountSeedStatus(false /* don't refresh right now */); +- SigninHelperProvider.get().validateAccountSettings(true); + }); + } + diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java @@ -912,6 +994,47 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe if (PREF_SEARCH_ENGINE.equals(preference.getKey())) { return TemplateUrlServiceFactory.get().isDefaultSearchManaged(); } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java +deleted file mode 100644 +--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java ++++ /dev/null +@@ -1,36 +0,0 @@ +-// Copyright 2020 The Chromium Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style license that can be +-// found in the LICENSE file. +- +-package org.chromium.chrome.browser.signin; +- +-import androidx.annotation.MainThread; +- +-import org.chromium.chrome.browser.profiles.Profile; +-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; +-import org.chromium.chrome.browser.signin.services.SigninHelper; +-import org.chromium.chrome.browser.signin.services.SigninPreferencesManager; +-import org.chromium.chrome.browser.sync.SyncController; +- +-/** +- * This class is used to get a singleton instance of {@link SigninHelper}. +- */ +-public class SigninHelperProvider { +- private static SigninHelper sInstance; +- +- /** +- * @return A singleton instance of {@link SigninHelper}. +- */ +- @MainThread +- public static SigninHelper get() { +- if (sInstance == null) { +- // Initialize sync. +- SyncController.get(); +- Profile profile = Profile.getLastUsedRegularProfile(); +- sInstance = new SigninHelper(IdentityServicesProvider.get().getSigninManager(profile), +- IdentityServicesProvider.get().getAccountTrackerService(profile), +- SigninPreferencesManager.getInstance()); +- } +- return sInstance; +- } +-} diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java @@ -977,29 +1100,72 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/S SettingsUtils.addPreferencesFromResource(this, R.xml.sync_and_services_preferences); -diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/browser/android/signin/signin_manager_android.cc ---- a/chrome/browser/android/signin/signin_manager_android.cc -+++ b/chrome/browser/android/signin/signin_manager_android.cc -@@ -141,7 +141,6 @@ SigninManagerAndroid::SigninManagerAndroid( +diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn +--- a/chrome/browser/BUILD.gn ++++ b/chrome/browser/BUILD.gn +@@ -2871,8 +2871,6 @@ static_library("browser") { + "android/service_tab_launcher.h", + "android/shortcut_helper.cc", + "android/shortcut_helper.h", +- "android/signin/signin_manager_android.cc", +- "android/signin/signin_manager_android.h", + "android/signin/signin_metrics_utils.cc", + "android/signin/signin_promo_util_android.cc", + "android/signin/signin_promo_util_android.h", +@@ -3178,8 +3176,6 @@ static_library("browser") { + "sharing/sharing_service_proxy_android.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", +@@ -5521,10 +5517,6 @@ static_library("browser") { + "signin/logout_tab_helper.h", + "signin/process_dice_header_delegate_impl.cc", + "signin/process_dice_header_delegate_impl.h", +- "signin/signin_manager.cc", +- "signin/signin_manager.h", +- "signin/signin_manager_factory.cc", +- "signin/signin_manager_factory.h", + ] + if (is_win) { + sources += [ +diff --git a/chrome/browser/signin/identity_services_provider_android.cc b/chrome/browser/signin/identity_services_provider_android.cc +--- a/chrome/browser/signin/identity_services_provider_android.cc ++++ b/chrome/browser/signin/identity_services_provider_android.cc +@@ -6,7 +6,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" - java_signin_manager_ = Java_SigninManagerImpl_create( - base::android::AttachCurrentThread(), reinterpret_cast(this), -- identity_manager_->LegacyGetAccountTrackerServiceJavaObject(), - identity_manager_->GetJavaObject(), - identity_manager_->GetIdentityMutatorJavaObject()); + using base::android::JavaParamRef; +@@ -29,11 +28,3 @@ JNI_IdentityServicesProvider_GetAccountTrackerService( + IdentityManagerFactory::GetForProfile(profile); + return identity_manager->LegacyGetAccountTrackerServiceJavaObject(); } +- +-static ScopedJavaLocalRef +-JNI_IdentityServicesProvider_GetSigninManager( +- JNIEnv* env, +- const JavaParamRef& j_profile_android) { +- Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile_android); +- return SigninManagerAndroidFactory::GetJavaObjectForProfile(profile); +-} diff --git a/chrome/browser/signin/services/android/BUILD.gn b/chrome/browser/signin/services/android/BUILD.gn --- a/chrome/browser/signin/services/android/BUILD.gn +++ b/chrome/browser/signin/services/android/BUILD.gn -@@ -20,8 +20,6 @@ android_library("java") { +@@ -20,7 +20,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java", "java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java", "java/src/org/chromium/chrome/browser/signin/services/ProfileDownloader.java", - "java/src/org/chromium/chrome/browser/signin/services/SigninHelper.java", -- "java/src/org/chromium/chrome/browser/signin/services/SigninManager.java", + "java/src/org/chromium/chrome/browser/signin/services/SigninManager.java", "java/src/org/chromium/chrome/browser/signin/services/SigninMetricsUtils.java", "java/src/org/chromium/chrome/browser/signin/services/SigninPreferencesManager.java", - "java/src/org/chromium/chrome/browser/signin/services/UnifiedConsentServiceBridge.java", diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java --- a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java +++ b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/IdentityServicesProvider.java @@ -1027,6 +1193,91 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome - SigninManager getSigninManager(Profile profile); } } +diff --git a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmImportSyncDataDialog.java b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmImportSyncDataDialog.java +--- a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmImportSyncDataDialog.java ++++ b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmImportSyncDataDialog.java +@@ -106,10 +106,7 @@ public class ConfirmImportSyncDataDialog + mConfirmImportOption.setRadioButtonGroup(radioGroup); + mKeepSeparateOption.setRadioButtonGroup(radioGroup); + +- boolean isManagedAccount = IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .getManagementDomain() +- != null; ++ boolean isManagedAccount = false; + final AlertDialog alertDialog = + new AlertDialog.Builder(getActivity(), R.style.Theme_Chromium_AlertDialog) + .setPositiveButton(R.string.continue_button, this) +diff --git a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmSyncDataStateMachine.java b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmSyncDataStateMachine.java +--- a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmSyncDataStateMachine.java ++++ b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/ConfirmSyncDataStateMachine.java +@@ -175,9 +175,6 @@ public class ConfirmSyncDataStateMachine + } + + private void requestNewAccountManagementStatus() { +- IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .isAccountManaged(mNewAccountName, this::setIsNewAccountManaged); + } + + private void setIsNewAccountManaged(Boolean isManaged) { +@@ -193,17 +190,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/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SignOutDialogFragment.java b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SignOutDialogFragment.java +--- a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SignOutDialogFragment.java ++++ b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SignOutDialogFragment.java +@@ -19,7 +19,6 @@ import org.chromium.base.metrics.RecordHistogram; + 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.SigninManager; + import org.chromium.chrome.browser.signin.services.SigninMetricsUtils; + import org.chromium.components.signin.GAIAServiceType; + +@@ -67,12 +66,6 @@ public class SignOutDialogFragment + mGaiaServiceType = + getArguments().getInt(SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType); + } +- String domain = IdentityServicesProvider.get() +- .getSigninManager(Profile.getLastUsedRegularProfile()) +- .getManagementDomain(); +- if (domain != null) { +- return createDialogForManagedAccount(domain); +- } + + return createDialog(); + } +@@ -106,12 +99,6 @@ public class SignOutDialogFragment + if (which == AlertDialog.BUTTON_POSITIVE) { + SigninMetricsUtils.logProfileAccountManagementMenu( + ProfileAccountManagementMetrics.SIGNOUT_SIGNOUT, mGaiaServiceType); +- SigninManager signinManager = IdentityServicesProvider.get().getSigninManager( +- Profile.getLastUsedRegularProfile()); +- if (signinManager.getManagementDomain() == null) { +- RecordHistogram.recordBooleanHistogram( +- "Signin.UserRequestedWipeDataOnSignout", mWipeUserData.isChecked()); +- } + SignOutDialogListener targetFragment = (SignOutDialogListener) getTargetFragment(); + targetFragment.onSignOutClicked(mWipeUserData != null && mWipeUserData.isChecked()); + } diff --git a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SigninPromoController.java b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SigninPromoController.java --- a/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SigninPromoController.java +++ b/chrome/browser/signin/ui/android/java/src/org/chromium/chrome/browser/signin/ui/SigninPromoController.java diff --git a/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch b/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch index 24f6304e..5504d48b 100644 --- a/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch +++ b/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch @@ -243,7 +243,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + @ContentSettingValues + @Nullable + Integer currentValue = mSite.getContentSetting( -+ getSiteSettingsClient().getBrowserContextHandle(), ContentSettingsType.AUTOPLAY); ++ getSiteSettingsDelegate().getBrowserContextHandle(), ContentSettingsType.AUTOPLAY); + // In order to always show the autoplay permission, set it up with the default value if it + // doesn't have a current value. + if (currentValue == null) { diff --git a/build/patches/Update-i18n-zh_CN-support.patch b/build/patches/Update-i18n-zh_CN-support.patch index fa3ed063..d91ff99d 100644 --- a/build/patches/Update-i18n-zh_CN-support.patch +++ b/build/patches/Update-i18n-zh_CN-support.patch @@ -3,28 +3,39 @@ Date: Sun, 2 Aug 2020 00:37:49 +0800 Subject: Update i18n zh_CN support --- - .../resources/generated_resources_zh-CN.xtb | 4 ++- - .../android_chrome_strings_zh-CN.xtb | 30 ++++++++++++++++++- + .../resources/generated_resources_zh-CN.xtb | 15 ++++++++- + .../android_chrome_strings_zh-CN.xtb | 33 ++++++++++++++++++- .../translations/browser_ui_strings_zh-CN.xtb | 6 +++- - .../strings/components_strings_zh-CN.xtb | 3 +- - 4 files changed, 39 insertions(+), 4 deletions(-) + .../strings/components_strings_zh-CN.xtb | 5 ++- + 4 files changed, 55 insertions(+), 4 deletions(-) diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb --- a/chrome/app/resources/generated_resources_zh-CN.xtb +++ b/chrome/app/resources/generated_resources_zh-CN.xtb -@@ -7278,4 +7278,6 @@ +@@ -7278,4 +7278,17 @@ 正在建立安全连接... 您需要开启 Chrome 同步才能使用 Wi-Fi 同步功能。了解详情 检查(&N) - \ No newline at end of file +广告拦截 -+配置广告拦截和过滤器地址 ++配置广告拦截和过滤规则地址 ++当前版本 ++上次检查 ++检查间隔 ++ ++现在检查 ++正在检查过滤规则更新 ++正在下载新的过滤规则... ++新过滤规则已成功下载 ++正在检查,请稍候... ++过滤规则已更新 ++过滤规则下载出错 + diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb -@@ -1198,4 +1198,32 @@ +@@ -1198,4 +1198,35 @@ 关闭所有标签页 常规 动态卡片上的菜单已关闭 @@ -36,28 +47,31 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin +通过菜单切换当前行为 +应用到所有标签页(永久) +仅应用到当前标签页 -+使用自定义用户代理 -+使用标准用户代理 ++自定义 ++默认 +请输入一个合法的用户代理 +移动版网站用户代理 +桌面版网站用户代理 +启用 Viewport 元标签解析 +无痕式标签页启用历史记录 +无痕模式下仍保存历史记录 ++为所有标签页添加书签 +始终在无痕式标签页打开链接 +当您点击新标签页或链接时,在无痕式标签页打开链接 +退出时关闭所有打开的标签页 +浏览会话期间不保存标签页 ++广告拦截设置 ++编辑过滤规则地址 ++过滤规则地址 ++访问帮助页面 +退出 +允许自定义标签页意图 +允许应用打开自定义标签页意图,类似 WebView。 +查看源代码 ++以平板模式打开 Bromite ++强制使用平板模式 +导入 +导出 -+广告拦截设置 -+编辑过滤器地址 -+过滤器地址 -+访问帮助页面 + diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb --- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb @@ -76,13 +90,15 @@ diff --git a/components/browser_ui/strings/android/translations/browser_ui_strin diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb --- a/components/strings/components_strings_zh-CN.xtb +++ b/components/strings/components_strings_zh-CN.xtb -@@ -2102,4 +2102,5 @@ +@@ -2102,4 +2102,7 @@ </ul> JIS B1 来自 Google Pay - \ No newline at end of file +自动播放 ++标签页收藏 ++标签页收藏 + -- 2.17.1 diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index f0c4ecd9..9b1e182f 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -304,7 +304,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java -@@ -48,6 +48,7 @@ import org.chromium.content_public.browser.SpeechRecognition; +@@ -47,6 +47,7 @@ import org.chromium.content_public.browser.SpeechRecognition; import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.net.NetworkChangeNotifier; import org.chromium.ui.resources.ResourceExtractor; @@ -312,7 +312,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow import java.io.File; import java.util.ArrayList; -@@ -323,11 +324,13 @@ public class ChromeBrowserInitializer { +@@ -322,11 +323,13 @@ public class ChromeBrowserInitializer { @Override public void onSuccess() {