diff --git a/build/patches/00109-ADDTO-Remove-price-shopping-commerce-integra.patch b/build/patches/00109-ADDTO-Remove-price-shopping-commerce-integra.patch index 830bd601..acc628ff 100644 --- a/build/patches/00109-ADDTO-Remove-price-shopping-commerce-integra.patch +++ b/build/patches/00109-ADDTO-Remove-price-shopping-commerce-integra.patch @@ -3,15 +3,15 @@ Date: Thu, 5 Jan 2023 11:29:23 +0000 Subject: 109 ADDTO Remove price/shopping/commerce integra --- - .../chrome/browser/app/ChromeActivity.java | 4 ---- - .../bookmarks/BookmarkSaveFlowMediator.java | 20 ------------------- - .../commerce/core/commerce_feature_list.cc | 4 ++-- - 3 files changed, 2 insertions(+), 26 deletions(-) + .../org/chromium/chrome/browser/app/ChromeActivity.java | 4 ---- + .../chrome/browser/bookmarks/BookmarkSaveFlowMediator.java | 1 - + components/commerce/core/commerce_feature_list.cc | 7 ++++--- + 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2335,10 +2335,6 @@ public abstract class ChromeActivity +@@ -2332,10 +2332,6 @@ public abstract class ChromeActivity } if (id == R.id.disable_price_tracking_menu_id) { @@ -33,44 +33,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm import org.chromium.chrome.browser.profiles.Profile; import org.chromium.components.bookmarks.BookmarkId; import org.chromium.components.bookmarks.BookmarkItem; -@@ -39,8 +38,6 @@ public class BookmarkSaveFlowMediator - private BookmarkId mBookmarkId; - private PowerBookmarkMeta mPowerBookmarkMeta; - private boolean mWasBookmarkMoved; -- private CommerceSubscription mSubscription; -- private Callback mSubscriptionsManagerCallback; - private String mFolderName; - - /** -@@ -120,23 +117,6 @@ public class BookmarkSaveFlowMediator - } - - void handleNotificationSwitchToggle(CompoundButton view, boolean toggled) { -- if (mSubscriptionsManagerCallback == null) { -- mSubscriptionsManagerCallback = -- mCallbackController.makeCancelable((Boolean success) -> { -- setPriceTrackingToggleVisualsOnly(success && view.isChecked()); -- setPriceTrackingNotificationUiEnabled(success); -- }); -- } -- -- // Make sure the notification channel is initialized when the user tracks a product. -- // TODO(crbug.com/1382191): Add a SubscriptionsObserver in the PriceDropNotificationManager -- // and initialize the channel there. -- if (toggled && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { -- PriceDropNotificationManagerFactory.create().createNotificationChannel(); -- } -- setPriceTrackingIconForEnabledState(toggled); -- PriceTrackingUtils.setPriceTrackingStateForBookmark(Profile.getLastUsedRegularProfile(), -- mBookmarkId.getId(), toggled, mSubscriptionsManagerCallback); - } - - void setPriceTrackingNotificationUiEnabled(boolean enabled) { diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc --- a/components/commerce/core/commerce_feature_list.cc +++ b/components/commerce/core/commerce_feature_list.cc -@@ -128,8 +128,8 @@ BASE_FEATURE(kCommerceMerchantViewer, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -131,7 +131,7 @@ BASE_FEATURE(kCommerceMerchantViewer, + #if BUILDFLAG(IS_ANDROID) + BASE_FEATURE(kCommerceMerchantViewerRegionLaunched, + "CommerceMerchantViewerRegionLaunched", +- base::FEATURE_ENABLED_BY_DEFAULT); ++ base::FEATURE_DISABLED_BY_DEFAULT); + #else + BASE_FEATURE(kCommerceMerchantViewerRegionLaunched, + "CommerceMerchantViewerRegionLaunched", +@@ -139,8 +139,8 @@ BASE_FEATURE(kCommerceMerchantViewerRegionLaunched, + #endif // BUILDFLAG(IS_ANDROID) BASE_FEATURE(kCommercePriceTracking, - "CommercePriceTracking", @@ -80,5 +56,13 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm const base::FeatureParam kDeleteAllMerchantsOnClearBrowsingHistory{ &kCommerceMerchantViewer, "delete_all_merchants_on_clear_history", false}; +@@ -376,6 +376,7 @@ std::string GetCurrentCountryCode(variations::VariationsService* variations) { + bool IsEnabledForCountryAndLocale(const base::Feature& feature, + std::string country, + std::string locale) { ++ if ((true)) return false; + const CountryLocaleMap& allowedCountryLocales = + GetAllowedCountryToLocaleMap(); + -- 2.25.1 diff --git a/build/patches/00110-ADDTO-Remove-signin-and-sync-integrations.patch b/build/patches/00110-ADDTO-Remove-signin-and-sync-integrations.patch index 6da9fa2b..911b7402 100644 --- a/build/patches/00110-ADDTO-Remove-signin-and-sync-integrations.patch +++ b/build/patches/00110-ADDTO-Remove-signin-and-sync-integrations.patch @@ -5,11 +5,10 @@ Subject: 110 ADDTO Remove signin and sync integrations --- .../java/res/xml/privacy_preferences_v2.xml | 4 -- .../PasswordManagerLauncher.java | 1 - - .../browser/commerce/ShoppingFeatures.java | 11 +--- .../PasswordManagerHelper.java | 20 ------- ...StoreAndroidBackendReceiverBridgeImpl.java | 10 ---- ...d_manager_settings_service_android_impl.cc | 59 ++----------------- - 6 files changed, 8 insertions(+), 97 deletions(-) + 5 files changed, 5 insertions(+), 89 deletions(-) diff --git a/chrome/android/java/res/xml/privacy_preferences_v2.xml b/chrome/android/java/res/xml/privacy_preferences_v2.xml --- a/chrome/android/java/res/xml/privacy_preferences_v2.xml @@ -34,42 +33,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage PasswordManagerHelper.showPasswordSettings(activity, referrer, new SettingsLauncherImpl(), modalDialogManagerSupplier); } -diff --git a/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java b/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java ---- a/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java -+++ b/chrome/browser/commerce/android/java/src/org/chromium/chrome/browser/commerce/ShoppingFeatures.java -@@ -8,8 +8,6 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.flags.MutableFlagWithSafeDefault; - 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; -@@ -25,14 +23,11 @@ public class ShoppingFeatures { - } - - 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() { -@@ -40,4 +35,4 @@ public class ShoppingFeatures { - return prefService != null - && prefService.getBoolean(Pref.WEB_AND_APP_ACTIVITY_ENABLED_FOR_SHOPPING); - } --} -\ No newline at end of file -+} diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java diff --git a/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch b/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch index 256f4b6f..2ccc04b4 100644 --- a/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch +++ b/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch @@ -8,7 +8,7 @@ Subject: WIN ADDTO Disable safe browsing chrome/browser/chrome_browser_main_win.cc | 6 - .../bubble/download_bubble_controller.cc | 2 + .../chrome_download_manager_delegate.cc | 4 +- - .../browser/download/download_item_model.cc | 92 +--------- + .../browser/download/download_item_model.cc | 93 +--------- .../analysis/content_analysis_delegate.cc | 164 +----------------- .../analysis/content_analysis_delegate.h | 7 - .../analysis/request_handler_base.cc | 20 --- @@ -34,7 +34,7 @@ Subject: WIN ADDTO Disable safe browsing chrome/browser/safe_browsing/BUILD.gn | 8 +- .../safe_browsing/chrome_cleaner/BUILD.gn | 1 - .../chrome_cleaner/settings_resetter_win.cc | 1 - - .../download_protection/file_analyzer.h | 18 -- + .../download_protection/file_analyzer.h | 20 --- .../chrome_security_blocking_page_factory.cc | 21 --- chrome/browser/ui/BUILD.gn | 6 - ...b_modal_dialog_manager_delegate_desktop.cc | 1 - @@ -43,7 +43,7 @@ Subject: WIN ADDTO Disable safe browsing .../ui/views/download/download_item_view.cc | 23 +-- .../webui/downloads/downloads_dom_handler.cc | 21 +-- .../ui/webui/downloads/downloads_ui.cc | 5 +- - chrome/browser/ui/webui/intro/intro_ui.cc | 6 +- + chrome/browser/ui/webui/intro/intro_ui.cc | 11 +- chrome/browser/webshare/share_service_impl.cc | 4 + chrome/chrome_paks.gni | 2 - .../public/cpp/sandboxed_rar_analyzer.cc | 16 +- @@ -54,12 +54,12 @@ Subject: WIN ADDTO Disable safe browsing .../core/common/safe_browsing_prefs.cc | 2 +- printing/buildflags/buildflags.gni | 2 +- .../tracked_persistent_pref_store_factory.cc | 10 +- - 51 files changed, 68 insertions(+), 792 deletions(-) + 51 files changed, 73 insertions(+), 795 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1922,10 +1922,6 @@ static_library("browser") { +@@ -1932,10 +1932,6 @@ static_library("browser") { "//chrome/browser/ui", "//chrome/browser/storage_access_api:permissions", "//chrome/browser/top_level_storage_access_api:permissions", @@ -70,7 +70,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn # TODO(crbug.com/1030821): Eliminate usages of browser.h from Media Router. "//chrome/browser/media/router", -@@ -2027,10 +2023,7 @@ static_library("browser") { +@@ -2038,10 +2034,7 @@ static_library("browser") { "//chrome/browser/push_messaging:budget_proto", "//chrome/browser/resource_coordinator:mojo_bindings", "//chrome/browser/resource_coordinator:tab_manager_features", @@ -82,7 +82,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/share", "//chrome/browser/sharing:buildflags", "//chrome/browser/sharing/proto", -@@ -3645,18 +3638,12 @@ static_library("browser") { +@@ -3655,18 +3648,12 @@ static_library("browser") { "enterprise/connectors/analysis/analysis_service_settings.h", "enterprise/connectors/analysis/analysis_settings.cc", "enterprise/connectors/analysis/analysis_settings.h", @@ -101,7 +101,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "enterprise/connectors/analysis/request_handler_base.cc", "enterprise/connectors/analysis/request_handler_base.h", "enterprise/connectors/common.cc", -@@ -7907,7 +7894,6 @@ static_library("test_support") { +@@ -7918,7 +7905,6 @@ static_library("test_support") { ":browser", "//chrome/browser/autofill:test_support", "//chrome/browser/profiles:profile", @@ -112,7 +112,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc -@@ -652,8 +652,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -653,8 +653,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( base::BindOnce( &ChromeBrowsingDataRemoverDelegate::CreateTaskCompletionClosure, base::Unretained(this), TracingDataType::kCookies)); @@ -140,7 +140,7 @@ diff --git a/chrome/browser/chrome_browser_main_win.cc b/chrome/browser/chrome_b diff --git a/chrome/browser/download/bubble/download_bubble_controller.cc b/chrome/browser/download/bubble/download_bubble_controller.cc --- a/chrome/browser/download/bubble/download_bubble_controller.cc +++ b/chrome/browser/download/bubble/download_bubble_controller.cc -@@ -400,8 +400,10 @@ void DownloadBubbleUIController::ProcessDownloadButtonPress( +@@ -458,8 +458,10 @@ void DownloadBubbleUIController::ProcessDownloadButtonPress( commands.ExecuteCommand(command); break; case DownloadCommands::REVIEW: @@ -154,7 +154,7 @@ diff --git a/chrome/browser/download/bubble/download_bubble_controller.cc b/chro diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc --- a/chrome/browser/download/chrome_download_manager_delegate.cc +++ b/chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1705,8 +1705,8 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAllowed( +@@ -1706,8 +1706,8 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAllowed( DCHECK(download_item); DCHECK(download_item->IsSavePackageDownload()); @@ -168,7 +168,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc --- a/chrome/browser/download/download_item_model.cc +++ b/chrome/browser/download/download_item_model.cc -@@ -891,6 +891,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommands* download_commands, +@@ -900,6 +900,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommands* download_commands, DownloadUIModel::ExecuteCommand(download_commands, command); break; case DownloadCommands::DEEP_SCAN: @@ -176,7 +176,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow safe_browsing::SafeBrowsingService* sb_service = g_browser_process->safe_browsing_service(); if (!sb_service) -@@ -923,106 +924,17 @@ void DownloadItemModel::ExecuteCommand(DownloadCommands* download_commands, +@@ -932,107 +933,17 @@ void DownloadItemModel::ExecuteCommand(DownloadCommands* download_commands, safe_browsing::DeepScanningRequest::DeepScanTrigger:: TRIGGER_APP_PROMPT, safe_browsing::DownloadCheckResult::UNKNOWN, std::move(settings)); @@ -198,7 +198,8 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow - return DownloadUIModel::BubbleUIInfo( - l10n_util::GetStringUTF16( - IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_SUSPICIOUS_ARCHIVE)) -- .AddIconAndColor(views::kInfoIcon, ui::kColorAlertMediumSeverity) +- .AddIconAndColor(vector_icons::kNotSecureWarningIcon, +- ui::kColorAlertMediumSeverity) - .AddPrimaryButton(DownloadCommands::Command::DISCARD) - .AddSubpageButton(l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE), - DownloadCommands::Command::DISCARD, @@ -231,7 +232,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow - l10n_util::GetStringFUTF16( - IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_COOKIE_THEFT_AND_ACCOUNT, - base::ASCIIToUTF16(email))) -- .AddIconAndColor(vector_icons::kNotSecureWarningIcon, +- .AddIconAndColor(vector_icons::kDangerousIcon, - ui::kColorAlertHighSeverity) - .AddPrimaryButton(DownloadCommands::Command::DISCARD) - .AddSubpageButton( @@ -243,7 +244,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow - return DownloadUIModel::BubbleUIInfo( - l10n_util::GetStringUTF16( - IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_COOKIE_THEFT)) -- .AddIconAndColor(vector_icons::kNotSecureWarningIcon, +- .AddIconAndColor(vector_icons::kDangerousIcon, - ui::kColorAlertHighSeverity) - .AddPrimaryButton(DownloadCommands::Command::DISCARD) - .AddSubpageButton(l10n_util::GetStringUTF16(IDS_DOWNLOAD_BUBBLE_DELETE), @@ -612,15 +613,15 @@ diff --git a/chrome/browser/enterprise/connectors/analysis/request_handler_base. diff --git a/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc b/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc --- a/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc +++ b/chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc -@@ -322,6 +322,7 @@ void RealtimeReportingClient::ReportRealtimeEvent( - const std::string& name, +@@ -338,6 +338,7 @@ void RealtimeReportingClient::ReportEventWithTimestamp( const enterprise_connectors::ReportingSettings& settings, - base::Value::Dict event) { + base::Value::Dict event, + const base::Time& time) { + if ((true)) return; if (rejected_dm_token_timers_.contains(settings.dm_token)) { return; } -@@ -387,7 +388,7 @@ void RealtimeReportingClient::ReportRealtimeEvent( +@@ -406,7 +407,7 @@ void RealtimeReportingClient::ReportEventWithTimestamp( } std::string RealtimeReportingClient::GetProfileUserName() const { @@ -632,7 +633,7 @@ diff --git a/chrome/browser/enterprise/connectors/reporting/realtime_reporting_c diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -745,9 +745,6 @@ static_library("extensions") { +@@ -747,9 +747,6 @@ static_library("extensions") { # TODO(crbug.com/1065748): Remove this circular dependency. "//chrome/browser/web_applications/extensions", @@ -642,7 +643,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL ] # Since browser and browser_extensions actually depend on each other, -@@ -799,8 +796,6 @@ static_library("extensions") { +@@ -801,8 +798,6 @@ static_library("extensions") { "//chrome/browser/profiles:profile", "//chrome/browser/resource_coordinator:intervention_policy_database_proto", "//chrome/browser/resource_coordinator:mojo_bindings", @@ -676,7 +677,7 @@ diff --git a/chrome/browser/extensions/api/cookies/cookies_api.cc b/chrome/brows } CookiesGetAllFunction::CookiesGetAllFunction() { -@@ -383,26 +368,6 @@ void CookiesGetAllFunction::GetCookieListCallback( +@@ -377,26 +362,6 @@ void CookiesGetAllFunction::GetCookieListCallback( } void CookiesGetAllFunction::NotifyExtensionTelemetry() { @@ -719,7 +720,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.cc b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.cc --- a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.cc +++ b/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router.cc -@@ -354,10 +354,7 @@ void SafeBrowsingPrivateEventRouter::OnPolicySpecifiedPasswordReuseDetected( +@@ -359,10 +359,7 @@ void SafeBrowsingPrivateEventRouter::OnPolicySpecifiedPasswordReuseDetected( event.Set(kKeyUserName, params.user_name); event.Set(kKeyIsPhishingUrl, params.is_phishing_url); event.Set(kKeyProfileUserName, GetProfileUserName()); @@ -731,9 +732,9 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p reporting_client_->ReportRealtimeEvent( kKeyPasswordReuseEvent, std::move(settings.value()), std::move(event)); -@@ -436,8 +433,7 @@ void SafeBrowsingPrivateEventRouter::OnDangerousDownloadOpened( - if (content_size >= 0) +@@ -442,8 +439,7 @@ void SafeBrowsingPrivateEventRouter::OnDangerousDownloadOpened( event.Set(kKeyContentSize, base::Int64ToValue(content_size)); + } event.Set(kKeyTrigger, kTriggerFileDownload); - event.Set(kKeyEventResult, safe_browsing::EventResultToString( - safe_browsing::EventResult::BYPASSED)); @@ -741,7 +742,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p event.Set(kKeyClickedThrough, true); event.Set(kKeyThreatType, DangerTypeToThreatType(danger_type)); // The scan ID can be empty when the reported dangerous download is from a -@@ -481,22 +477,6 @@ void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialShown( +@@ -487,22 +483,6 @@ void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialShown( settings->enabled_event_names.count(kKeyInterstitialEvent) == 0) { return; } @@ -764,7 +765,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p } void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialProceeded( -@@ -536,8 +516,7 @@ void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialProceeded( +@@ -542,8 +522,7 @@ void SafeBrowsingPrivateEventRouter::OnSecurityInterstitialProceeded( event.Set(kKeyNetErrorCode, net_error_code); event.Set(kKeyProfileUserName, params.user_name); event.Set(kKeyClickedThrough, true); @@ -783,7 +784,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p event.Set(kKeyClickedThrough, event_result == safe_browsing::EventResult::BYPASSED); if (!malware_family.empty()) { -@@ -675,7 +654,7 @@ void SafeBrowsingPrivateEventRouter::OnSensitiveDataEvent( +@@ -669,7 +648,7 @@ void SafeBrowsingPrivateEventRouter::OnSensitiveDataEvent( event.Set(kKeyContentSize, base::Int64ToValue(content_size)); } event.Set(kKeyTrigger, trigger); @@ -792,7 +793,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p event.Set(kKeyClickedThrough, event_result == safe_browsing::EventResult::BYPASSED); if (!result.evidence_locker_filepath().empty()) { -@@ -729,8 +708,7 @@ void SafeBrowsingPrivateEventRouter::OnAnalysisConnectorWarningBypassed( +@@ -717,8 +696,7 @@ void SafeBrowsingPrivateEventRouter::OnAnalysisConnectorWarningBypassed( event.Set(kKeyContentSize, base::Int64ToValue(content_size)); } event.Set(kKeyTrigger, trigger); @@ -802,7 +803,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p event.Set(kKeyClickedThrough, true); if (!result.evidence_locker_filepath().empty()) { event.Set(kKeyEvidenceLockerFilePath, result.evidence_locker_filepath()); -@@ -786,7 +764,7 @@ void SafeBrowsingPrivateEventRouter::OnUnscannedFileEvent( +@@ -768,7 +746,7 @@ void SafeBrowsingPrivateEventRouter::OnUnscannedFileEvent( event.Set(kKeyContentSize, base::Int64ToValue(content_size)); } event.Set(kKeyTrigger, trigger); @@ -811,7 +812,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p event.Set(kKeyClickedThrough, event_result == safe_browsing::EventResult::BYPASSED); -@@ -838,7 +816,7 @@ void SafeBrowsingPrivateEventRouter::OnDangerousDownloadEvent( +@@ -820,7 +798,7 @@ void SafeBrowsingPrivateEventRouter::OnDangerousDownloadEvent( event.Set(kKeyContentSize, base::Int64ToValue(content_size)); } event.Set(kKeyTrigger, kTriggerFileDownload); @@ -820,7 +821,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p // The scan ID can be empty when the reported dangerous download is from a // Safe Browsing verdict. -@@ -893,8 +871,7 @@ void SafeBrowsingPrivateEventRouter::OnDangerousDownloadWarningBypassed( +@@ -875,8 +853,7 @@ void SafeBrowsingPrivateEventRouter::OnDangerousDownloadWarningBypassed( event.Set(kKeyContentSize, base::Int64ToValue(content_size)); } event.Set(kKeyTrigger, kTriggerFileDownload); @@ -830,7 +831,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p // The scan ID can be empty when the reported dangerous download is from a // Safe Browsing verdict. if (!scan_id.empty()) { -@@ -997,7 +974,6 @@ void SafeBrowsingPrivateEventRouter::OnUrlFilteringInterstitial( +@@ -979,7 +956,6 @@ void SafeBrowsingPrivateEventRouter::OnUrlFilteringInterstitial( event_result == safe_browsing::EventResult::BYPASSED); event.Set(kKeyThreatType, threat_type); AddTriggeredRuleInfoToUrlFilteringInterstitialEvent(response, event); @@ -838,7 +839,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p reporting_client_->ReportRealtimeEvent(kKeyUrlFilteringInterstitialEvent, std::move(settings.value()), -@@ -1010,7 +986,7 @@ void SafeBrowsingPrivateEventRouter::SetIdentityManagerForTesting( +@@ -992,7 +968,7 @@ void SafeBrowsingPrivateEventRouter::SetIdentityManagerForTesting( } std::string SafeBrowsingPrivateEventRouter::GetProfileUserName() const { @@ -850,7 +851,7 @@ diff --git a/chrome/browser/extensions/api/safe_browsing_private/safe_browsing_p diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -720,18 +720,6 @@ void WebstorePrivateBeginInstallWithManifest3Function::OnFrictionPromptDone( +@@ -721,18 +721,6 @@ void WebstorePrivateBeginInstallWithManifest3Function::OnFrictionPromptDone( void WebstorePrivateBeginInstallWithManifest3Function:: ReportFrictionAcceptedEvent() { @@ -869,7 +870,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api } void WebstorePrivateBeginInstallWithManifest3Function::OnInstallPromptDone( -@@ -1218,8 +1206,7 @@ WebstorePrivateGetReferrerChainFunction:: +@@ -1219,8 +1207,7 @@ WebstorePrivateGetReferrerChainFunction:: ExtensionFunction::ResponseAction WebstorePrivateGetReferrerChainFunction::Run() { Profile* profile = Profile::FromBrowserContext(browser_context()); @@ -905,7 +906,7 @@ diff --git a/chrome/browser/extensions/blocklist_state_fetcher.cc b/chrome/brows diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc --- a/chrome/browser/extensions/chrome_extensions_browser_client.cc +++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc -@@ -703,56 +703,17 @@ void ChromeExtensionsBrowserClient::NotifyExtensionApiTabExecuteScript( +@@ -705,56 +705,17 @@ void ChromeExtensionsBrowserClient::NotifyExtensionApiTabExecuteScript( content::BrowserContext* context, const ExtensionId& extension_id, const std::string& code) const { @@ -966,7 +967,7 @@ diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chr diff --git a/chrome/browser/extensions/extension_allowlist.cc b/chrome/browser/extensions/extension_allowlist.cc --- a/chrome/browser/extensions/extension_allowlist.cc +++ b/chrome/browser/extensions/extension_allowlist.cc -@@ -399,15 +399,6 @@ void ExtensionAllowlist::NotifyExtensionAllowlistWarningStateChanged( +@@ -400,15 +400,6 @@ void ExtensionAllowlist::NotifyExtensionAllowlistWarningStateChanged( } void ExtensionAllowlist::ReportExtensionReEnabledEvent() { @@ -985,7 +986,7 @@ diff --git a/chrome/browser/extensions/extension_allowlist.cc b/chrome/browser/e diff --git a/chrome/browser/media/webrtc/display_media_access_handler.cc b/chrome/browser/media/webrtc/display_media_access_handler.cc --- a/chrome/browser/media/webrtc/display_media_access_handler.cc +++ b/chrome/browser/media/webrtc/display_media_access_handler.cc -@@ -124,7 +124,6 @@ void DisplayMediaAccessHandler::HandleRequest( +@@ -122,7 +122,6 @@ void DisplayMediaAccessHandler::HandleRequest( blink::mojom::StreamDevicesSet(), blink::mojom::MediaStreamRequestResult::PERMISSION_DENIED, /*ui=*/nullptr); @@ -1066,7 +1067,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b // Retrieves and formats the saved passwords domains from signon_realms. std::vector GetMatchingDomains( const std::vector& -@@ -921,7 +921,7 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( +@@ -906,7 +906,7 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( bool password_field_exists, uint64_t reused_password_hash, const std::string& domain) { @@ -1075,7 +1076,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b // If the webpage is not an extension page, do nothing. if (!GURL(domain).SchemeIs(kExtensionScheme)) { return; -@@ -961,7 +961,18 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( +@@ -946,7 +946,18 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() { } @@ -1098,7 +1099,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -1959,13 +1959,6 @@ std::unique_ptr BuildHandlerList( +@@ -1986,13 +1986,6 @@ std::unique_ptr BuildHandlerList( prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode, prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckScope, chrome_schema)); @@ -1115,7 +1116,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -1694,8 +1694,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1634,8 +1634,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, component_updater::RegisterProfilePrefsForSwReporter(registry); FontPrewarmerTabHelper::RegisterProfilePrefs(registry); NetworkProfileBubble::RegisterProfilePrefs(registry); @@ -1139,8 +1140,8 @@ diff --git a/chrome/browser/printing/print_view_manager.cc b/chrome/browser/prin - base::FeatureList::IsEnabled(features::kEnablePrintContentAnalysis) && - enterprise_connectors::ContentAnalysisDelegate::IsEnabled( - Profile::FromBrowserContext(web_contents()->GetBrowserContext()), -- web_contents()->GetLastCommittedURL(), &scanning_data, -- enterprise_connectors::AnalysisConnector::PRINT)) { +- web_contents()->GetOutermostWebContents()->GetLastCommittedURL(), +- &scanning_data, enterprise_connectors::AnalysisConnector::PRINT)) { - set_snapshotting_for_content_analysis(); - GetPrintRenderFrame(rfh)->SnapshotForContentAnalysis(base::BindOnce( - &PrintViewManager::OnGotSnapshotCallback, weak_factory_.GetWeakPtr(), @@ -1166,7 +1167,7 @@ diff --git a/chrome/browser/profiles/profiles_state.cc b/chrome/browser/profiles diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn -@@ -106,7 +106,6 @@ group("resources") { +@@ -107,7 +107,6 @@ group("resources") { if (!is_android && !is_chromeos_ash) { public_deps += [ @@ -1186,7 +1187,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin if (false) { sources = [ "chrome_controller_client.cc", -@@ -442,7 +442,7 @@ static_library("safe_browsing") { +@@ -443,7 +443,7 @@ static_library("safe_browsing") { } } @@ -1195,7 +1196,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin sources = [ "verdict_cache_manager_factory.cc", "verdict_cache_manager_factory.h", -@@ -463,7 +463,7 @@ source_set("verdict_cache_manager_factory") { +@@ -466,7 +466,7 @@ source_set("verdict_cache_manager_factory") { ] } @@ -1204,7 +1205,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin sources = [ "advanced_protection_status_manager.cc", "advanced_protection_status_manager.h", -@@ -483,7 +483,7 @@ static_library("advanced_protection") { +@@ -488,7 +488,7 @@ static_library("advanced_protection") { ] } @@ -1216,7 +1217,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin diff --git a/chrome/browser/safe_browsing/chrome_cleaner/BUILD.gn b/chrome/browser/safe_browsing/chrome_cleaner/BUILD.gn --- a/chrome/browser/safe_browsing/chrome_cleaner/BUILD.gn +++ b/chrome/browser/safe_browsing/chrome_cleaner/BUILD.gn -@@ -62,7 +62,6 @@ static_library("chrome_cleaner") { +@@ -66,7 +66,6 @@ static_library("chrome_cleaner") { ":public", "//chrome/browser:browser_process", "//chrome/browser/profiles:profile", @@ -1227,7 +1228,7 @@ diff --git a/chrome/browser/safe_browsing/chrome_cleaner/BUILD.gn b/chrome/brows diff --git a/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.cc b/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.cc --- a/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.cc +++ b/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.cc -@@ -193,7 +193,6 @@ PostCleanupSettingsResetter::Delegate::~Delegate() {} +@@ -192,7 +192,6 @@ PostCleanupSettingsResetter::Delegate::~Delegate() {} void PostCleanupSettingsResetter::Delegate::FetchDefaultSettings( DefaultSettingsFetcher::SettingsCallback callback) { @@ -1267,16 +1268,18 @@ diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.h b/ void StartExtractSevenZipFeatures(); void OnSevenZipAnalysisFinished( const ArchiveAnalyzerResults& archive_results); -@@ -133,13 +122,6 @@ class FileAnalyzer { - scoped_refptr dmg_analyzer_; +@@ -136,15 +125,6 @@ class FileAnalyzer { + dmg_analyzer_{nullptr, base::OnTaskRunnerDeleter(nullptr)}; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -- scoped_refptr document_analyzer_; +- std::unique_ptr +- document_analyzer_{nullptr, base::OnTaskRunnerDeleter(nullptr)}; - base::TimeTicks document_analysis_start_time_; -#endif - -- scoped_refptr seven_zip_analyzer_; +- std::unique_ptr +- seven_zip_analyzer_{nullptr, base::OnTaskRunnerDeleter(nullptr)}; - base::WeakPtrFactory weakptr_factory_{this}; }; @@ -1336,7 +1339,7 @@ diff --git a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc b/chrom diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -423,7 +423,6 @@ static_library("ui") { +@@ -424,7 +424,6 @@ static_library("ui") { "//chrome/browser/resources/net_internals:resources", "//chrome/browser/resources/omnibox:resources", "//chrome/browser/resources/usb_internals:resources", @@ -1344,7 +1347,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//chrome/browser/share", "//chrome/browser/ui/webui:configs", "//chrome/browser/ui/webui/omnibox:mojo_bindings", -@@ -676,7 +675,6 @@ static_library("ui") { +@@ -680,7 +679,6 @@ static_library("ui") { # TODO(crbug.com/1158905): Remove this circular dependency. "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -1352,7 +1355,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//chrome/browser/profiling_host", "//chrome/browser/ui/webui:configs", ] -@@ -1780,8 +1778,6 @@ static_library("ui") { +@@ -1793,8 +1791,6 @@ static_library("ui") { "//chrome/browser/resources/identity_internals:resources", "//chrome/browser/resources/support_tool:resources", "//chrome/browser/resources/web_app_internals:resources", @@ -1361,7 +1364,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//chrome/browser/support_tool:support_tool_proto", "//chrome/browser/ui/color:color_headers", "//chrome/browser/ui/color:mixers", -@@ -3625,8 +3621,6 @@ static_library("ui") { +@@ -3654,8 +3650,6 @@ static_library("ui") { "views/profiles/profile_picker_force_signin_dialog_host.h", "views/profiles/profile_picker_signed_in_flow_controller.cc", "views/profiles/profile_picker_signed_in_flow_controller.h", @@ -1675,26 +1678,32 @@ diff --git a/chrome/browser/ui/webui/downloads/downloads_ui.cc b/chrome/browser/ diff --git a/chrome/browser/ui/webui/intro/intro_ui.cc b/chrome/browser/ui/webui/intro/intro_ui.cc --- a/chrome/browser/ui/webui/intro/intro_ui.cc +++ b/chrome/browser/ui/webui/intro/intro_ui.cc -@@ -12,14 +12,14 @@ - #include "chrome/browser/ui/webui/webui_util.h" - #include "chrome/common/webui_url_constants.h" +@@ -24,8 +24,6 @@ #include "chrome/grit/chrome_unscaled_resources.h" + #include "chrome/grit/chromium_strings.h" + #include "chrome/grit/generated_resources.h" -#include "chrome/grit/intro_resources.h" -#include "chrome/grit/intro_resources_map.h" #include "chrome/grit/signin_resources.h" + #include "components/signin/public/base/consent_level.h" #include "components/signin/public/base/signin_buildflags.h" - #include "content/public/browser/web_contents.h" - #include "content/public/browser/web_ui_data_source.h" +@@ -37,6 +35,13 @@ + #include "third_party/skia/include/core/SkBitmap.h" + #include "ui/base/l10n/l10n_util.h" - #if BUILDFLAG(ENABLE_DICE_SUPPORT) ++#if BUILDFLAG(ENABLE_DICE_SUPPORT) +#include "chrome/grit/intro_resources.h" +#include "chrome/grit/intro_resources_map.h" - #include "chrome/grit/chromium_strings.h" - #include "chrome/grit/generated_resources.h" - #endif -@@ -52,9 +52,11 @@ IntroUI::IntroUI(content::WebUI* web_ui) : content::WebUIController(web_ui) { - web_ui->GetWebContents()->GetBrowserContext(), - chrome::kChromeUIIntroHost); ++#include "chrome/grit/chromium_strings.h" ++#include "chrome/grit/generated_resources.h" ++#endif ++ + namespace { + #if BUILDFLAG(IS_CHROMEOS_LACROS) + std::string GetPictureUrl(content::WebUI& web_ui, +@@ -98,9 +103,11 @@ IntroUI::IntroUI(content::WebUI* web_ui) : content::WebUIController(web_ui) { + content::WebUIDataSource* source = content::WebUIDataSource::CreateAndAdd( + profile, chrome::kChromeUIIntroHost); +#if BUILDFLAG(ENABLE_DICE_SUPPORT) webui::SetupWebUIDataSource( @@ -1702,8 +1711,8 @@ diff --git a/chrome/browser/ui/webui/intro/intro_ui.cc b/chrome/browser/ui/webui IDR_INTRO_INTRO_HTML); +#endif - AddStrings(source); - + #if BUILDFLAG(ENABLE_DICE_SUPPORT) + int title_id = 0; diff --git a/chrome/browser/webshare/share_service_impl.cc b/chrome/browser/webshare/share_service_impl.cc --- a/chrome/browser/webshare/share_service_impl.cc +++ b/chrome/browser/webshare/share_service_impl.cc @@ -1737,7 +1746,7 @@ diff --git a/chrome/browser/webshare/share_service_impl.cc b/chrome/browser/webs diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -410,12 +410,10 @@ template("chrome_extra_paks") { +@@ -420,12 +420,10 @@ template("chrome_extra_paks") { } if (!is_android && !is_chromeos_ash) { sources += [ @@ -1753,26 +1762,26 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni diff --git a/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.cc b/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.cc --- a/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.cc +++ b/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.cc -@@ -27,11 +27,6 @@ SandboxedRarAnalyzer::SandboxedRarAnalyzer( +@@ -95,11 +95,6 @@ SandboxedRarAnalyzer::SandboxedRarAnalyzer( service_(std::move(service)) { DCHECK(callback_); DCHECK(!file_path_.value().empty()); - service_->BindSafeArchiveAnalyzer( - remote_analyzer_.BindNewPipeAndPassReceiver()); -- remote_analyzer_.set_disconnect_handler(base::BindOnce( -- &SandboxedRarAnalyzer::AnalyzeFileDone, base::Unretained(this), -- safe_browsing::ArchiveAnalyzerResults())); +- remote_analyzer_.set_disconnect_handler( +- base::BindOnce(&SandboxedRarAnalyzer::AnalyzeFileDone, GetWeakPtr(), +- safe_browsing::ArchiveAnalyzerResults())); } void SandboxedRarAnalyzer::Start() { -@@ -49,19 +44,12 @@ SandboxedRarAnalyzer::~SandboxedRarAnalyzer() = default; +@@ -121,19 +116,12 @@ SandboxedRarAnalyzer::~SandboxedRarAnalyzer() = default; void SandboxedRarAnalyzer::AnalyzeFile(base::File file, base::File temp_file) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK(!file_path_.value().empty()); - if (remote_analyzer_) { - remote_analyzer_->AnalyzeRarFile( - std::move(file), std::move(temp_file), -- base::BindOnce(&SandboxedRarAnalyzer::AnalyzeFileDone, this)); +- base::BindOnce(&SandboxedRarAnalyzer::AnalyzeFileDone, GetWeakPtr())); - } else { AnalyzeFileDone(safe_browsing::ArchiveAnalyzerResults()); - } @@ -1785,7 +1794,7 @@ diff --git a/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.cc b/ch if (callback_) { std::move(callback_).Run(results); } -@@ -116,9 +104,7 @@ void SandboxedRarAnalyzer::ReportFileFailure( +@@ -150,9 +138,7 @@ void SandboxedRarAnalyzer::ReportFileFailure( } std::string SandboxedRarAnalyzer::DebugString() const { @@ -1799,22 +1808,22 @@ diff --git a/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.cc b/ch diff --git a/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h b/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h --- a/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h +++ b/chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h -@@ -9,7 +9,6 @@ - #include "base/functional/callback.h" - #include "base/memory/ref_counted_delete_on_sequence.h" +@@ -11,7 +11,6 @@ + #include "base/memory/weak_ptr.h" + #include "base/task/sequenced_task_runner.h" #include "chrome/services/file_util/public/mojom/file_util_service.mojom.h" -#include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" -@@ -68,7 +67,6 @@ class SandboxedRarAnalyzer +@@ -73,7 +72,6 @@ class SandboxedRarAnalyzer { // Remote interfaces to the file util service. Only used from the UI thread. mojo::Remote service_; - mojo::Remote remote_analyzer_; - }; - std::ostream& operator<<(std::ostream& os, + base::WeakPtrFactory weak_ptr_factory_{this}; + }; diff --git a/chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h b/chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h --- a/chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h +++ b/chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h @@ -1826,18 +1835,18 @@ diff --git a/chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h b/chr #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" -@@ -65,7 +64,6 @@ class SandboxedZipAnalyzer +@@ -68,7 +67,6 @@ class SandboxedZipAnalyzer { // Remote interfaces to the file util service. Only used from the UI thread. mojo::Remote service_; - mojo::Remote remote_analyzer_; - }; - #endif // CHROME_SERVICES_FILE_UTIL_PUBLIC_CPP_SANDBOXED_ZIP_ANALYZER_H_ + base::WeakPtrFactory weak_ptr_factory_{this}; + }; diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -247,7 +247,6 @@ static_library("test_support") { +@@ -297,7 +297,6 @@ static_library("test_support") { "//chrome:strings", "//chrome/browser:browser_process", "//chrome/browser:test_support", @@ -1845,15 +1854,15 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//chrome/browser/sharing/proto", "//chrome/child", "//chrome/common:non_code_constants", -@@ -1268,7 +1267,6 @@ if (!is_android) { +@@ -1326,7 +1325,6 @@ if (!is_android) { "//chrome/browser/resource_coordinator:mojo_bindings", "//chrome/browser/resource_coordinator:tab_manager_features", - "//chrome/browser/resource_coordinator:tab_metrics_event_proto", + "//chrome/browser/safe_browsing:advanced_protection", - "//chrome/browser/safe_browsing:verdict_cache_manager_factory", "//chrome/browser/segmentation_platform:test_utils", "//chrome/browser/sharing/proto", - "//chrome/browser/ui/color:color_headers", -@@ -5841,9 +5839,6 @@ test("unit_tests") { + "//chrome/browser/storage_access_api:permissions", +@@ -5935,9 +5933,6 @@ test("unit_tests") { "//chrome/browser/profile_resetter:profile_reset_report_proto", "//chrome/browser/profiling_host", "//chrome/browser/push_messaging:budget_proto", @@ -1877,7 +1886,7 @@ diff --git a/components/safe_browsing/content/browser/mojo_safe_browsing_impl.cc diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc -@@ -219,7 +219,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -221,7 +221,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterIntegerPref(prefs::kPasswordProtectionWarningTrigger, PASSWORD_PROTECTION_OFF); registry->RegisterInt64Pref(prefs::kAdvancedProtectionLastRefreshInUs, 0); diff --git a/build/patches/Disable-safe-browsing.patch b/build/patches/Disable-safe-browsing.patch index f1fd2ed2..22870bf7 100644 --- a/build/patches/Disable-safe-browsing.patch +++ b/build/patches/Disable-safe-browsing.patch @@ -9,30 +9,30 @@ Remove phishing classifier License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../res/xml/google_services_preferences.xml | 5 -- - .../android/java/res/xml/main_preferences.xml | 5 -- + .../res/xml/google_services_preferences.xml | 5 - + .../android/java/res/xml/main_preferences.xml | 5 - .../java/res/xml/privacy_preferences.xml | 9 -- - .../privacy/settings/PrivacySettings.java | 40 --------- + .../privacy/settings/PrivacySettings.java | 48 +--------- .../SafeBrowsingSettingsLauncher.java | 8 -- - .../usage_stats/UsageStatsConsentDialog.java | 5 -- + .../usage_stats/UsageStatsConsentDialog.java | 5 - .../android/chrome_main_delegate_android.cc | 1 + chrome/browser/BUILD.gn | 26 ------ .../tab_web_contents_delegate_android.cc | 8 ++ chrome/browser/browser_process.h | 7 -- - chrome/browser/browser_process_impl.cc | 29 ------- + chrome/browser/browser_process_impl.cc | 29 ------ chrome/browser/browser_process_impl.h | 4 - .../chrome_browsing_data_remover_delegate.cc | 2 + - .../browser/chrome_content_browser_client.cc | 24 ++++-- + .../browser/chrome_content_browser_client.cc | 24 +++-- .../browser/chrome_content_browser_client.h | 2 + .../file_type_policies_component_installer.cc | 16 +--- - .../browser/component_updater/registration.cc | 7 -- - .../chrome_download_manager_delegate.cc | 46 +++++----- - .../chrome_download_manager_delegate.h | 8 +- - .../browser/download/download_item_model.cc | 15 +++- + .../browser/component_updater/registration.cc | 12 --- + .../chrome_download_manager_delegate.cc | 48 ++++------ + .../chrome_download_manager_delegate.h | 2 +- + .../browser/download/download_item_model.cc | 15 ++- chrome/browser/download/download_item_model.h | 4 + - chrome/browser/download/download_prefs.cc | 17 ++-- + chrome/browser/download/download_prefs.cc | 17 +--- chrome/browser/download/download_stats.cc | 6 ++ - .../download/download_target_determiner.cc | 66 +++++---------- + .../download/download_target_determiner.cc | 66 +++++--------- .../download/download_target_determiner.h | 6 ++ .../browser/download/download_target_info.cc | 4 + .../browser/download/download_target_info.h | 4 + @@ -41,13 +41,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../extensions/api/downloads/downloads_api.cc | 41 +-------- .../extensions/api/downloads/downloads_api.h | 12 --- .../webstore_private/webstore_private_api.cc | 18 +--- - ...e_file_system_access_permission_context.cc | 14 +++- + ...e_file_system_access_permission_context.cc | 14 ++- ...me_file_system_access_permission_context.h | 5 +- .../lookalike_url_controller_client.cc | 3 - - .../metrics/chrome_metrics_service_client.cc | 3 - + .../metrics/chrome_metrics_service_client.cc | 1 - ...ial_comparison_cert_verifier_controller.cc | 3 - - .../chrome_password_manager_client.cc | 28 +------ - .../permissions/chrome_permissions_client.cc | 14 ---- + .../chrome_password_manager_client.cc | 28 +----- + .../permissions/chrome_permissions_client.cc | 14 --- .../permissions/chrome_permissions_client.h | 3 - .../permission_revocation_request.cc | 6 ++ ...quiet_notification_permission_ui_config.cc | 4 +- @@ -60,8 +60,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/profiles/profile_impl.cc | 4 +- chrome/browser/safe_browsing/BUILD.gn | 4 +- chrome/browser/safe_browsing/android/BUILD.gn | 4 - - .../safe_browsing/SafeBrowsingBridge.java | 83 ------------------- - .../android/safe_browsing_bridge.cc | 59 ------------- + .../safe_browsing/SafeBrowsingBridge.java | 91 ------------------- + .../android/safe_browsing_bridge.cc | 59 ------------ .../download_protection_service.cc | 2 + .../download_protection_service.h | 3 +- .../url_lookup_service_factory.cc | 4 + @@ -73,7 +73,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/ui/tab_helpers.cc | 7 +- .../ui/webui/interstitials/interstitial_ui.cc | 12 +-- chrome/common/safe_browsing/BUILD.gn | 7 -- - chrome/renderer/BUILD.gn | 5 -- + chrome/renderer/BUILD.gn | 5 - .../chrome_content_renderer_client.cc | 6 +- .../renderer/chrome_content_renderer_client.h | 3 - chrome/test/BUILD.gn | 3 - @@ -87,21 +87,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../content/cert_report_helper.cc | 5 +- .../unified_consent_service.cc | 2 +- .../file_system_access_file_writer_impl.cc | 3 +- - .../file_system_access_file_writer_impl.h | 5 -- - .../file_system_access_safe_move_helper.cc | 15 +--- + .../file_system_access_file_writer_impl.h | 5 - + .../file_system_access_safe_move_helper.cc | 15 +-- .../file_system_access_safe_move_helper.h | 6 -- .../file_system_access_permission_context.h | 6 -- weblayer/BUILD.gn | 4 - weblayer/test/BUILD.gn | 1 - - 84 files changed, 211 insertions(+), 654 deletions(-) + 84 files changed, 205 insertions(+), 675 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 +++ 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"/> +@@ -21,11 +21,6 @@ found in the LICENSE file. + android:key="metrics_settings" + android:title="@string/manage_metrics_settings" + android:fragment="org.chromium.chrome.browser.metrics_settings.MetricsSettingsFragment"/> - safe_browsing_service() may be null in unittests. safe_browsing::SafeBrowsingUIManager* ui_manager = g_browser_process->safe_browsing_service() -@@ -5009,6 +5008,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5042,6 +5041,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( std::make_unique( handle)); } @@ -616,7 +635,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle:: -@@ -5265,7 +5265,9 @@ void ChromeContentBrowserClient::OverridePageVisibilityState( +@@ -5312,7 +5312,9 @@ void ChromeContentBrowserClient::OverridePageVisibilityState( void ChromeContentBrowserClient::InitOnUIThread() { DCHECK_CURRENTLY_ON(BrowserThread::UI); @@ -626,7 +645,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch // Initialize `network_contexts_parent_directory_`. base::FilePath user_data_dir; -@@ -6531,6 +6533,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( +@@ -6585,6 +6587,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( const std::vector& allowlist_domains) { DCHECK_CURRENTLY_ON(BrowserThread::IO); @@ -634,7 +653,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch // Should not bypass safe browsing check if the check is for enterprise // lookup. if (!safe_browsing_enabled_for_profile && !should_check_on_sb_disabled) -@@ -6551,6 +6554,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( +@@ -6605,6 +6608,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate( } return safe_browsing_url_checker_delegate_; @@ -644,7 +663,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch } safe_browsing::RealTimeUrlLookupServiceBase* -@@ -6558,24 +6564,28 @@ ChromeContentBrowserClient::GetUrlLookupService( +@@ -6612,24 +6618,28 @@ ChromeContentBrowserClient::GetUrlLookupService( content::BrowserContext* browser_context, bool is_enterprise_lookup_enabled, bool is_consumer_lookup_enabled) { @@ -677,7 +696,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h -@@ -937,9 +937,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -941,9 +941,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { // Parts are deleted in the reverse order they are added. std::vector extra_parts_; @@ -734,15 +753,15 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c #include "chrome/browser/component_updater/chrome_origin_trials_component_installer.h" #include "chrome/browser/component_updater/commerce_heuristics_component_installer.h" #include "chrome/browser/component_updater/crl_set_component_installer.h" -@@ -38,7 +37,6 @@ +@@ -39,7 +38,6 @@ #include "components/component_updater/installer_policies/autofill_states_component_installer.h" #include "components/component_updater/installer_policies/on_device_head_suggest_component_installer.h" #include "components/component_updater/installer_policies/optimization_hints_component_installer.h" -#include "components/component_updater/installer_policies/safety_tips_component_installer.h" #include "components/component_updater/url_param_filter_remover.h" #include "components/nacl/common/buildflags.h" - #include "components/services/screen_ai/buildflags/buildflags.h" -@@ -187,9 +185,6 @@ void RegisterComponentsForUpdate() { + #include "components/safe_browsing/core/common/features.h" +@@ -185,9 +183,6 @@ void RegisterComponentsForUpdate() { MaybeRegisterPKIMetadataComponent(cus); @@ -752,11 +771,16 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c #if BUILDFLAG(IS_CHROMEOS_ASH) RegisterSmartDimComponent(cus); RegisterAppProvisioningComponent(cus); -@@ -211,8 +206,6 @@ void RegisterComponentsForUpdate() { +@@ -208,13 +203,6 @@ void RegisterComponentsForUpdate() { RegisterAutofillStatesComponent(cus, g_browser_process->local_state()); -- RegisterClientSidePhishingComponent(cus); +- // OptimizationGuide provides the model through their services, so if the +- // flag is false, a registration to CSD-Phishing component is needed +- if (!base::FeatureList::IsEnabled( +- safe_browsing::kClientSideDetectionModelOptimizationGuide)) { +- RegisterClientSidePhishingComponent(cus); +- } - #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && !BUILDFLAG(IS_CHROMEOS) RegisterScreenAIComponent(cus, g_browser_process->local_state()); @@ -775,16 +799,16 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom #include "chrome/browser/platform_util.h" #include "chrome/browser/profiles/profile.h" +#if defined(FULL_SAFE_BROWSING) - #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h" - #include "chrome/browser/safe_browsing/download_protection/deep_scanning_request.h" - #include "chrome/browser/safe_browsing/download_protection/download_protection_service.h" - #include "chrome/browser/safe_browsing/download_protection/download_protection_util.h" #include "chrome/browser/safe_browsing/safe_browsing_service.h" -+#endif #include "chrome/browser/ui/chrome_pages.h" #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" #include "chrome/common/buildflags.h" -@@ -72,9 +76,11 @@ + #include "chrome/common/chrome_constants.h" ++#endif + #include "chrome/common/chrome_features.h" + #include "chrome/common/chrome_paths.h" + #include "chrome/common/net/safe_search_util.h" +@@ -68,9 +72,11 @@ #include "components/prefs/pref_member.h" #include "components/prefs/pref_service.h" #include "components/safe_browsing/buildflags.h" @@ -796,18 +820,17 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom #include "components/services/quarantine/public/mojom/quarantine.mojom.h" #include "components/services/quarantine/quarantine_impl.h" #include "content/public/browser/browser_task_traits.h" -@@ -133,8 +139,10 @@ using content::DownloadManager; +@@ -136,7 +142,9 @@ using content::DownloadManager; using download::DownloadItem; using download::DownloadPathReservationTracker; using download::PathValidationResult; +#if defined(FULL_SAFE_BROWSING) using safe_browsing::DownloadFileType; - using safe_browsing::DownloadProtectionService; +#endif using ConnectionType = net::NetworkChangeNotifier::ConnectionType; - #if BUILDFLAG(ENABLE_EXTENSIONS) -@@ -354,12 +362,12 @@ void HandleInsecureDownloadInfoBarResult( + #if BUILDFLAG(FULL_SAFE_BROWSING) +@@ -360,12 +368,12 @@ void HandleInsecureDownloadInfoBarResult( } #endif @@ -821,7 +844,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom if (download_restriction != DownloadPrefs::DownloadRestriction::POTENTIALLY_DANGEROUS_FILES && download_restriction != -@@ -396,8 +404,8 @@ void MaybeReportDangerousDownloadBlocked( +@@ -402,8 +410,8 @@ void MaybeReportDangerousDownloadBlocked( danger_type, download->GetMimeType(), /*scan_id*/ "", download->GetTotalBytes(), safe_browsing::EventResult::BLOCKED); } @@ -831,7 +854,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom #if BUILDFLAG(FULL_SAFE_BROWSING) download::DownloadDangerType SavePackageDangerType( -@@ -455,13 +463,6 @@ void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) { +@@ -461,13 +469,6 @@ void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) { download_manager_ = dm; @@ -845,7 +868,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom if (download_manager_) { download_manager_->AddObserver(this); } -@@ -826,17 +827,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath( +@@ -832,17 +833,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath( void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName( base::FilePath* filename, const GURL& source_url) { @@ -863,7 +886,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom } void ChromeDownloadManagerDelegate::SanitizeDownloadParameters( -@@ -900,9 +890,6 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) { +@@ -906,9 +896,6 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) { chrome::ShowSettingsSubPage(browser, "certificates"); else browser->OpenURL(params); @@ -873,28 +896,20 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom #endif // BUILDFLAG(IS_ANDROID) } -@@ -952,18 +939,18 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() { - return std::string(chrome::kApplicationClientIDStringForAVScanning); - } - -+#if BUILDFLAG(FULL_SAFE_BROWSING) +@@ -962,12 +949,6 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() { DownloadProtectionService* ChromeDownloadManagerDelegate::GetDownloadProtectionService() { DCHECK_CURRENTLY_ON(BrowserThread::UI); --#if BUILDFLAG(FULL_SAFE_BROWSING) - safe_browsing::SafeBrowsingService* sb_service = - g_browser_process->safe_browsing_service(); - if (sb_service && sb_service->download_protection_service()) { - return sb_service->download_protection_service(); - } --#endif +- safe_browsing::SafeBrowsingService* sb_service = +- g_browser_process->safe_browsing_service(); +- if (sb_service && sb_service->download_protection_service()) { +- return sb_service->download_protection_service(); +- } +- return nullptr; } -+#endif - - void ChromeDownloadManagerDelegate::GetInsecureDownloadStatus( - download::DownloadItem* download, -@@ -1507,8 +1494,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( + #endif +@@ -1514,8 +1495,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( DownloadItemModel model(item); model.DetermineAndSetShouldPreferOpeningInBrowser( target_info->target_path, target_info->is_filetype_handled_safely); @@ -906,7 +921,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom if (ShouldBlockFile(item, target_info->danger_type)) { MaybeReportDangerousDownloadBlocked( download_prefs_->download_restriction(), "DANGEROUS_FILE_TYPE", -@@ -1517,6 +1507,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( +@@ -1524,6 +1508,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( // A dangerous type would take precedence over the blocking of the file. target_info->danger_type = download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS; } @@ -914,7 +929,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom base::FilePath target_path = target_info->target_path; -@@ -1586,6 +1577,7 @@ bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( +@@ -1593,6 +1578,7 @@ bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( bool ChromeDownloadManagerDelegate::ShouldBlockFile( download::DownloadItem* item, download::DownloadDangerType danger_type) const { @@ -922,7 +937,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom DownloadPrefs::DownloadRestriction download_restriction = download_prefs_->download_restriction(); -@@ -1634,7 +1626,7 @@ bool ChromeDownloadManagerDelegate::ShouldBlockFile( +@@ -1641,7 +1627,7 @@ bool ChromeDownloadManagerDelegate::ShouldBlockFile( LOG(ERROR) << "Invalid download restruction value: " << static_cast(download_restriction); } @@ -931,7 +946,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom return false; } -@@ -1648,7 +1640,6 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( +@@ -1655,7 +1641,6 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( service->MaybeSendDangerousDownloadOpenedReport(download, show_download_in_folder); } @@ -939,7 +954,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom if (!download->GetAutoOpened()) { download::DownloadContent download_content = download::DownloadContentFromMimeType(download->GetMimeType(), false); -@@ -1656,6 +1647,7 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( +@@ -1663,6 +1648,7 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport( download->GetDangerType(), download_content, base::Time::Now(), download->GetEndTime(), show_download_in_folder); } @@ -950,18 +965,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome/browser/download/chrome_download_manager_delegate.h --- a/chrome/browser/download/chrome_download_manager_delegate.h +++ b/chrome/browser/download/chrome_download_manager_delegate.h -@@ -22,8 +22,10 @@ - #include "chrome/browser/download/download_completion_blocker.h" - #include "chrome/browser/download/download_target_determiner_delegate.h" - #include "chrome/browser/download/download_target_info.h" -+#if defined(FULL_SAFE_BROWSING) - #include "chrome/browser/safe_browsing/download_protection/download_protection_service.h" - #include "chrome/browser/safe_browsing/download_protection/download_protection_util.h" -+#endif - #include "components/download/public/common/download_danger_type.h" - #include "components/download/public/common/download_item.h" - #include "components/download/public/common/download_path_reservation_tracker.h" -@@ -151,7 +153,7 @@ class ChromeDownloadManagerDelegate +@@ -154,7 +154,7 @@ class ChromeDownloadManagerDelegate DownloadPrefs* download_prefs() { return download_prefs_.get(); } @@ -970,47 +974,20 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome // The state of a safebrowsing check. class SafeBrowsingState : public DownloadCompletionBlocker { public: -@@ -166,7 +168,6 @@ class ChromeDownloadManagerDelegate - // a download item. - static const char kSafeBrowsingUserDataKey[]; - }; --#endif // FULL_SAFE_BROWSING - - // Callback function after the DownloadProtectionService completes. - void CheckClientDownloadDone(uint32_t download_id, -@@ -175,6 +176,7 @@ class ChromeDownloadManagerDelegate - // Callback function after scanning completes for a save package. - void CheckSavePackageScanningDone(uint32_t download_id, - safe_browsing::DownloadCheckResult result); -+#endif // FULL_SAFE_BROWSING - - base::WeakPtr GetWeakPtr(); - -@@ -197,8 +199,10 @@ class ChromeDownloadManagerDelegate - virtual bool IsOpenInBrowserPreferreredForFile(const base::FilePath& path); - - protected: -+#if defined(FULL_SAFE_BROWSING) - virtual safe_browsing::DownloadProtectionService* - GetDownloadProtectionService(); -+#endif - - // Show file picker for |download|. - virtual void ShowFilePickerForDownload( diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc --- a/chrome/browser/download/download_item_model.cc +++ b/chrome/browser/download/download_item_model.cc -@@ -34,7 +34,9 @@ +@@ -33,7 +33,9 @@ + #include "chrome/browser/download/offline_item_utils.h" + #include "chrome/browser/enterprise/connectors/common.h" #include "chrome/browser/enterprise/connectors/connectors_manager.h" - #include "chrome/browser/profiles/profile.h" - #include "chrome/browser/safe_browsing/download_protection/deep_scanning_request.h" +#if BUILDFLAG(FULL_SAFE_BROWSING) - #include "chrome/browser/safe_browsing/download_protection/download_feedback_service.h" + #include "chrome/browser/profiles/profile.h" +#endif #include "chrome/browser/safe_browsing/download_protection/download_protection_util.h" #include "chrome/browser/safe_browsing/safe_browsing_service.h" #include "chrome/browser/signin/identity_manager_factory.h" -@@ -45,8 +47,10 @@ +@@ -44,8 +46,10 @@ #include "components/download/public/common/download_item.h" #include "components/safe_browsing/buildflags.h" #include "components/safe_browsing/content/browser/web_ui/safe_browsing_ui.h" @@ -1021,7 +998,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow #include "components/safe_browsing/core/common/features.h" #include "components/signin/public/base/consent_level.h" #include "components/signin/public/identity_manager/account_info.h" -@@ -66,7 +70,9 @@ +@@ -70,7 +74,9 @@ using download::DownloadItem; using InsecureDownloadStatus = download::DownloadItem::InsecureDownloadStatus; @@ -1031,7 +1008,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow using ReportThreatDetailsResult = safe_browsing::PingManager::ReportThreatDetailsResult; using TailoredVerdict = safe_browsing::ClientDownloadResponse::TailoredVerdict; -@@ -104,9 +110,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data { +@@ -108,9 +114,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data { // for the file type. absl::optional should_prefer_opening_in_browser_; @@ -1043,7 +1020,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow // Whether the download is currently being revived. bool is_being_revived_; -@@ -154,7 +162,9 @@ DownloadItemModelData* DownloadItemModelData::GetOrCreate( +@@ -160,7 +168,9 @@ DownloadItemModelData* DownloadItemModelData::GetOrCreate( DownloadItemModelData::DownloadItemModelData() : should_show_in_shelf_(true), was_ui_notified_(false), @@ -1053,7 +1030,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow is_being_revived_(false) {} #if BUILDFLAG(FULL_SAFE_BROWSING) -@@ -534,6 +544,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) { +@@ -543,6 +553,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) { data->should_prefer_opening_in_browser_ = preference; } @@ -1061,7 +1038,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow DownloadFileType::DangerLevel DownloadItemModel::GetDangerLevel() const { const DownloadItemModelData* data = DownloadItemModelData::Get(download_); return data ? data->danger_level_ : DownloadFileType::NOT_DANGEROUS; -@@ -544,6 +555,7 @@ void DownloadItemModel::SetDangerLevel( +@@ -553,6 +564,7 @@ void DownloadItemModel::SetDangerLevel( DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_); data->danger_level_ = danger_level; } @@ -1069,7 +1046,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow download::DownloadItem::InsecureDownloadStatus DownloadItemModel::GetInsecureDownloadStatus() const { -@@ -719,9 +731,6 @@ bool DownloadItemModel::IsCommandEnabled( +@@ -728,9 +740,6 @@ bool DownloadItemModel::IsCommandEnabled( // filename. Don't base an "Always open" decision based on it. Also // exclude extensions. return download_->CanOpenDownload() && @@ -1107,7 +1084,7 @@ diff --git a/chrome/browser/download/download_item_model.h b/chrome/browser/down diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc --- a/chrome/browser/download/download_prefs.cc +++ b/chrome/browser/download/download_prefs.cc -@@ -42,7 +42,9 @@ +@@ -41,7 +41,9 @@ #include "components/policy/core/browser/url_blocklist_manager.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_service.h" @@ -1117,7 +1094,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download #include "content/public/browser/browser_thread.h" #include "content/public/browser/download_manager.h" #include "content/public/browser/save_page_type.h" -@@ -64,7 +66,9 @@ +@@ -67,7 +69,9 @@ using content::BrowserContext; using content::BrowserThread; using content::DownloadManager; @@ -1127,7 +1104,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download namespace { -@@ -263,14 +267,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) { +@@ -268,14 +272,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) { base::FilePath::StringType(1, base::FilePath::kExtensionSeparator) + extension); @@ -1143,7 +1120,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download } } -@@ -450,10 +447,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url, +@@ -460,10 +457,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url, bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension( const base::FilePath& file_name) { base::FilePath::StringType extension = file_name.Extension(); @@ -1260,7 +1237,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow // If no mime type or explicitly specified a name, don't replace file // extension. -@@ -953,6 +963,7 @@ DownloadTargetDeterminer::Result +@@ -959,6 +969,7 @@ DownloadTargetDeterminer::Result return CONTINUE; } @@ -1268,7 +1245,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow // First determine the danger level assuming that the user doesn't have any // prior visits to the referrer recoreded in history. The resulting danger // level would be ALLOW_ON_USER_GESTURE if the level depends on the visit -@@ -989,6 +1000,7 @@ DownloadTargetDeterminer::Result +@@ -995,6 +1006,7 @@ DownloadTargetDeterminer::Result // invalid, then assume the referrer has not been visited before. if (danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE; @@ -1276,7 +1253,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow return CONTINUE; } -@@ -996,6 +1008,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone( +@@ -1002,6 +1014,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone( bool visited_referrer_before) { DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_EQ(STATE_DETERMINE_INTERMEDIATE_PATH, next_state_); @@ -1284,7 +1261,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow safe_browsing::RecordDownloadFileTypeAttributes( safe_browsing::FileTypePolicies::GetInstance()->GetFileDangerLevel( virtual_path_.BaseName(), download_->GetURL(), -@@ -1007,6 +1020,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone( +@@ -1013,6 +1026,7 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone( if (danger_level_ != DownloadFileType::NOT_DANGEROUS && danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS) danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE; @@ -1292,7 +1269,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow DoLoop(); } -@@ -1105,7 +1119,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf( +@@ -1111,7 +1125,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf( << " Intermediate:" << intermediate_path_.AsUTF8Unsafe() << " Confirmation reason:" << static_cast(confirmation_reason_) << " Danger type:" << danger_type_ @@ -1302,7 +1279,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow << " Result:" << static_cast(result); std::unique_ptr target_info(new DownloadTargetInfo); -@@ -1117,7 +1133,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf( +@@ -1123,7 +1139,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf( ? DownloadItem::TARGET_DISPOSITION_PROMPT : DownloadItem::TARGET_DISPOSITION_OVERWRITE); target_info->danger_type = danger_type_; @@ -1312,7 +1289,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow target_info->intermediate_path = intermediate_path_; target_info->mime_type = mime_type_; target_info->is_filetype_handled_safely = is_filetype_handled_safely_; -@@ -1244,54 +1262,11 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const { +@@ -1250,54 +1268,11 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const { DownloadItem::TARGET_DISPOSITION_PROMPT); } @@ -1368,7 +1345,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow } absl::optional -@@ -1305,6 +1280,7 @@ DownloadTargetDeterminer::GetLastDownloadBypassTimestamp() const { +@@ -1311,6 +1286,7 @@ DownloadTargetDeterminer::GetLastDownloadBypassTimestamp() const { EventType::DANGEROUS_DOWNLOAD_BYPASS) : absl::nullopt; } @@ -1495,7 +1472,7 @@ diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/downl diff --git a/chrome/browser/download/download_ui_model.h b/chrome/browser/download/download_ui_model.h --- a/chrome/browser/download/download_ui_model.h +++ b/chrome/browser/download/download_ui_model.h -@@ -19,7 +19,9 @@ +@@ -18,7 +18,9 @@ #include "components/download/public/common/download_item.h" #include "components/offline_items_collection/core/offline_item.h" #include "components/safe_browsing/buildflags.h" @@ -1505,7 +1482,7 @@ diff --git a/chrome/browser/download/download_ui_model.h b/chrome/browser/downlo #include "ui/base/models/image_model.h" #include "ui/color/color_id.h" #include "ui/gfx/vector_icon_types.h" -@@ -354,6 +356,7 @@ class DownloadUIModel { +@@ -355,6 +357,7 @@ class DownloadUIModel { // Change what's returned by ShouldPreferOpeningInBrowser to |preference|. virtual void SetShouldPreferOpeningInBrowser(bool preference); @@ -1513,7 +1490,7 @@ diff --git a/chrome/browser/download/download_ui_model.h b/chrome/browser/downlo // Return the danger level determined during download target determination. // The value returned here is independent of the danger level as determined by // the Safe Browsing. -@@ -362,6 +365,7 @@ class DownloadUIModel { +@@ -363,6 +366,7 @@ class DownloadUIModel { // Change what's returned by GetDangerLevel(). virtual void SetDangerLevel( safe_browsing::DownloadFileType::DangerLevel danger_level); @@ -1524,7 +1501,7 @@ diff --git a/chrome/browser/download/download_ui_model.h b/chrome/browser/downlo diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc --- a/chrome/browser/extensions/api/downloads/downloads_api.cc +++ b/chrome/browser/extensions/api/downloads/downloads_api.cc -@@ -36,7 +36,6 @@ +@@ -37,7 +37,6 @@ #include "chrome/browser/download/bubble/download_bubble_prefs.h" #include "chrome/browser/download/download_core_service.h" #include "chrome/browser/download/download_core_service_factory.h" @@ -1532,7 +1509,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/b #include "chrome/browser/download/download_file_icon_extractor.h" #include "chrome/browser/download/download_open_prompt.h" #include "chrome/browser/download/download_prefs.h" -@@ -1360,9 +1359,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {} +@@ -1361,9 +1360,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {} DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {} @@ -1542,7 +1519,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/b ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() { std::unique_ptr params( downloads::AcceptDanger::Params::Create(args())); -@@ -1400,42 +1396,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) { +@@ -1401,42 +1397,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) { return; } RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER); @@ -1628,7 +1605,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.h b/chrome/br diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -1279,21 +1279,9 @@ WebstorePrivateGetExtensionStatusFunction::Run() { +@@ -1280,21 +1280,9 @@ WebstorePrivateGetExtensionStatusFunction::Run() { GetExtensionStatus::Params::Create(args())); EXTENSION_FUNCTION_VALIDATE(params); @@ -1656,19 +1633,18 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -32,8 +32,11 @@ +@@ -32,7 +32,10 @@ #include "chrome/browser/download/download_prefs.h" #include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h" #include "chrome/browser/profiles/profile.h" +#if defined(FULL_SAFE_BROWSING) - #include "chrome/browser/safe_browsing/download_protection/download_protection_service.h" - #include "chrome/browser/safe_browsing/safe_browsing_service.h" + #include "chrome/browser/safe_browsing/download_protection/download_protection_util.h" +#include "components/safe_browsing/content/common/file_type_policies.h" +#endif #include "chrome/browser/ui/file_system_access_dialogs.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/pdf_util.h" -@@ -42,7 +45,6 @@ +@@ -41,7 +44,6 @@ #include "components/content_settings/core/common/content_settings.h" #include "components/permissions/permission_util.h" #include "components/safe_browsing/buildflags.h" @@ -1676,7 +1652,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/disallow_activation_reason.h" -@@ -144,6 +146,7 @@ void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread( +@@ -148,6 +150,7 @@ void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread( origin, handle_type, std::move(callback), web_contents); } @@ -1684,7 +1660,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss void ShowFileSystemAccessDangerousFileDialogOnUIThread( content::GlobalRenderFrameHostId frame_id, const url::Origin& origin, -@@ -172,6 +175,7 @@ void ShowFileSystemAccessDangerousFileDialogOnUIThread( +@@ -176,6 +179,7 @@ void ShowFileSystemAccessDangerousFileDialogOnUIThread( ShowFileSystemAccessDangerousFileDialog(origin, path, std::move(callback), web_contents); } @@ -1692,7 +1668,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss #if BUILDFLAG(IS_WIN) bool ContainsInvalidDNSCharacter(base::FilePath::StringType hostname) { -@@ -394,6 +398,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path, +@@ -398,6 +402,7 @@ bool ShouldBlockAccessToPath(const base::FilePath& check_path, return true; } @@ -1700,7 +1676,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss void DoSafeBrowsingCheckOnUIThread( content::GlobalRenderFrameHostId frame_id, std::unique_ptr item, -@@ -472,6 +477,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) { +@@ -476,6 +481,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) { NOTREACHED(); return ChromeFileSystemAccessPermissionContext::AfterWriteCheckResult::kBlock; } @@ -1708,7 +1684,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss std::string GenerateLastPickedDirectoryKey(const std::string& id) { return id.empty() ? kDefaultLastPickedDirectoryKey -@@ -1328,6 +1334,7 @@ void ChromeFileSystemAccessPermissionContext::CheckPathAgainstBlocklist( +@@ -1334,6 +1340,7 @@ void ChromeFileSystemAccessPermissionContext::CheckPathAgainstBlocklist( std::move(callback)); } @@ -1716,7 +1692,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks( std::unique_ptr item, content::GlobalRenderFrameHostId frame_id, -@@ -1350,6 +1357,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks( +@@ -1356,6 +1363,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks( base::SequencedTaskRunner::GetCurrentDefault(), std::move(callback)))); } @@ -1724,7 +1700,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss void ChromeFileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist( const url::Origin& origin, -@@ -1360,7 +1368,7 @@ void ChromeFileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist( +@@ -1366,7 +1374,7 @@ void ChromeFileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist( base::OnceCallback callback, bool should_block) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); @@ -1733,7 +1709,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss if (user_action == UserAction::kNone) { std::move(callback).Run(should_block ? SensitiveEntryResult::kAbort : SensitiveEntryResult::kAllowed); -@@ -1391,7 +1399,7 @@ void ChromeFileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist( +@@ -1397,7 +1405,7 @@ void ChromeFileSystemAccessPermissionContext::DidCheckPathAgainstBlocklist( frame_id, origin, path, std::move(result_callback))); return; } @@ -1779,12 +1755,10 @@ diff --git a/chrome/browser/lookalikes/lookalike_url_controller_client.cc b/chro diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -902,9 +902,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() { +@@ -908,7 +908,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() { metrics_service_->RegisterMetricsProvider( - std::make_unique()); - -- metrics_service_->RegisterMetricsProvider( -- std::make_unique()); + std::make_unique()); + #endif - #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) metrics_service_->RegisterMetricsProvider( @@ -1792,7 +1766,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/br diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/chrome/browser/net/trial_comparison_cert_verifier_controller.cc --- a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc +++ b/chrome/browser/net/trial_comparison_cert_verifier_controller.cc -@@ -132,9 +132,6 @@ void TrialComparisonCertVerifierController::SendTrialReport( +@@ -137,9 +137,6 @@ void TrialComparisonCertVerifierController::SendTrialReport( std::string serialized_report; if (!report.Serialize(&serialized_report)) return; @@ -1817,7 +1791,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b #endif #if BUILDFLAG(IS_ANDROID) -@@ -903,21 +903,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const { +@@ -888,21 +888,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const { safe_browsing::PasswordProtectionService* ChromePasswordManagerClient::GetPasswordProtectionService() const { @@ -1840,7 +1814,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b } #endif // defined(ON_FOCUS_PING_ENABLED) -@@ -929,15 +921,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( +@@ -914,15 +906,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( bool password_field_exists, uint64_t reused_password_hash, const std::string& domain) { @@ -1856,7 +1830,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b #if !BUILDFLAG(IS_ANDROID) // If the webpage is not an extension page, do nothing. if (!GURL(domain).SchemeIs(kExtensionScheme)) { -@@ -976,11 +959,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( +@@ -961,11 +944,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry( } void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() { @@ -1868,7 +1842,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b } #if !BUILDFLAG(IS_ANDROID) -@@ -1593,6 +1571,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( +@@ -1578,6 +1556,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( is_enabled = false; } @@ -1876,7 +1850,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b // SafeBrowsing Delayed Warnings experiment can delay some SafeBrowsing // warnings until user interaction. If the current page has a delayed warning, // it'll have a user interaction observer attached. Disable password -@@ -1603,6 +1582,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( +@@ -1588,6 +1567,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( observer->OnPasswordSaveOrAutofillDenied(); is_enabled = false; } @@ -1987,7 +1961,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #include "build/chromecast_buildflags.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/about_flags.h" -@@ -1431,7 +1432,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1371,7 +1372,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, PushMessagingAppIdentifier::RegisterProfilePrefs(registry); QuietNotificationPermissionUiState::RegisterProfilePrefs(registry); RegisterBrowserUserPrefs(registry); @@ -2000,16 +1974,16 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/privacy_guide/android/BUILD.gn b/chrome/browser/privacy_guide/android/BUILD.gn --- a/chrome/browser/privacy_guide/android/BUILD.gn +++ b/chrome/browser/privacy_guide/android/BUILD.gn -@@ -16,7 +16,6 @@ android_library("java") { +@@ -18,7 +18,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideMetricsDelegate.java", "java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java", "java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideUtils.java", - "java/src/org/chromium/chrome/browser/privacy_guide/SafeBrowsingFragment.java", "java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandler.java", "java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImpl.java", - ] -@@ -53,7 +52,6 @@ robolectric_library("junit") { - "junit/src/org/chromium/chrome/browser/privacy_guide/MSBBFragmentTest.java", + "java/src/org/chromium/chrome/browser/privacy_guide/WelcomeFragment.java", +@@ -63,7 +62,6 @@ robolectric_library("junit") { + "junit/src/org/chromium/chrome/browser/privacy_guide/NavbarVisibilityDelegateTest.java", "junit/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideMetricsDelegateTest.java", "junit/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapterTest.java", - "junit/src/org/chromium/chrome/browser/privacy_guide/SafeBrowsingFragmentTest.java", @@ -2026,13 +2000,13 @@ diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/b - if (childFragment instanceof SafeBrowsingFragment) { - ((SafeBrowsingFragment) childFragment).setBottomSheetController(mBottomSheetController); - } - } - - @Override + if (childFragment instanceof DoneFragment) { + DoneFragment doneFragment = (DoneFragment) childFragment; + doneFragment.setCustomTabIntentHelper(mCustomTabHelper); diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java --- a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java +++ b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java -@@ -66,8 +66,6 @@ public class PrivacyGuidePagerAdapter extends FragmentStateAdapter { +@@ -70,8 +70,6 @@ public class PrivacyGuidePagerAdapter extends FragmentStateAdapter { return new MSBBFragment(); case PrivacyGuideFragment.FragmentType.HISTORY_SYNC: return new HistorySyncFragment(); @@ -2040,7 +2014,7 @@ diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/b - return new SafeBrowsingFragment(); case PrivacyGuideFragment.FragmentType.COOKIES: return new CookiesFragment(); - } + case PrivacyGuideFragment.FragmentType.DONE: diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImpl.java b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImpl.java --- a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImpl.java +++ b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImpl.java @@ -2056,23 +2030,23 @@ diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/b diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -84,7 +84,6 @@ - #include "chrome/browser/profiles/renderer_updater_factory.h" +@@ -122,7 +122,6 @@ + #include "chrome/browser/push_messaging/push_messaging_service_factory.h" #include "chrome/browser/reading_list/reading_list_model_factory.h" #include "chrome/browser/reduce_accept_language/reduce_accept_language_factory.h" -#include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h" - #include "chrome/browser/safe_browsing/tailored_security/tailored_security_service_factory.h" - #include "chrome/browser/search_engines/template_url_fetcher_factory.h" - #include "chrome/browser/search_engines/template_url_service_factory.h" -@@ -363,7 +362,6 @@ void ChromeBrowserMainExtraPartsProfiles:: + #include "chrome/browser/safe_browsing/chrome_password_protection_service_factory.h" + #include "chrome/browser/safe_browsing/client_side_detection_service_factory.h" + #include "chrome/browser/safe_browsing/safe_browsing_metrics_collector_factory.h" +@@ -520,7 +519,6 @@ void ChromeBrowserMainExtraPartsProfiles:: CertDbInitializerFactory::GetInstance(); #endif #if BUILDFLAG(SAFE_BROWSING_AVAILABLE) - CertificateReportingServiceFactory::GetInstance(); #endif - #if !BUILDFLAG(IS_ANDROID) - ChromeBrowsingDataLifetimeManagerFactory::GetInstance(); -@@ -602,7 +600,9 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if BUILDFLAG(ENABLE_SUPERVISED_USERS) + ChildAccountServiceFactory::GetInstance(); +@@ -884,7 +882,9 @@ void ChromeBrowserMainExtraPartsProfiles:: } #endif TabRestoreServiceFactory::GetInstance(); @@ -2093,7 +2067,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p #include "chrome/browser/sessions/exit_type_service.h" #include "chrome/browser/sharing/sharing_service_factory.h" #include "chrome/browser/signin/identity_manager_factory.h" -@@ -628,6 +627,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { +@@ -632,6 +631,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { mojo::PendingRemote pref_validation_delegate; @@ -2101,7 +2075,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p scoped_refptr safe_browsing_service( g_browser_process->safe_browsing_service()); if (safe_browsing_service.get()) { -@@ -639,7 +639,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { +@@ -643,7 +643,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) { pref_validation_delegate.InitWithNewPipeAndPassReceiver()); } } @@ -2121,7 +2095,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin sources = [ "chrome_controller_client.cc", "chrome_controller_client.h", -@@ -41,7 +42,6 @@ static_library("safe_browsing") { +@@ -43,7 +44,6 @@ static_library("safe_browsing") { "//components/resources:components_resources_grit", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -2129,7 +2103,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin "//components/safe_browsing/content/browser/triggers:suspicious_site_trigger", "//components/safe_browsing/content/browser/web_ui", "//components/safe_browsing/core/browser", -@@ -94,6 +94,7 @@ static_library("safe_browsing") { +@@ -96,6 +96,7 @@ static_library("safe_browsing") { "//extensions/browser", ] } @@ -2137,7 +2111,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin if (safe_browsing_mode != 0) { # "Safe Browsing Basic" files used for safe browsing in full mode -@@ -178,7 +179,6 @@ static_library("safe_browsing") { +@@ -182,7 +183,6 @@ static_library("safe_browsing") { "//components/safe_browsing/content/browser/triggers:ad_sampler_trigger", "//components/safe_browsing/content/browser/triggers:suspicious_site_trigger", "//components/safe_browsing/content/browser/triggers:trigger_throttler", @@ -2148,7 +2122,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin diff --git a/chrome/browser/safe_browsing/android/BUILD.gn b/chrome/browser/safe_browsing/android/BUILD.gn --- a/chrome/browser/safe_browsing/android/BUILD.gn +++ b/chrome/browser/safe_browsing/android/BUILD.gn -@@ -36,12 +36,8 @@ source_set("android") { +@@ -41,12 +41,8 @@ source_set("android") { android_library("java") { sources = [ "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java", @@ -2164,7 +2138,7 @@ diff --git a/chrome/browser/safe_browsing/android/BUILD.gn b/chrome/browser/safe diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java --- a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java +++ b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java -@@ -14,87 +14,4 @@ import org.chromium.base.annotations.NativeMethods; +@@ -14,95 +14,4 @@ import org.chromium.base.annotations.NativeMethods; */ @JNINamespace("safe_browsing") public final class SafeBrowsingBridge { @@ -2237,6 +2211,13 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b - return SafeBrowsingBridgeJni.get().isLeakDetectionUnauthenticatedEnabled(); - } - +- /** +- * @return Whether the user is under Advanced Protection. +- */ +- public static boolean isUnderAdvancedProtection() { +- return SafeBrowsingBridgeJni.get().isUnderAdvancedProtection(); +- } +- - @NativeMethods - @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) - public interface Natives { @@ -2250,12 +2231,13 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b - boolean isSafeBrowsingManaged(); - boolean hasAccountForLeakCheckRequest(); - boolean isLeakDetectionUnauthenticatedEnabled(); +- boolean isUnderAdvancedProtection(); - } } 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 -@@ -33,63 +33,4 @@ PrefService* GetPrefService() { +@@ -36,65 +36,6 @@ PrefService* GetPrefService() { namespace safe_browsing { @@ -2318,11 +2300,13 @@ diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chro - password_manager::features::kLeakDetectionUnauthenticated); -} - - } // namespace safe_browsing + static jboolean JNI_SafeBrowsingBridge_IsUnderAdvancedProtection(JNIEnv* env) { + Profile* profile = + ProfileManager::GetActiveUserProfile()->GetOriginalProfile(); diff --git a/chrome/browser/safe_browsing/download_protection/download_protection_service.cc b/chrome/browser/safe_browsing/download_protection/download_protection_service.cc --- a/chrome/browser/safe_browsing/download_protection/download_protection_service.cc +++ b/chrome/browser/safe_browsing/download_protection/download_protection_service.cc -@@ -799,11 +799,13 @@ void DownloadProtectionService::RequestFinished(DeepScanningRequest* request) { +@@ -807,11 +807,13 @@ void DownloadProtectionService::RequestFinished(DeepScanningRequest* request) { deep_scanning_requests_.erase(it); } @@ -2347,7 +2331,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/download_protectio #include "chrome/browser/safe_browsing/download_protection/deep_scanning_request.h" #include "chrome/browser/safe_browsing/download_protection/download_protection_observer.h" #include "chrome/browser/safe_browsing/download_protection/download_protection_util.h" -@@ -334,11 +333,13 @@ class DownloadProtectionService { +@@ -332,11 +331,13 @@ class DownloadProtectionService { void OnDangerousDownloadOpened(const download::DownloadItem* item, Profile* profile); @@ -2428,7 +2412,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss {security_state::SafetyTipStatus::kUnknown, GURL()}); // If both the mixed form warnings are not disabled by policy we don't degrade -@@ -168,6 +163,7 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const { +@@ -174,6 +169,7 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const { security_state::MaliciousContentStatus SecurityStateTabHelper::GetMaliciousContentStatus() const { @@ -2436,7 +2420,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss content::NavigationEntry* entry = web_contents()->GetController().GetVisibleEntry(); if (!entry) -@@ -254,6 +250,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { +@@ -260,6 +256,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { break; } } @@ -2465,7 +2449,7 @@ diff --git a/chrome/browser/subresource_filter/chrome_content_subresource_filter diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -555,7 +555,6 @@ static_library("ui") { +@@ -558,7 +558,6 @@ static_library("ui") { "//components/renderer_context_menu", "//components/resources", "//components/safe_browsing/content/browser", @@ -2473,7 +2457,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/web_ui", "//components/safe_browsing/core/browser/db:database_manager", -@@ -4495,7 +4494,6 @@ static_library("ui") { +@@ -4540,7 +4539,6 @@ static_library("ui") { "views/download/bubble/download_dialog_view.h", "views/download/bubble/download_toolbar_button_view.cc", "views/download/bubble/download_toolbar_button_view.h", @@ -2497,7 +2481,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4927,9 +4921,6 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -2534,7 +2518,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/sessions/session_tab_helper_factory.h" #include "chrome/browser/ssl/chrome_security_blocking_page_factory.h" @@ -132,9 +133,11 @@ - #include "components/permissions/features.h" + #include "components/permissions/permission_recovery_success_rate_tracker.h" #include "components/permissions/permission_request_manager.h" #include "components/permissions/unused_site_permissions_service.h" +#if defined(FULL_SAFE_BROWSING) @@ -2564,7 +2548,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc -@@ -277,6 +277,7 @@ CreateHttpsOnlyModePage(content::WebContents* web_contents) { +@@ -278,6 +278,7 @@ CreateHttpsOnlyModePage(content::WebContents* web_contents) { request_url)); } @@ -2572,7 +2556,7 @@ diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/b std::unique_ptr CreateSafeBrowsingBlockingPage(content::WebContents* web_contents) { safe_browsing::SBThreatType threat_type = -@@ -335,7 +336,9 @@ CreateSafeBrowsingBlockingPage(content::WebContents* web_contents) { +@@ -336,7 +337,9 @@ CreateSafeBrowsingBlockingPage(content::WebContents* web_contents) { ui_manager->blocking_page_factory()->CreateSafeBrowsingPage( ui_manager, web_contents, main_frame_url, {resource}, true)); } @@ -2582,7 +2566,7 @@ diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/b std::unique_ptr CreateEnterpriseBlockPage( content::WebContents* web_contents) { const GURL kRequestUrl("https://enterprise-block.example.net"); -@@ -426,6 +429,7 @@ CreateSafeBrowsingQuietBlockingPage(content::WebContents* web_contents) { +@@ -427,6 +430,7 @@ CreateSafeBrowsingQuietBlockingPage(content::WebContents* web_contents) { g_browser_process->safe_browsing_service()->ui_manager().get(), web_contents, main_frame_url, resource, is_giant_webview)); } @@ -2590,7 +2574,7 @@ diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/b #if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION) std::unique_ptr CreateCaptivePortalBlockingPage( -@@ -533,8 +537,6 @@ void InterstitialHTMLSource::StartDataRequest( +@@ -534,8 +538,6 @@ void InterstitialHTMLSource::StartDataRequest( interstitial_delegate = CreateMITMSoftwareBlockingPage(web_contents); } else if (path_without_query == "/blocked-interception") { interstitial_delegate = CreateBlockedInterceptionBlockingPage(web_contents); @@ -2599,7 +2583,7 @@ diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/b } else if (path_without_query == "/enterprise-block") { interstitial_delegate = CreateEnterpriseBlockPage(web_contents); } else if (path_without_query == "/enterprise-warn") { -@@ -551,13 +553,7 @@ void InterstitialHTMLSource::StartDataRequest( +@@ -552,13 +554,7 @@ void InterstitialHTMLSource::StartDataRequest( interstitial_delegate = CreateInsecureFormPage(web_contents); } else if (path_without_query == "/https_only") { interstitial_delegate = CreateHttpsOnlyModePage(web_contents); @@ -2640,7 +2624,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/ "//components/safe_browsing/core/common", "//third_party/unrar:unrar", ] -@@ -170,10 +167,6 @@ if (safe_browsing_mode == 1) { +@@ -151,10 +148,6 @@ if (safe_browsing_mode == 1) { source_set("safe_browsing") { deps = [] @@ -2654,8 +2638,8 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -291,11 +291,6 @@ static_library("renderer") { - deps += [ "//third_party/widevine/cdm:headers" ] +@@ -297,11 +297,6 @@ static_library("renderer") { + ] } - if (safe_browsing_mode != 0) { @@ -2669,7 +2653,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -98,7 +98,9 @@ +@@ -97,7 +97,9 @@ #include "components/paint_preview/buildflags/buildflags.h" #include "components/password_manager/core/common/password_manager_features.h" #include "components/safe_browsing/buildflags.h" @@ -2679,7 +2663,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #include "components/spellcheck/spellcheck_buildflags.h" #include "components/subresource_filter/content/renderer/subresource_filter_agent.h" #include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h" -@@ -429,12 +431,8 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -433,12 +435,8 @@ void ChromeContentRendererClient::RenderThreadStarted() { subresource_filter_ruleset_dealer_ = std::make_unique(); @@ -2715,7 +2699,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -944,7 +944,6 @@ if (is_android) { +@@ -1006,7 +1006,6 @@ if (is_android) { "//components/password_manager/content/browser:browser", "//components/policy:chrome_settings_proto_generated_compile", "//components/policy/core/browser:test_support", @@ -2723,7 +2707,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/safe_browsing/content/common:interfaces", "//components/safe_browsing/content/renderer/phishing_classifier:phishing_classifier", "//components/safe_browsing/core/common/fbs:client_model", -@@ -1406,7 +1405,6 @@ if (!is_android) { +@@ -1466,7 +1465,6 @@ if (!is_android) { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -2731,7 +2715,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/safe_browsing/content/browser:safe_browsing_service", "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/password_protection:test_support", -@@ -5988,7 +5986,6 @@ test("unit_tests") { +@@ -6082,7 +6080,6 @@ test("unit_tests") { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -2742,7 +2726,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -661,7 +661,6 @@ test("components_unittests") { +@@ -655,7 +655,6 @@ test("components_unittests") { if (safe_browsing_mode == 1) { deps += [ "//components/safe_browsing/content/browser:unit_tests", @@ -2780,14 +2764,14 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p diff --git a/components/safe_browsing/content/browser/BUILD.gn b/components/safe_browsing/content/browser/BUILD.gn --- a/components/safe_browsing/content/browser/BUILD.gn +++ b/components/safe_browsing/content/browser/BUILD.gn -@@ -142,7 +142,6 @@ source_set("unit_tests") { +@@ -149,7 +149,6 @@ source_set("unit_tests") { ] deps = [ - ":client_side_detection", "//base:base", "//base/test:test_support", - "//components/safe_browsing:buildflags", + "//components/optimization_guide/core:model_executor", diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/components/safe_browsing/content/common/file_type_policies.cc --- a/components/safe_browsing/content/common/file_type_policies.cc +++ b/components/safe_browsing/content/common/file_type_policies.cc @@ -2804,8 +2788,8 @@ diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/com diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc --- a/components/safe_browsing/core/common/features.cc +++ b/components/safe_browsing/core/common/features.cc -@@ -189,8 +189,8 @@ BASE_FEATURE(kSimplifiedUrlDisplay, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -224,8 +224,8 @@ constexpr base::FeatureParam kStrictDownloadTimeoutMilliseconds{ + /*default_value=*/7000}; BASE_FEATURE(kSuspiciousSiteTriggerQuotaFeature, - "SafeBrowsingSuspiciousSiteTriggerQuota", @@ -3021,7 +3005,7 @@ diff --git a/content/public/browser/file_system_access_permission_context.h b/co diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn --- a/weblayer/BUILD.gn +++ b/weblayer/BUILD.gn -@@ -468,11 +468,9 @@ source_set("weblayer_lib_base") { +@@ -470,11 +470,9 @@ source_set("weblayer_lib_base") { "//components/profile_metrics", "//components/reduce_accept_language/browser", "//components/safe_browsing/content/browser", @@ -3033,7 +3017,7 @@ diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn "//components/safe_browsing/core/browser:safe_browsing_metrics_collector", "//components/safe_browsing/core/browser/db:database_manager", "//components/safe_browsing/core/common", -@@ -607,8 +605,6 @@ source_set("weblayer_lib_base") { +@@ -609,8 +607,6 @@ source_set("weblayer_lib_base") { "browser/bluetooth/weblayer_bluetooth_scanning_prompt_android_delegate.h", "browser/browser_list_proxy.cc", "browser/browser_list_proxy.h", diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index a945f447..8eb9e923 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -25,8 +25,8 @@ Parts of this patch were developed by csagan5, uazo and others. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- ...em_webview_bundle.AndroidManifest.expected | 5 - - chrome/android/BUILD.gn | 45 +- - chrome/android/chrome_java_sources.gni | 5 - + chrome/android/BUILD.gn | 47 +- + chrome/android/chrome_java_sources.gni | 6 - .../features/cablev2_authenticator/BUILD.gn | 2 - chrome/android/java/AndroidManifest.xml | 53 -- .../java/res/xml/privacy_preferences.xml | 5 - @@ -41,7 +41,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../settings/PasswordSettings.java | 9 - .../modules/chrome_feature_modules.gni | 3 - chrome/browser/BUILD.gn | 2 - - chrome/browser/language/android/BUILD.gn | 2 - + chrome/browser/language/android/BUILD.gn | 3 - .../language/AppLanguagePromoDialog.java | 23 - .../AppLanguagePreferenceDelegate.java | 8 - .../language/settings/LanguageSettings.java | 6 - @@ -74,7 +74,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../caf/BaseSessionController.java | 100 +--- .../caf/CafBaseMediaRouteProvider.java | 103 +--- .../caf/CafMediaRouteProvider.java | 16 - - .../media_router/caf/CafMessageHandler.java | 97 +--- + .../media_router/caf/CafMessageHandler.java | 97 +-- .../media_router/caf/CastMediaSource.java | 10 +- .../media_router/caf/CastOptionsProvider.java | 22 +- .../caf/CastSessionController.java | 84 --- @@ -85,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../caf/remoting/RemotingMediaSource.java | 8 +- .../remoting/RemotingSessionController.java | 26 - .../test/android/cast_emulator/BUILD.gn | 1 - - components/module_installer/android/BUILD.gn | 2 - + components/module_installer/android/BUILD.gn | 4 - components/signin/public/android/BUILD.gn | 3 - .../signin/AccountRenameChecker.java | 16 - components/webauthn/android/BUILD.gn | 9 - @@ -100,18 +100,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html services/BUILD.gn | 9 - services/device/geolocation/BUILD.gn | 4 - services/shape_detection/BUILD.gn | 2 - - third_party/android_deps/BUILD.gn | 539 +----------------- + third_party/android_deps/BUILD.gn | 559 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- - 79 files changed, 93 insertions(+), 1932 deletions(-) + weblayer/browser/java/BUILD.gn | 1 - + 80 files changed, 93 insertions(+), 1959 deletions(-) diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected --- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected +++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected -@@ -19,10 +19,6 @@ +@@ -20,10 +20,6 @@ + android:icon="@$PACKAGE:drawable/icon_webview" android:label="Android System WebView" - android:multiArch="true" - android:use32bitAbi="true"> + android:multiArch="true"> - # DIFF-ANCHOR: ea1a94af # DIFF-ANCHOR: b7cc06e9 @@ -130,7 +131,7 @@ diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest. diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -357,14 +357,6 @@ if (current_toolchain == default_toolchain) { +@@ -241,14 +241,6 @@ if (current_toolchain == default_toolchain) { ":chrome_public_apk_template_resources", ":update_proto_java", ":usage_stats_proto_java", @@ -145,7 +146,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:jni_java", "//cc:cc_java", "//chrome/android/features/keyboard_accessory:public_java", -@@ -649,8 +641,19 @@ if (current_toolchain == default_toolchain) { +@@ -535,14 +527,23 @@ if (current_toolchain == default_toolchain) { "//services/shape_detection:shape_detection_java", "//services/shape_detection/public/mojom:mojom_java", "//skia/public/mojom:mojom_java", @@ -162,13 +163,19 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn + "//base:jni_java", + "//third_party/android_deps:chromium_play_services_availability_java", -- "//third_party/android_deps:com_google_android_play_core_java", - "//third_party/android_deps:com_google_code_findbugs_jsr305_java", - "//third_party/android_deps:com_google_guava_listenablefuture_java", +- "//third_party/android_deps:com_google_code_findbugs_jsr305_java", +- "//third_party/android_deps:com_google_guava_listenablefuture_java", "//third_party/android_deps:dagger_java", -@@ -941,11 +944,6 @@ if (current_toolchain == default_toolchain) { + "//third_party/android_deps:guava_android_java", + "//third_party/android_deps:javax_inject_javax_inject_java", + "//third_party/android_deps:material_design_java", +- "//third_party/android_deps:playcore_java", + "//third_party/android_deps:protobuf_lite_runtime_java", + "//third_party/android_media:android_media_java", + "//third_party/android_swipe_refresh:android_swipe_refresh_java", +@@ -831,11 +832,6 @@ if (current_toolchain == default_toolchain) { + ":chrome_java", ":chrome_jni_headers", - ":chrome_public_android_manifest", ":delegate_public_impl_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", @@ -178,7 +185,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java_test_support", "//base:base_junit_test_support", "//base/test:test_support_java", -@@ -1477,13 +1475,6 @@ if (current_toolchain == default_toolchain) { +@@ -1382,13 +1378,6 @@ if (current_toolchain == default_toolchain) { ":chrome_app_java_resources", ":chrome_test_util_java", ":delegate_public_impl_java", @@ -192,7 +199,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:jni_java", -@@ -2392,7 +2383,6 @@ if (current_toolchain == default_toolchain) { +@@ -2317,7 +2306,6 @@ if (current_toolchain == default_toolchain) { ] deps = [ ":chrome_java", @@ -200,7 +207,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:jni_java", -@@ -2539,7 +2529,6 @@ if (current_toolchain == default_toolchain) { +@@ -2454,7 +2442,6 @@ if (current_toolchain == default_toolchain) { # is in a DFM. android_library("base_module_java") { sources = [ @@ -208,7 +215,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "java/src/org/chromium/chrome/app/TrichromeZygotePreload.java", "java/src/org/chromium/chrome/browser/ChromeBackgroundService.java", "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java", -@@ -2555,8 +2544,6 @@ if (current_toolchain == default_toolchain) { +@@ -2470,8 +2457,6 @@ if (current_toolchain == default_toolchain) { "java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java", "java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java", "java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java", @@ -217,7 +224,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java", "java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java", "java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java", -@@ -2581,17 +2568,11 @@ if (current_toolchain == default_toolchain) { +@@ -2496,17 +2481,11 @@ if (current_toolchain == default_toolchain) { "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java", "java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java", "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java", @@ -235,15 +242,15 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:jni_java", "//chrome/browser/download/android:file_provider_java", -@@ -2605,7 +2586,6 @@ if (current_toolchain == default_toolchain) { +@@ -2520,7 +2499,6 @@ if (current_toolchain == default_toolchain) { "//components/media_router/browser/android:cast_options_provider_java", "//components/minidump_uploader:minidump_uploader_java", "//components/module_installer/android:module_installer_java", -- "//third_party/android_deps:com_google_android_play_core_java", +- "//third_party/android_deps:playcore_java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/androidx:androidx_collection_collection_java", "//ui/android:ui_no_recycler_view_java", -@@ -2624,7 +2604,6 @@ if (current_toolchain == default_toolchain) { +@@ -2539,7 +2517,6 @@ if (current_toolchain == default_toolchain) { # Deps to pull services into base module. # TODO(crbug.com/1126301): Consider moving these to the chrome module to # reduce base dex size. @@ -262,10 +269,11 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java", "java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java", "java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java", -@@ -924,10 +923,6 @@ chrome_java_sources = [ +@@ -932,11 +931,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/segmentation_platform/PriceTrackingActionProvider.java", "java/src/org/chromium/chrome/browser/segmentation_platform/ReaderModeActionProvider.java", "java/src/org/chromium/chrome/browser/segmentation_platform/SignalAccumulator.java", +- "java/src/org/chromium/chrome/browser/services/gcm/BundleToPersistableBundleConverter.java", - "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerServiceImpl.java", - "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundServiceImpl.java", - "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java", @@ -276,10 +284,10 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java diff --git a/chrome/android/features/cablev2_authenticator/BUILD.gn b/chrome/android/features/cablev2_authenticator/BUILD.gn --- a/chrome/android/features/cablev2_authenticator/BUILD.gn +++ b/chrome/android/features/cablev2_authenticator/BUILD.gn -@@ -16,8 +16,6 @@ android_library("java") { +@@ -15,8 +15,6 @@ android_library("java") { + deps = [ ":java_resources", - ":logging_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_tasks_java", "//base:base_java", @@ -310,7 +318,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro {% block extra_uses_permissions %} -@@ -752,16 +747,6 @@ by a child template that "extends" this file. +@@ -758,16 +753,6 @@ by a child template that "extends" this file. @@ -327,7 +335,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro @@ -336,7 +344,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro @@ -363,7 +371,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1003,20 +966,10 @@ by a child template that "extends" this file. +@@ -1009,20 +972,10 @@ by a child template that "extends" this file. @@ -384,7 +392,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1248,12 +1201,6 @@ by a child template that "extends" this file. +@@ -1254,12 +1207,6 @@ by a child template that "extends" this file. {% endif %} @@ -803,7 +811,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/ import("//chrome/android/modules/stack_unwinder/stack_unwinder_module.gni") import("//chrome/android/modules/test_dummy/test_dummy_module.gni") import("//device/vr/buildflags/buildflags.gni") -@@ -59,7 +57,6 @@ if (false) { # AR DFM is currently disabled +@@ -56,7 +54,6 @@ if (false) { # AR DFM is currently disabled if (!disable_tab_ui_dfm) { monochrome_module_descs += [ tab_ui_module_desc ] } @@ -814,7 +822,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -7031,8 +7031,6 @@ static_library("browser") { +@@ -7062,8 +7062,6 @@ static_library("browser") { "offline_pages/offliner_helper.h", "offline_pages/offliner_user_data.cc", "offline_pages/offliner_user_data.h", @@ -826,18 +834,19 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn --- a/chrome/browser/language/android/BUILD.gn +++ b/chrome/browser/language/android/BUILD.gn -@@ -9,14 +9,12 @@ android_library("base_module_java") { +@@ -9,15 +9,12 @@ android_library("base_module_java") { sources = [ "java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java", "java/src/org/chromium/chrome/browser/language/GlobalAppLocaleController.java", - "java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java", ] deps = [ +- "$google_play_services_package:google_play_services_tasks_java", "//base:base_java", "//chrome/browser/preferences:java", "//components/language/android:java", "//components/language/android:ulp_delegate_java", -- "//third_party/android_deps:com_google_android_play_core_java", +- "//third_party/android_deps:playcore_java", "//third_party/androidx:androidx_annotation_annotation_java", "//ui/android:ui_no_recycler_view_java", ] @@ -910,7 +919,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse import org.chromium.chrome.browser.language.R; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.PrefChangeRegistrar; -@@ -128,11 +127,6 @@ public class LanguageSettings extends PreferenceFragmentCompat +@@ -136,11 +135,6 @@ public class LanguageSettings extends PreferenceFragmentCompat * translate target language, and detailed translate preferences. */ private void createDetailedPreferences(Bundle savedInstanceState, String rootKey) { @@ -1103,7 +1112,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -252,8 +252,6 @@ static_library("ui") { +@@ -253,8 +253,6 @@ static_library("ui") { "webui/flags/flags_ui.h", "webui/flags/flags_ui_handler.cc", "webui/flags/flags_ui_handler.h", @@ -1112,8 +1121,8 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "webui/internals/internals_ui.cc", "webui/internals/internals_ui.h", "webui/interstitials/interstitial_ui.cc", -@@ -486,7 +484,6 @@ static_library("ui") { - "//components/feedback/content", +@@ -489,7 +487,6 @@ static_library("ui") { + "//components/feedback/redaction_tool", "//components/find_in_page", "//components/flags_ui", - "//components/gcm_driver", @@ -1140,7 +1149,7 @@ diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/weba diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -44,7 +44,6 @@ +@@ -42,7 +42,6 @@ #include "chrome/browser/ui/webui/download_internals/download_internals_ui.h" #include "chrome/browser/ui/webui/engagement/site_engagement_ui.h" #include "chrome/browser/ui/webui/flags/flags_ui.h" @@ -1148,7 +1157,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "chrome/browser/ui/webui/internals/internals_ui.h" #include "chrome/browser/ui/webui/interstitials/interstitial_ui.h" #include "chrome/browser/ui/webui/intro/intro_ui.h" -@@ -789,8 +788,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -803,8 +802,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIFlagsHost) return &NewWebUI; @@ -1160,7 +1169,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom diff --git a/chrome/browser/webauthn/authenticator_request_dialog_model.cc b/chrome/browser/webauthn/authenticator_request_dialog_model.cc --- a/chrome/browser/webauthn/authenticator_request_dialog_model.cc +++ b/chrome/browser/webauthn/authenticator_request_dialog_model.cc -@@ -1097,10 +1097,6 @@ void AuthenticatorRequestDialogModel::PopulateMechanisms( +@@ -1111,10 +1111,6 @@ void AuthenticatorRequestDialogModel::PopulateMechanisms( if (cable_ui_type_) { switch (*cable_ui_type_) { case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_2ND_FACTOR: @@ -1187,7 +1196,7 @@ diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauth diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn --- a/chrome/test/android/BUILD.gn +++ b/chrome/test/android/BUILD.gn -@@ -267,8 +267,6 @@ android_library("chrome_java_integration_test_support") { +@@ -254,8 +254,6 @@ android_library("chrome_java_integration_test_support") { deps = [ ":chrome_java_test_support_common", @@ -1199,7 +1208,7 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -2372,14 +2372,6 @@ public class ExternalNavigationHandler { +@@ -2421,14 +2421,6 @@ public class ExternalNavigationHandler { * @return Whether the given intent is going to open an Instant App. */ private static boolean isIntentToInstantApp(Intent intent) { @@ -2958,19 +2967,27 @@ diff --git a/components/media_router/test/android/cast_emulator/BUILD.gn b/compo diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn --- a/components/module_installer/android/BUILD.gn +++ b/components/module_installer/android/BUILD.gn -@@ -35,7 +35,6 @@ android_library("module_installer_java") { +@@ -32,11 +32,9 @@ android_library("module_installer_java") { + ] + + deps = [ +- "$google_play_services_package:google_play_services_tasks_java", "//base:base_java", "//base:jni_java", "//components/crash/android:java", -- "//third_party/android_deps:com_google_android_play_core_java", +- "//third_party/android_deps:playcore_java", "//third_party/androidx:androidx_annotation_annotation_java", ] -@@ -61,7 +60,6 @@ robolectric_binary("module_installer_junit_tests") { +@@ -59,11 +57,9 @@ robolectric_binary("module_installer_junit_tests") { + ] + deps = [ + ":module_installer_java", +- "$google_play_services_package:google_play_services_tasks_java", "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -- "//third_party/android_deps:com_google_android_play_core_java", +- "//third_party/android_deps:playcore_java", "//third_party/hamcrest:hamcrest_java", ] } @@ -2986,7 +3003,7 @@ diff --git a/components/signin/public/android/BUILD.gn b/components/signin/publi "//base:base_java", "//base:jni_java", "//build/android:build_java", -@@ -172,7 +170,6 @@ robolectric_library("junit") { +@@ -175,7 +173,6 @@ robolectric_library("junit") { deps = [ ":java", ":signin_java_test_support", @@ -3306,7 +3323,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -3193,10 +3193,6 @@ if (is_android) { +@@ -3236,10 +3236,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3320,7 +3337,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn diff --git a/device/BUILD.gn b/device/BUILD.gn --- a/device/BUILD.gn +++ b/device/BUILD.gn -@@ -474,9 +474,6 @@ if (is_android) { +@@ -476,9 +476,6 @@ if (is_android) { "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java", ] deps = [ @@ -3338,9 +3355,9 @@ diff --git a/device/fido/features.cc b/device/fido/features.cc BASE_FEATURE(kWebAuthPasskeysUI, - "WebAuthenticationPasskeysUI", -- base::FEATURE_DISABLED_BY_DEFAULT); +- base::FEATURE_ENABLED_BY_DEFAULT); + "WebAuthenticationPasskeysUI", // disabled by default -+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite ++ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite -BASE_FEATURE(kWebAuthnNoEmptyDisplayNameCBOR, - "WebAuthenticationNoEmptyDisplayNameCBOR", @@ -3379,7 +3396,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -@@ -149,10 +144,6 @@ if (is_android) { +@@ -150,10 +145,6 @@ if (is_android) { "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java", ] deps = [ @@ -3419,7 +3436,7 @@ diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD. diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn -@@ -54,7 +54,7 @@ if (!limit_android_deps) { +@@ -75,7 +75,7 @@ if (!limit_android_deps) { android_library("chromium_play_services_availability_java") { sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ] @@ -3428,7 +3445,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. } robolectric_library("chromium_play_services_availability_shadows_java") { -@@ -964,210 +964,6 @@ if (!limit_android_deps) { +@@ -954,210 +954,6 @@ if (!limit_android_deps) { ] } @@ -3487,7 +3504,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("google_play_services_basement_java") { -- aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-18.0.1.aar" +- aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-18.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info" - deps = [ - "//third_party/androidx:androidx_collection_collection_java", @@ -3607,7 +3624,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("google_play_services_tasks_java") { -- aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.0.1.aar" +- aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.0.2.aar" - info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info" - deps = [ ":google_play_services_basement_java" ] - } @@ -3639,15 +3656,19 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. android_aar_prebuilt("com_google_android_material_material_java") { aar_path = -@@ -1213,60 +1009,6 @@ if (!limit_android_deps) { +@@ -1203,64 +999,6 @@ if (!limit_android_deps) { ] } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- android_aar_prebuilt("com_google_android_play_core_java") { -- aar_path = "libs/com_google_android_play_core/core-1.10.0.aar" -- info_path = -- "libs/com_google_android_play_core/com_google_android_play_core.info" +- android_aar_prebuilt("com_google_android_play_feature_delivery_java") { +- aar_path = "libs/com_google_android_play_feature_delivery/feature-delivery-2.0.1.aar" +- info_path = "libs/com_google_android_play_feature_delivery/com_google_android_play_feature_delivery.info" +- deps = [ +- ":com_google_android_play_core_common_java", +- ":google_play_services_basement_java", +- ":google_play_services_tasks_java", +- ] - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. @@ -3700,7 +3721,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("com_google_guava_guava_android_java") { jar_path = "libs/com_google_guava_guava_android/guava-31.1-android.jar" -@@ -1519,19 +1261,6 @@ if (!limit_android_deps) { +@@ -1519,19 +1257,6 @@ if (!limit_android_deps) { is_robolectric = true } @@ -3720,7 +3741,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("org_robolectric_utils_java") { jar_path = "libs/org_robolectric_utils/utils-4.8.1.jar" -@@ -1892,272 +1621,6 @@ if (!limit_android_deps) { +@@ -1892,288 +1617,6 @@ if (!limit_android_deps) { deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] } @@ -3829,6 +3850,19 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- android_aar_prebuilt("com_google_android_play_core_common_java") { +- aar_path = "libs/com_google_android_play_core_common/core-common-2.0.2.aar" +- info_path = "libs/com_google_android_play_core_common/com_google_android_play_core_common.info" +- +- # To remove visibility constraint, add this dependency to +- # //third_party/android_deps/build.gradle. +- visibility = [ +- ":*", +- "//third_party/androidx:*", +- ] +- } +- +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - java_prebuilt("google_firebase_firebase_annotations_java") { - jar_path = "libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar" - output_name = "com_google_firebase_firebase_annotations" @@ -3898,6 +3932,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - "//third_party/androidx:*", - ] - deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] +- +- # https://crbug.com/1412551 +- requires_android = true - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. @@ -4037,5 +4074,16 @@ diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServices + return 16; // API_UNAVAILABLE } } +diff --git a/weblayer/browser/java/BUILD.gn b/weblayer/browser/java/BUILD.gn +--- a/weblayer/browser/java/BUILD.gn ++++ b/weblayer/browser/java/BUILD.gn +@@ -96,7 +96,6 @@ android_library("base_module_java") { + ] + deps = [ + ":base_module_interfaces_java", +- "$google_play_services_package:google_play_services_basement_java", + "//base:base_java", + "//base:jni_java", + "//base:process_launcher_java", -- 2.25.1 diff --git a/build/patches/Remove-contextual-search-manager.patch b/build/patches/Remove-contextual-search-manager.patch index 191e44a0..f6c657cc 100644 --- a/build/patches/Remove-contextual-search-manager.patch +++ b/build/patches/Remove-contextual-search-manager.patch @@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -709,7 +709,6 @@ if (current_toolchain == default_toolchain) { +@@ -595,7 +595,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/ui:duplicate_download_enums_java", "//components/browsing_data/core:browsing_data_utils_java", "//components/browsing_data/core:clear_browsing_data_tab_java", @@ -61,7 +61,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/dom_distiller/core:distiller_type_java", "//components/ntp_tiles:ntp_tiles_enums_java", "//components/offline_pages/core:offline_page_model_enums_java", -@@ -3757,16 +3756,12 @@ generate_jni("chrome_jni_headers") { +@@ -3491,16 +3490,12 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/compositor/LayerTitleCache.java", "java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java", "java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java", @@ -81,7 +81,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -485,13 +485,6 @@ chrome_java_resources = [ +@@ -489,13 +489,6 @@ chrome_java_resources = [ "java/res/layout/context_menu_header.xml", "java/res/layout/context_menu_row.xml", "java/res/layout/context_menu_share_row.xml", @@ -95,7 +95,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/layout/custom_tabs_bottombar.xml", "java/res/layout/custom_tabs_bottombar_item.xml", "java/res/layout/custom_tabs_control_container.xml", -@@ -635,7 +628,6 @@ chrome_java_resources = [ +@@ -639,7 +632,6 @@ chrome_java_resources = [ "java/res/xml/autofill_assistant_preferences.xml", "java/res/xml/bookmark_widget_info.xml", "java/res/xml/clear_browsing_data_preferences_tab.xml", @@ -106,7 +106,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja 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 -@@ -301,21 +301,6 @@ chrome_java_sources = [ +@@ -305,21 +305,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManager.java", "java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelRepaddingTextView.java", "java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelTextViewInflater.java", @@ -128,7 +128,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabCoordinator.java", "java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabMediator.java", "java/src/org/chromium/chrome/browser/compositor/bottombar/ephemeraltab/EphemeralTabObserver.java", -@@ -357,7 +342,6 @@ chrome_java_sources = [ +@@ -361,7 +346,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabLoadTracker.java", "java/src/org/chromium/chrome/browser/compositor/resources/StaticResourcePreloads.java", "java/src/org/chromium/chrome/browser/compositor/resources/SystemResourcePreloads.java", @@ -136,7 +136,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java", "java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java", "java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java", -@@ -383,34 +367,6 @@ chrome_java_sources = [ +@@ -387,34 +371,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/contextmenu/ContextMenuUi.java", "java/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtils.java", "java/src/org/chromium/chrome/browser/contextmenu/LensChipDelegate.java", @@ -182,7 +182,7 @@ diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/ch import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.fullscreen.FullscreenOptions; -@@ -535,14 +534,6 @@ class ManualFillingMediator +@@ -537,14 +536,6 @@ class ManualFillingMediator private boolean canExtendKeyboard() { if (!mModel.get(SHOW_WHEN_VISIBLE)) return false; @@ -473,7 +473,7 @@ deleted file mode 100644 diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml --- a/chrome/android/java/res/xml/google_services_preferences.xml +++ b/chrome/android/java/res/xml/google_services_preferences.xml -@@ -43,12 +43,4 @@ found in the LICENSE file. +@@ -41,12 +41,4 @@ found in the LICENSE file. android:summary="@string/prefs_autofill_assistant_summary" android:fragment="org.chromium.chrome.browser.autofill_assistant.AutofillAssistantPreferenceFragment" app:isPreferenceVisible="false"/> @@ -503,7 +503,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -1715,7 +1715,7 @@ public class ChromeTabbedActivity extends ChromeActivity extends AsyncInitializationActivity @@ -543,7 +543,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv SnackbarManageable, SceneChangeObserver, StatusBarColorController.StatusBarColorProvider, AppMenuDelegate, AppMenuBlocker, MenuOrKeyboardActionController, CompositorViewHolder.Initializer, -@@ -322,8 +319,6 @@ public abstract class ChromeActivity +@@ -321,8 +318,6 @@ public abstract class ChromeActivity new ObservableSupplierImpl<>(); protected final UnownedUserDataSupplier mInsetObserverViewSupplier = new InsetObserverViewSupplier(); @@ -552,7 +552,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv private SnackbarManager mSnackbarManager; -@@ -512,7 +507,7 @@ public abstract class ChromeActivity +@@ -511,7 +506,7 @@ public abstract class ChromeActivity // clang-format off return new RootUiCoordinator(this, null, getShareDelegateSupplier(), getActivityTabProvider(), mTabModelProfileSupplier, mBookmarkModelSupplier, @@ -561,7 +561,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv getTabModelSelectorSupplier(), new OneshotSupplierImpl<>(), new OneshotSupplierImpl<>(), new OneshotSupplierImpl<>(), new OneshotSupplierImpl<>(), () -> null, mBrowserControlsManagerSupplier.get(), -@@ -949,14 +944,6 @@ public abstract class ChromeActivity +@@ -948,14 +943,6 @@ public abstract class ChromeActivity mCompositorViewHolderSupplier.get().onNativeLibraryReady( getWindowAndroid(), getTabContentManager(), getPrefService()); @@ -576,7 +576,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv TraceEvent.end("ChromeActivity:CompositorInitialization"); } -@@ -1417,11 +1404,6 @@ public abstract class ChromeActivity +@@ -1426,11 +1413,6 @@ public abstract class ChromeActivity @SuppressLint("NewApi") @Override protected final void onDestroy() { @@ -588,7 +588,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv if (mSnackbarManager != null) { SnackbarManagerProvider.detach(mSnackbarManager); } -@@ -1919,13 +1901,6 @@ public abstract class ChromeActivity +@@ -1928,13 +1910,6 @@ public abstract class ChromeActivity return mCompositorViewHolderSupplier.get(); } @@ -602,7 +602,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv /** * Exits the fullscreen mode, if any. Does nothing if no fullscreen is present. * @return Whether the fullscreen mode is currently showing. -@@ -1971,15 +1946,6 @@ public abstract class ChromeActivity +@@ -1980,15 +1955,6 @@ public abstract class ChromeActivity } mActivityTabProvider.setLayoutStateProvider(layoutManager); @@ -618,7 +618,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv } /** -@@ -2249,18 +2215,6 @@ public abstract class ChromeActivity +@@ -2260,18 +2226,6 @@ public abstract class ChromeActivity return webContents != null ? SelectionPopupController.fromWebContents(webContents) : null; } @@ -672,7 +672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java -@@ -156,7 +156,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity profileSupplier, @NonNull ObservableSupplier bookmarkModelSupplier, @NonNull ObservableSupplier tabBookmarkerSupplier, @@ -919,7 +919,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab @NonNull ObservableSupplier tabModelSelectorSupplier, @NonNull OneshotSupplier startSurfaceSupplier, @NonNull OneshotSupplier tabSwitcherSupplier, -@@ -303,7 +302,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -302,7 +301,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { boolean initializeUiWithIncognitoColors, @NonNull BackPressManager backPressManager) { super(activity, onOmniboxFocusChangedListener, shareDelegateSupplier, tabProvider, profileSupplier, bookmarkModelSupplier, tabBookmarkerSupplier, @@ -992,7 +992,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi if (mAdaptiveToolbarButtonController != null) { mAdaptiveToolbarButtonController.destroy(); mAdaptiveToolbarButtonController = null; -@@ -968,15 +958,6 @@ public class RootUiCoordinator +@@ -971,15 +961,6 @@ public class RootUiCoordinator @Override public boolean canShowAppMenu() { @@ -1008,7 +1008,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi // Do not show the menu if we are in find in page view. if (mFindToolbarManager != null && mFindToolbarManager.isShowing() && !DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) { -@@ -1131,11 +1112,6 @@ public class RootUiCoordinator +@@ -1134,11 +1115,6 @@ public class RootUiCoordinator AdaptiveToolbarButtonVariant.PRICE_TRACKING, priceTrackingButtonController); adaptiveToolbarButtonController.addButtonVariant( AdaptiveToolbarButtonVariant.READER_MODE, readerModeToolbarButtonController); @@ -1020,7 +1020,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mButtonDataProviders = Arrays.asList(mIdentityDiscController, adaptiveToolbarButtonController); -@@ -1204,10 +1180,6 @@ public class RootUiCoordinator +@@ -1207,10 +1183,6 @@ public class RootUiCoordinator public void onStartedShowing(int layoutType, boolean showToolbar) { if (layoutType != LayoutType.BROWSING && layoutType != LayoutType.SIMPLE_ANIMATION) { @@ -1031,7 +1031,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi } if (layoutType == LayoutType.TAB_SWITCHER) { -@@ -1328,10 +1300,6 @@ public class RootUiCoordinator +@@ -1331,10 +1303,6 @@ public class RootUiCoordinator * cross-feature interaction, e.g. hide other features when this feature is shown. */ protected void onFindToolbarShown() { @@ -1042,7 +1042,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi } /** -@@ -1488,9 +1456,6 @@ public class RootUiCoordinator +@@ -1491,9 +1459,6 @@ public class RootUiCoordinator case SheetState.FULL: if (!mOpened) { mOpened = true; @@ -1052,7 +1052,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi } // On visible bottom sheet, hide page zoom dialog -@@ -1498,8 +1463,6 @@ public class RootUiCoordinator +@@ -1501,8 +1466,6 @@ public class RootUiCoordinator break; case SheetState.HIDDEN: mOpened = false; @@ -1064,7 +1064,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2080,7 +2080,6 @@ static_library("browser") { +@@ -2092,7 +2092,6 @@ static_library("browser") { "//components/content_settings/common:mojom", "//components/content_settings/core/browser", "//components/content_settings/core/common", @@ -1072,7 +1072,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//components/cookie_config", "//components/country_codes", "//components/crash/core/browser", -@@ -2561,8 +2560,6 @@ static_library("browser") { +@@ -2576,8 +2575,6 @@ static_library("browser") { "android/compositor/decoration_title.h", "android/compositor/layer/content_layer.cc", "android/compositor/layer/content_layer.h", @@ -1081,7 +1081,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "android/compositor/layer/layer.h", "android/compositor/layer/overlay_panel_layer.cc", "android/compositor/layer/overlay_panel_layer.h", -@@ -2583,8 +2580,6 @@ static_library("browser") { +@@ -2598,8 +2595,6 @@ static_library("browser") { "android/compositor/resources/resource_factory.cc", "android/compositor/resources/toolbar_resource.cc", "android/compositor/resources/toolbar_resource.h", @@ -1090,7 +1090,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "android/compositor/scene_layer/overscroll_scene_layer.cc", "android/compositor/scene_layer/overscroll_scene_layer.h", "android/compositor/scene_layer/scrolling_bottom_view_scene_layer.cc", -@@ -2607,16 +2602,6 @@ static_library("browser") { +@@ -2622,16 +2617,6 @@ static_library("browser") { "android/content/content_utils.cc", "android/context_menu/context_menu_native_delegate_impl.cc", "android/context_menu/context_menu_native_delegate_impl.h", @@ -1107,7 +1107,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "android/cookies/cookies_fetcher_util.cc", "android/customtabs/chrome_origin_verifier.cc", "android/customtabs/chrome_origin_verifier.h", -@@ -3170,8 +3155,6 @@ static_library("browser") { +@@ -3186,8 +3171,6 @@ static_library("browser") { "safe_browsing/android/safe_browsing_referring_app_bridge_android.h", "safe_browsing/android/safe_browsing_settings_launcher_android.cc", "safe_browsing/android/safe_browsing_settings_launcher_android.h", @@ -1119,7 +1119,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -1913,27 +1913,6 @@ const FeatureEntry::FeatureVariation kRelatedSearchesUiVariations[] = { +@@ -1982,27 +1982,6 @@ const FeatureEntry::FeatureVariation kRelatedSearchesUiVariations[] = { {"verbose", &kRelatedSearchesUiVerbose, 1, nullptr}, {"extreme", &kRelatedSearchesUiExtreme, 1, nullptr}, }; @@ -1147,7 +1147,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #endif // BUILDFLAG(IS_ANDROID) const FeatureEntry::FeatureParam kResamplingInputEventsLSQEnabled[] = { -@@ -3322,18 +3301,6 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3343,18 +3322,6 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription, kOsAndroid, FEATURE_VALUE_TYPE(blink::features::kOSKResizesVisualViewportByDefault)}, @@ -1169,7 +1169,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -34,7 +34,6 @@ +@@ -35,7 +35,6 @@ #include "components/commerce/core/commerce_feature_list.h" #include "components/content_creation/notes/core/note_features.h" #include "components/content_settings/core/common/features.h" @@ -1177,7 +1177,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse #include "components/download/public/common/download_features.h" #include "components/embedder_support/android/util/cdn_utils.h" #include "components/feature_engagement/public/feature_list.h" -@@ -218,11 +217,6 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -220,11 +219,6 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kContextMenuSearchAndShopWithGoogleLens, &kContextMenuTranslateWithGoogleLens, &kContextMenuPopupForAllScreenSizes, @@ -1187,9 +1187,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse - &kContextualSearchSuppressShortView, - &kContextualSearchThinWebViewImplementation, &kDeferKeepScreenOnDuringGesture, + &kDeferNotifyInMotion, &kExperimentsForAgsa, - &kExploreSites, -@@ -675,26 +669,6 @@ BASE_FEATURE(kLensOnQuickActionSearchWidget, +@@ -685,26 +679,6 @@ BASE_FEATURE(kLensOnQuickActionSearchWidget, "LensOnQuickActionSearchWidget", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1216,7 +1216,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse BASE_FEATURE(kDeferKeepScreenOnDuringGesture, "DeferKeepScreenOnDuringGesture", base::FEATURE_DISABLED_BY_DEFAULT); -@@ -706,7 +680,6 @@ BASE_FEATURE(kDownloadAutoResumptionThrottling, +@@ -720,7 +694,6 @@ BASE_FEATURE(kDownloadAutoResumptionThrottling, BASE_FEATURE(kDownloadHomeForExternalApp, "DownloadHomeForExternalApp", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1237,12 +1237,12 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser -BASE_DECLARE_FEATURE(kContextualSearchSuppressShortView); -BASE_DECLARE_FEATURE(kContextualSearchThinWebViewImplementation); BASE_DECLARE_FEATURE(kDeferKeepScreenOnDuringGesture); + BASE_DECLARE_FEATURE(kDeferNotifyInMotion); BASE_DECLARE_FEATURE(kDontPrefetchLibraries); - BASE_DECLARE_FEATURE(kDownloadAutoResumptionThrottling); diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -123,7 +123,6 @@ +@@ -121,7 +121,6 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/first_run/android/first_run_prefs.h" #include "chrome/browser/lens/android/lens_prefs.h" @@ -1250,7 +1250,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/download/default_download_dir_policy_handler.h" #include "chrome/browser/download/download_auto_open_policy_handler.h" -@@ -1911,10 +1910,7 @@ std::unique_ptr BuildHandlerList( +@@ -1937,10 +1936,7 @@ std::unique_ptr BuildHandlerList( std::make_unique(key::kURLBlocklist)); // Policies for all platforms - End @@ -1299,7 +1299,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro “Do Not Track” -@@ -4105,38 +4078,6 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -1352,7 +1352,7 @@ diff --git a/content/browser/browser_interface_binders.cc b/content/browser/brow diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn --- a/third_party/blink/public/mojom/BUILD.gn +++ b/third_party/blink/public/mojom/BUILD.gn -@@ -1021,8 +1021,8 @@ mojom("android_mojo_bindings") { +@@ -1035,8 +1035,8 @@ mojom("android_mojo_bindings") { # This Android unhandled-tap feature uses another mojo source, add it in. if (enable_unhandled_tap) { sources += [ "unhandled_tap_notifier/unhandled_tap_notifier.mojom" ] @@ -1373,6 +1373,6 @@ diff --git a/third_party/blink/public/public_features.gni b/third_party/blink/pu +enable_unhandled_tap = false # Use Minikin hyphenation engine. - use_minikin_hyphenation = !is_mac + use_minikin_hyphenation = !is_apple -- 2.25.1 diff --git a/build/patches/Remove-price-shopping-commerce-integrations.patch b/build/patches/Remove-price-shopping-commerce-integrations.patch index dfe52dd4..c1350e9b 100644 --- a/build/patches/Remove-price-shopping-commerce-integrations.patch +++ b/build/patches/Remove-price-shopping-commerce-integrations.patch @@ -4,7 +4,7 @@ Subject: Remove price/shopping/commerce integrations License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/android/BUILD.gn | 24 --- + chrome/android/BUILD.gn | 35 ---- chrome/android/chrome_java_sources.gni | 5 - chrome/android/features/tab_ui/BUILD.gn | 5 - .../res/layout/large_message_card_item.xml | 9 - @@ -23,11 +23,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../tab_management/TabSwitcherMediator.java | 57 ------ .../chrome/browser/app/ChromeActivity.java | 4 - .../AppMenuPropertiesDelegateImpl.java | 11 +- - .../browser/bookmarks/BookmarkBridge.java | 80 --------- - .../bookmarks/BookmarkItemsAdapter.java | 10 -- + .../browser/bookmarks/BookmarkBridge.java | 79 -------- .../browser/bookmarks/BookmarkManager.java | 4 - .../BookmarkSaveFlowCoordinator.java | 6 +- - .../bookmarks/BookmarkSaveFlowMediator.java | 58 +----- + .../bookmarks/BookmarkSaveFlowMediator.java | 76 +------- .../browser/bookmarks/BookmarkUtils.java | 6 +- .../init/ProcessInitializationHandler.java | 5 - .../ContextualPageActionController.java | 4 - @@ -37,39 +36,43 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/toolbar/ToolbarManager.java | 17 -- .../chrome/browser/ui/RootUiCoordinator.java | 9 - chrome/android/java_sources.gni | 7 - - chrome/browser/BUILD.gn | 2 - + chrome/browser/BUILD.gn | 6 - .../price_tracking/PriceTrackingFeatures.java | 2 +- .../commerce/subscriptions/android/BUILD.gn | 1 - .../CommerceSubscriptionsService.java | 34 +--- .../optimization_guide_keyed_service.cc | 4 - chrome/browser/persisted_state_db/BUILD.gn | 1 - - 39 files changed, 24 insertions(+), 779 deletions(-) + chrome/browser/tab/BUILD.gn | 1 - + chrome/browser/ui/android/omnibox/BUILD.gn | 2 - + 40 files changed, 24 insertions(+), 804 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -22,10 +22,6 @@ import("//chrome/android/feed/feed_java_sources.gni") +@@ -21,10 +21,6 @@ import("//chrome/android/features/vr/public_vr_java_sources.gni") + import("//chrome/android/feed/feed_java_sources.gni") import("//chrome/android/modules/chrome_bundle_tmpl.gni") import("//chrome/android/modules/chrome_feature_module_tmpl.gni") - import("//chrome/android/monochrome_android_manifest_jinja_variables.gni") -import("//chrome/browser/commerce/price_tracking/android/java_sources.gni") -import("//chrome/browser/commerce/subscriptions/android/java_sources.gni") -import( - "//chrome/browser/commerce/subscriptions/test/android/test_java_sources.gni") + import("//chrome/browser/page_info/buildflags.gni") import("//chrome/browser/password_manager/buildflags.gni") import("//chrome/browser/share/android/java_sources.gni") - import("//chrome/chrome_paks.gni") -@@ -388,9 +384,6 @@ if (current_toolchain == default_toolchain) { +@@ -270,11 +266,6 @@ if (current_toolchain == default_toolchain) { + "//chrome/browser/battery/android:java", + "//chrome/browser/bluetooth/android:java", "//chrome/browser/browser_controls/android:java", - "//chrome/browser/commerce/android:java", - "//chrome/browser/commerce/merchant_viewer/android:java", +- "//chrome/browser/commerce/android:java", +- "//chrome/browser/commerce/merchant_viewer/android:java", - "//chrome/browser/commerce/price_tracking/android:java", - "//chrome/browser/commerce/price_tracking/proto:proto_java", - "//chrome/browser/commerce/subscriptions/android:subscriptions_java", "//chrome/browser/consent_auditor/android:java", "//chrome/browser/contextmenu:java", "//chrome/browser/creator/android:java", -@@ -774,16 +767,6 @@ if (current_toolchain == default_toolchain) { +@@ -658,16 +649,6 @@ if (current_toolchain == default_toolchain) { sources += share_java_sources deps += share_java_deps @@ -86,37 +89,53 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn if (enable_printing) { deps += [ "//printing:printing_java" ] } -@@ -982,9 +965,6 @@ if (current_toolchain == default_toolchain) { +@@ -717,7 +698,6 @@ if (current_toolchain == default_toolchain) { + ":chrome_java", + "//chrome/android/features/keyboard_accessory:internal_java", + "//chrome/browser/android/httpclient:java", +- "//chrome/browser/commerce/merchant_viewer/android:java", + "//chrome/browser/content_creation/notes/internal/android:java", + "//chrome/browser/download/internal/android:java", + "//chrome/browser/page_annotations/android:java", +@@ -868,11 +848,6 @@ if (current_toolchain == default_toolchain) { + "//chrome/browser/bluetooth/android:junit", + "//chrome/browser/browser_controls/android:java", "//chrome/browser/browser_controls/android:junit", - "//chrome/browser/commerce/android:java", - "//chrome/browser/commerce/merchant_viewer/android:junit", +- "//chrome/browser/commerce/android:java", +- "//chrome/browser/commerce/merchant_viewer/android:junit", - "//chrome/browser/commerce/price_tracking/android:java", - "//chrome/browser/commerce/price_tracking/proto:proto_java", - "//chrome/browser/commerce/subscriptions/android:subscriptions_java", "//chrome/browser/contextmenu:java", "//chrome/browser/creator/android:java", "//chrome/browser/creator/android:junit", -@@ -1376,7 +1356,6 @@ if (current_toolchain == default_toolchain) { +@@ -1275,8 +1250,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/android/browserservices/intents:java", "//chrome/browser/android/browserservices/verification:java", "//chrome/browser/android/crypto:java", +- "//chrome/browser/commerce/android:java", - "//chrome/browser/commerce/subscriptions/android:subscriptions_java", "//chrome/browser/contextmenu:java", "//chrome/browser/download/android:download_java_tests", "//chrome/browser/download/android:file_provider_java", -@@ -1512,8 +1491,6 @@ if (current_toolchain == default_toolchain) { - "//chrome/browser/commerce/android:javatests", - "//chrome/browser/commerce/merchant_viewer/android:java", - "//chrome/browser/commerce/merchant_viewer/android:javatests", +@@ -1411,12 +1384,6 @@ if (current_toolchain == default_toolchain) { + "//chrome/browser/back_press/android:java", + "//chrome/browser/banners/android:java", + "//chrome/browser/browser_controls/android:java", +- "//chrome/browser/commerce/android:java", +- "//chrome/browser/commerce/android:javatests", +- "//chrome/browser/commerce/merchant_viewer/android:java", +- "//chrome/browser/commerce/merchant_viewer/android:javatests", - "//chrome/browser/commerce/price_tracking/android:java", - "//chrome/browser/commerce/subscriptions/android:subscriptions_java", "//chrome/browser/content_creation/notes/internal/android:java", "//chrome/browser/contextmenu:java", "//chrome/browser/dependency_injection:java", -@@ -3916,7 +3893,6 @@ group("jni_headers") { +@@ -3647,8 +3614,6 @@ group("jni_headers") { + "//chrome/browser/android/browserservices/metrics:jni_headers", "//chrome/browser/android/browserservices/verification:jni_headers", "//chrome/browser/battery/android:jni_headers", - "//chrome/browser/commerce/merchant_viewer/android:jni_headers", +- "//chrome/browser/commerce/merchant_viewer/android:jni_headers", - "//chrome/browser/commerce/price_tracking/android:jni_headers", "//chrome/browser/contextmenu:jni_headers", "//chrome/browser/download/android:jni_headers", @@ -124,7 +143,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn 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 -@@ -194,10 +194,6 @@ chrome_java_sources = [ +@@ -199,10 +199,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIState.java", "java/src/org/chromium/chrome/browser/bookmarks/BookmarkUndoController.java", "java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java", @@ -132,10 +151,10 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java - "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkShoppingItemRow.java", - "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkTagChipList.java", - "java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkUtils.java", - "java/src/org/chromium/chrome/browser/bookmarks/ReadingListFeatures.java", "java/src/org/chromium/chrome/browser/bookmarks/ReadingListSectionHeader.java", "java/src/org/chromium/chrome/browser/bookmarks/TabBookmarker.java", -@@ -920,7 +916,6 @@ chrome_java_sources = [ + "java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkWidgetProvider.java", +@@ -928,7 +924,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/searchwidget/SearchType.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java", "java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java", @@ -164,8 +183,8 @@ diff --git a/chrome/android/features/tab_ui/BUILD.gn b/chrome/android/features/t "//chrome/browser/endpoint_fetcher:java", "//chrome/browser/feature_engagement:java", "//chrome/browser/feed/android:java", -@@ -272,7 +268,6 @@ android_library("unit_device_javatests") { - "//base/test:test_support_java", +@@ -275,7 +271,6 @@ android_library("unit_device_javatests") { + "//chrome/android:chrome_java", "//chrome/android/features/tab_ui:java", "//chrome/android/features/tab_ui:tab_suggestions_java", - "//chrome/browser/commerce/price_tracking/android:java", @@ -317,7 +336,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java -@@ -187,20 +187,6 @@ class TabGridViewBinder { +@@ -193,20 +193,6 @@ class TabGridViewBinder { model.get(TabProperties.IS_SELECTED)); } else if (TabProperties.ACCESSIBILITY_DELEGATE == propertyKey) { view.setAccessibilityDelegate(model.get(TabProperties.ACCESSIBILITY_DELEGATE)); @@ -338,7 +357,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } else if (TabProperties.COUPON_PERSISTED_TAB_DATA_FETCHER == propertyKey) { CouponCardView couponCardView = (CouponCardView) view.fastFindViewById(R.id.coupon_info_box_outer); -@@ -228,13 +214,6 @@ class TabGridViewBinder { +@@ -234,13 +220,6 @@ class TabGridViewBinder { }); }, false); } else if (TabProperties.SHOULD_SHOW_PRICE_DROP_TOOLTIP == propertyKey) { @@ -352,7 +371,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } else if (TabProperties.IS_SELECTED == propertyKey) { view.setSelected(model.get(TabProperties.IS_SELECTED)); updateColorForActionButton(view, model.get(TabProperties.IS_INCOGNITO), -@@ -279,21 +258,6 @@ class TabGridViewBinder { +@@ -285,21 +264,6 @@ class TabGridViewBinder { private static void fetchPriceDrop(PropertyModel model, Callback callback, boolean shouldLog) { @@ -377,7 +396,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java -@@ -143,7 +143,7 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T +@@ -154,7 +154,7 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T mTabStripCoordinator = new TabListCoordinator(TabListCoordinator.TabListMode.STRIP, mContext, mTabModelSelector, null, null, false, null, null, @@ -389,7 +408,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java -@@ -58,7 +58,7 @@ import java.util.List; +@@ -57,7 +57,7 @@ import java.util.List; * Coordinator for showing UI for a list of tabs. Can be used in GRID or STRIP modes. */ public class TabListCoordinator @@ -398,7 +417,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * Modes of showing the list of tabs. * -@@ -116,7 +116,6 @@ public class TabListCoordinator +@@ -115,7 +115,6 @@ public class TabListCoordinator * @param itemType The item type to put in the list of tabs. * @param selectionDelegateProvider Provider to provide selected Tabs for a selectable tab list. * It's NULL when selection is not possible. @@ -406,7 +425,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser * @param parentView {@link ViewGroup} The root view of the UI. * @param attachToParent Whether the UI should attach to root view. * @param componentName A unique string uses to identify different components for UMA recording. -@@ -133,8 +132,6 @@ public class TabListCoordinator +@@ -132,8 +131,6 @@ public class TabListCoordinator .GridCardOnClickListenerProvider gridCardOnClickListenerProvider, @Nullable TabListMediator.TabGridDialogHandler dialogHandler, @UiType int itemType, @Nullable TabListMediator.SelectionDelegateProvider selectionDelegateProvider, @@ -415,7 +434,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser @NonNull ViewGroup parentView, boolean attachToParent, String componentName, @NonNull ViewGroup rootView, @Nullable Callback onModelTokenChange, @Nullable TabGridItemTouchHelperCallback -@@ -240,7 +237,7 @@ public class TabListCoordinator +@@ -239,7 +236,7 @@ public class TabListCoordinator mMediator = new TabListMediator(context, mModel, mMode, tabModelSelector, thumbnailProvider, titleProvider, tabListFaviconProvider, actionOnRelatedTabs, selectionDelegateProvider, gridCardOnClickListenerProvider, dialogHandler, @@ -424,7 +443,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser onLongPressTabItemEventListener); try (TraceEvent e = TraceEvent.scoped("TabListCoordinator.setupRecyclerView")) { -@@ -445,13 +442,6 @@ public class TabListCoordinator +@@ -442,13 +439,6 @@ public class TabListCoordinator return tabListRect.top; } @@ -438,11 +457,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * @return The container {@link androidx.recyclerview.widget.RecyclerView} that is showing the * tab list UI. -@@ -607,15 +597,4 @@ public class TabListCoordinator - void removeSpecialListItem(@UiType int uiType, int itemIdentifier) { +@@ -605,17 +595,6 @@ public class TabListCoordinator mMediator.removeSpecialItemFromModel(uiType, itemIdentifier); } -- + - // PriceWelcomeMessageService.PriceWelcomeMessageProvider implementation. - @Override - public int getTabIndexFromTabId(int tabId) { @@ -453,7 +471,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser - public void showPriceDropTooltip(int index) { - mModel.get(index).model.set(TabProperties.SHOULD_SHOW_PRICE_DROP_TOOLTIP, true); - } - } +- + void runAnimationOnNextLayout(Runnable runnable) { + mRecyclerView.runAnimationOnNextLayout(runnable); + } diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java @@ -463,16 +484,17 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.preferences.SharedPreferencesManager; -import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures; -import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities; - import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.EmptyTabObserver; import org.chromium.chrome.browser.tab.Tab; -@@ -67,11 +65,9 @@ import org.chromium.chrome.browser.tasks.tab_groups.EmptyTabGroupModelFilterObse + import org.chromium.chrome.browser.tab.TabCreationState; +@@ -66,12 +64,10 @@ import org.chromium.chrome.browser.tasks.tab_groups.EmptyTabGroupModelFilterObse import org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter; import org.chromium.chrome.browser.tasks.tab_groups.TabGroupTitleUtils; import org.chromium.chrome.browser.tasks.tab_groups.TabGroupUtils; -import org.chromium.chrome.browser.tasks.tab_management.PriceMessageService.PriceTabData; import org.chromium.chrome.browser.tasks.tab_management.TabListCoordinator.TabListMode; import org.chromium.chrome.browser.tasks.tab_management.TabListFaviconProvider.TabFavicon; + import org.chromium.chrome.browser.tasks.tab_management.TabListFaviconProvider.TabFaviconFetcher; import org.chromium.chrome.browser.tasks.tab_management.TabProperties.UiType; -import org.chromium.chrome.browser.tasks.tab_management.TabSwitcherMediator.PriceWelcomeMessageController; import org.chromium.chrome.browser.tasks.tab_management.TabUiMetricsHelper.TabSelectionEditorActionMetricGroups; @@ -538,7 +560,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser private String mComponentName; private ThumbnailProvider mThumbnailProvider; -@@ -545,7 +495,6 @@ class TabListMediator { +@@ -547,7 +497,6 @@ class TabListMediator { * @param gridCardOnClickListenerProvider Provides the onClickListener for opening dialog when * click on a grid card. * @param dialogHandler A handler to handle requests about updating TabGridDialog. @@ -546,7 +568,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser * @param componentName This is a unique string to identify different components. * @param uiType The type of UI this mediator should be building. */ -@@ -556,7 +505,6 @@ class TabListMediator { +@@ -558,7 +507,6 @@ class TabListMediator { @Nullable SelectionDelegateProvider selectionDelegateProvider, @Nullable GridCardOnClickListenerProvider gridCardOnClickListenerProvider, @Nullable TabGridDialogHandler dialogHandler, @@ -554,7 +576,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser String componentName, @UiType int uiType, @Nullable TabGridItemTouchHelperCallback .OnLongPressTabItemEventListener onLongPressTabItemEventListener) { -@@ -573,7 +521,6 @@ class TabListMediator { +@@ -575,7 +523,6 @@ class TabListMediator { mTabGridDialogHandler = dialogHandler; mActionsOnAllRelatedTabs = actionOnRelatedTabs; mUiType = uiType; @@ -562,7 +584,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mTabModelObserver = new TabModelObserver() { @Override -@@ -756,35 +703,6 @@ class TabListMediator { +@@ -758,35 +705,6 @@ class TabListMediator { mTabGridItemTouchHelperCallback = new TabGridItemTouchHelperCallback(context, mModel, mTabModelSelector, mTabClosedListener, mTabGridDialogHandler, mComponentName, mActionsOnAllRelatedTabs, mMode, onLongPressTabItemEventListener); @@ -598,7 +620,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } private void selectTab(int oldIndex, int newIndex) { -@@ -1226,9 +1144,6 @@ class TabListMediator { +@@ -1230,9 +1148,6 @@ class TabListMediator { Collections.sort(tabsList, LAST_SHOWN_COMPARATOR); } mVisible = tabsList != null; @@ -608,7 +630,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser if (areTabsUnchanged(tabsList)) { if (tabsList == null) return true; for (int i = 0; i < tabsList.size(); i++) { -@@ -1299,11 +1214,6 @@ class TabListMediator { +@@ -1304,11 +1219,6 @@ class TabListMediator { void hardCleanup() { assert !mVisible; @@ -620,7 +642,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser sViewedTabIds.clear(); } -@@ -1454,25 +1364,6 @@ class TabListMediator { +@@ -1458,25 +1368,6 @@ class TabListMediator { * @param recyclerView the {@link TabListRecyclerView} to add the listener too. */ void registerOnScrolledListener(RecyclerView recyclerView) { @@ -646,7 +668,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } private void unregisterOnScrolledListener() { -@@ -1816,26 +1707,6 @@ class TabListMediator { +@@ -1829,26 +1720,6 @@ class TabListMediator { } private void setupPersistedTabDataFetcherForTab(PseudoTab pseudoTab, int index) { @@ -673,7 +695,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @VisibleForTesting -@@ -1943,23 +1814,6 @@ class TabListMediator { +@@ -1976,23 +1847,6 @@ class TabListMediator { return false; } @@ -697,7 +719,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * Update the layout of tab switcher to make it compact. Because now we have messages within the * tabs like PriceMessage and these messages take up the entire row, some operations like -@@ -1970,7 +1824,7 @@ class TabListMediator { +@@ -2003,7 +1857,7 @@ class TabListMediator { void updateLayout() { // Right now we need to update layout only if there is a price welcome message card in tab // switcher. @@ -706,7 +728,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser assert mGridLayoutManager != null; int spanCount = mGridLayoutManager.getSpanCount(); GridLayoutManager.SpanSizeLookup spanSizeLookup = mGridLayoutManager.getSpanSizeLookup(); -@@ -2007,27 +1861,6 @@ class TabListMediator { +@@ -2040,27 +1894,6 @@ class TabListMediator { return TabSwitcherCoordinator.isShowingTabsInMRUOrder(mMode); } @@ -737,7 +759,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java -@@ -104,9 +104,6 @@ public class TabProperties { +@@ -117,9 +117,6 @@ public class TabProperties { .WritableObjectPropertyKey ACCESSIBILITY_DELEGATE = new PropertyModel.WritableObjectPropertyKey<>(); @@ -747,15 +769,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser public static final WritableObjectPropertyKey COUPON_PERSISTED_TAB_DATA_FETCHER = new WritableObjectPropertyKey<>(true); -@@ -126,7 +123,7 @@ public class TabProperties { - TABSTRIP_FAVICON_BACKGROUND_COLOR_ID, SELECTABLE_TAB_ACTION_BUTTON_BACKGROUND, +@@ -140,7 +137,7 @@ public class TabProperties { + SELECTABLE_TAB_ACTION_BUTTON_BACKGROUND, SELECTABLE_TAB_ACTION_BUTTON_SELECTED_BACKGROUND, URL_DOMAIN, ACCESSIBILITY_DELEGATE, CARD_TYPE, CONTENT_DESCRIPTION_STRING, CLOSE_BUTTON_DESCRIPTION_STRING, - SHOPPING_PERSISTED_TAB_DATA_FETCHER, COUPON_PERSISTED_TAB_DATA_FETCHER, + COUPON_PERSISTED_TAB_DATA_FETCHER, SHOULD_SHOW_PRICE_DROP_TOOLTIP}; - public static final PropertyKey[] ALL_KEYS_TAB_STRIP = + public static final PropertyKey[] ALL_KEYS_TAB_STRIP = new PropertyKey[] {TAB_ID, diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSelectionEditorCoordinator.java @@ -771,7 +793,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherCoordinator.java -@@ -34,10 +34,6 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; +@@ -36,10 +36,6 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.lifecycle.DestroyObserver; import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; @@ -782,7 +804,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -46,7 +42,6 @@ import org.chromium.chrome.browser.tabmodel.TabList; +@@ -48,7 +44,6 @@ import org.chromium.chrome.browser.tabmodel.TabList; import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tasks.pseudotab.PseudoTab; import org.chromium.chrome.browser.tasks.pseudotab.TabAttributeCache; @@ -790,7 +812,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.tasks.tab_management.TabListCoordinator.TabListMode; import org.chromium.chrome.browser.tasks.tab_management.TabSelectionEditorAction.ButtonType; import org.chromium.chrome.browser.tasks.tab_management.TabSelectionEditorAction.IconPosition; -@@ -77,7 +72,6 @@ import java.util.List; +@@ -79,7 +74,6 @@ import java.util.List; public class TabSwitcherCoordinator implements DestroyObserver, TabSwitcher, TabSwitcher.TabListDelegate, TabSwitcherMediator.ResetHandler, TabSwitcherMediator.MessageItemsController, @@ -798,7 +820,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser TabGridItemTouchHelperCallback.OnLongPressTabItemEventListener { /** * Interface to control the IPH dialog. -@@ -139,8 +133,6 @@ public class TabSwitcherCoordinator +@@ -143,8 +137,6 @@ public class TabSwitcherCoordinator private ViewGroup mContainer; private TabCreatorManager mTabCreatorManager; private boolean mIsInitialized; @@ -807,16 +829,16 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser private final ViewGroup mCoordinatorView; private final ViewGroup mRootView; private TabContentManager mTabContentManager; -@@ -199,7 +191,7 @@ public class TabSwitcherCoordinator - new PropertyModel(TabListContainerProperties.ALL_KEYS); - +@@ -251,7 +243,7 @@ public class TabSwitcherCoordinator + mTabGridDialogCoordinator = null; + } mMediator = new TabSwitcherMediator(activity, this, containerViewModel, - tabModelSelector, browserControls, container, tabContentManager, this, this, + tabModelSelector, browserControls, container, tabContentManager, this, multiWindowModeStateDispatcher, mode, incognitoReauthControllerSupplier, - backPressManager); + backPressManager, dialogControllerSupplier); -@@ -220,7 +212,7 @@ public class TabSwitcherCoordinator +@@ -272,7 +264,7 @@ public class TabSwitcherCoordinator long startTimeMs = SystemClock.uptimeMillis(); mTabListCoordinator = new TabListCoordinator(mode, activity, tabModelSelector, mMultiThumbnailCardProvider, titleProvider, true, mMediator, null, @@ -825,10 +847,11 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mRootView, null, this); mContainerViewChangeProcessor = PropertyModelChangeProcessor.create(containerViewModel, mTabListCoordinator.getContainerView(), TabListContainerViewBinder::bind); -@@ -303,21 +295,6 @@ public class TabSwitcherCoordinator +@@ -341,21 +333,6 @@ public class TabSwitcherCoordinator + new LayoutViewBuilder(R.layout.large_message_card_item), LargeMessageCardViewBinder::bind); } - +- - if (PriceTrackingFeatures.isPriceTrackingEnabled() - && PriceTrackingFeatures.getPriceTrackingEnabled()) { - mPriceAnnotationsPrefObserver = key -> { @@ -843,11 +866,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser - SharedPreferencesManager.getInstance().addObserver( - mPriceAnnotationsPrefObserver); - } -- - mTabSwitcherMenuActionHandler = - new MenuOrKeyboardActionController.MenuOrKeyboardActionHandler() { - @Override -@@ -461,8 +438,6 @@ public class TabSwitcherCoordinator + } + + if (mode == TabListCoordinator.TabListMode.GRID +@@ -514,8 +491,6 @@ public class TabSwitcherCoordinator mMultiThumbnailCardProvider.initWithNative(); mMediator.initWithNative(controller, mSnackbarManager); @@ -856,7 +878,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mIsInitialized = true; } -@@ -540,19 +515,6 @@ public class TabSwitcherCoordinator +@@ -593,19 +568,6 @@ public class TabSwitcherCoordinator TabSelectionEditorOpenMetricGroups.OPEN_FROM_GRID, mActivity); } @@ -876,7 +898,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser // TabSwitcher implementation. @Override public void setOnTabSelectingListener(OnTabSelectingListener listener) { -@@ -686,22 +648,10 @@ public class TabSwitcherCoordinator +@@ -746,22 +708,10 @@ public class TabSwitcherCoordinator @Override public boolean resetWithTabs( @Nullable List tabs, boolean quickMode, boolean mruMode) { @@ -899,7 +921,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser return showQuickly; } -@@ -738,38 +688,6 @@ public class TabSwitcherCoordinator +@@ -798,38 +748,6 @@ public class TabSwitcherCoordinator sAppendedMessagesForTesting = messages.size() > 0; } @@ -938,7 +960,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser // OnLongPressTabItemEventListener implementation @Override public void onLongPressEvent(int tabId) { -@@ -806,9 +724,6 @@ public class TabSwitcherCoordinator +@@ -866,9 +784,6 @@ public class TabSwitcherCoordinator mMessageCardProviderCoordinator.getNextMessageItemForType(messageType); if (nextMessage == null || !shouldAppendMessage(nextMessage.model)) return; if (messageType == MessageService.MessageType.PRICE_MESSAGE) { @@ -948,7 +970,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } else { mTabListCoordinator.addSpecialListItemToEnd( TabProperties.UiType.MESSAGE, nextMessage.model); -@@ -858,8 +773,7 @@ public class TabSwitcherCoordinator +@@ -918,8 +833,7 @@ public class TabSwitcherCoordinator } private boolean shouldRegisterLargeMessageItemType() { @@ -958,7 +980,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @Override -@@ -897,9 +811,6 @@ public class TabSwitcherCoordinator +@@ -957,9 +871,6 @@ public class TabSwitcherCoordinator if (mTabAttributeCache != null) { mTabAttributeCache.destroy(); } @@ -971,7 +993,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java -@@ -46,7 +46,6 @@ import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager; +@@ -47,7 +47,6 @@ import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager; import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; @@ -979,7 +1001,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabCreationState; import org.chromium.chrome.browser.tab.TabSelectionType; -@@ -78,7 +77,6 @@ import java.util.List; +@@ -80,7 +79,6 @@ import java.util.List; */ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView.VisibilityListener, TabListMediator.GridCardOnClickListenerProvider, @@ -987,7 +1009,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser TabSwitcherCustomViewManager.Delegate, BackPressHandler { private static final String TAG = "TabSwitcherMediator"; -@@ -150,7 +148,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -154,7 +152,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView private TabSelectionEditorCoordinator .TabSelectionEditorController mTabSelectionEditorController; private TabSwitcher.OnTabSelectingListener mOnTabSelectingListener; @@ -995,7 +1017,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * This allows to check if re-auth is pending when tab switcher is shown in Incognito mode. -@@ -238,29 +235,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -242,29 +239,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView void restoreAllAppendedMessage(); } @@ -1025,15 +1047,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * Basic constructor for the Mediator. * @param context The context to use for accessing {@link android.content.res.Resources}. -@@ -282,7 +256,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -288,7 +262,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView PropertyModel containerViewModel, TabModelSelector tabModelSelector, BrowserControlsStateProvider browserControlsStateProvider, ViewGroup containerView, TabContentManager tabContentManager, MessageItemsController messageItemsController, - PriceWelcomeMessageController priceWelcomeMessageController, MultiWindowModeStateDispatcher multiWindowModeStateDispatcher, @TabListMode int mode, @Nullable OneshotSupplier incognitoReauthControllerSupplier, - @Nullable BackPressManager backPressManager) { -@@ -384,9 +357,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + @Nullable BackPressManager backPressManager, +@@ -394,9 +367,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView public void willCloseTab(Tab tab, boolean animate, boolean didCloseAlone) { if (mTabModelSelector.getCurrentModel().getCount() == 1) { messageItemsController.removeAllAppendedMessage(); @@ -1043,7 +1065,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } } -@@ -395,10 +365,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -405,10 +375,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView if (mTabModelSelector.getCurrentModel().getCount() == 1) { messageItemsController.restoreAllAppendedMessage(); } @@ -1054,7 +1076,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser notifyBackPressStateChangedInternal(); } -@@ -426,12 +392,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -436,12 +402,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView @Override public void tabClosureCommitted(Tab tab) { @@ -1067,7 +1089,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } }; -@@ -696,14 +656,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -701,14 +661,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView "MobileTabSwitched." + TabSwitcherCoordinator.COMPONENT_NAME); } } @@ -1082,7 +1104,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } @Override -@@ -1027,10 +979,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -1049,10 +1001,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView mOnTabSelectingListener = listener; } @@ -1093,7 +1115,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser // GridCardOnClickListenerProvider implementation. @Override @Nullable -@@ -1064,11 +1012,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -1086,11 +1034,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView } } @@ -1116,7 +1138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.bookmarks.TabBookmarker; import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.layouts.Layout; -@@ -2343,10 +2342,7 @@ public abstract class ChromeActivity +@@ -2340,10 +2339,7 @@ public abstract class ChromeActivity } if (id == R.id.enable_price_tracking_menu_id) { @@ -1130,15 +1152,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java -@@ -36,7 +36,6 @@ import org.chromium.chrome.browser.ActivityTabProvider; +@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.banners.AppMenuVerbiage; import org.chromium.chrome.browser.bookmarks.BookmarkFeatures; import org.chromium.chrome.browser.bookmarks.BookmarkModel; -import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils; - import org.chromium.chrome.browser.bookmarks.ReadingListFeatures; import org.chromium.chrome.browser.commerce.ShoppingFeatures; import org.chromium.chrome.browser.commerce.ShoppingServiceFactory; -@@ -1147,9 +1146,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate + import org.chromium.chrome.browser.device.DeviceClassManager; +@@ -1105,9 +1104,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate * @param stopPriceTrackingMenuItem The menu item to stop price tracking. * @param currentTab Current tab being displayed. */ @@ -1151,7 +1173,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App ShoppingServiceFactory.getForProfile(Profile.getLastUsedRegularProfile()); ShoppingService.ProductInfo info = null; if (service != null && currentTab != null) { -@@ -1177,7 +1176,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -1133,7 +1132,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate info.productClusterId, mBookmarkModelSupplier.get()); } startPriceTrackingMenuItem.setVisible(!priceTrackingEnabled); @@ -1165,7 +1187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java -@@ -57,8 +57,6 @@ class BookmarkBridge { +@@ -56,8 +56,6 @@ class BookmarkBridge { private boolean mIsNativeBookmarkModelLoaded; private final ObserverList mObservers = new ObserverList(); @@ -1174,7 +1196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Handler to fetch the bookmarks, titles, urls and folder hierarchy. -@@ -78,27 +76,6 @@ class BookmarkBridge { +@@ -77,26 +75,6 @@ class BookmarkBridge { mNativeBookmarkBridge = nativeBookmarkBridge; mIsDoingExtensiveChanges = BookmarkBridgeJni.get().isDoingExtensiveChanges( mNativeBookmarkBridge, BookmarkBridge.this); @@ -1189,11 +1211,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - removeExplicitShoppingSubscriptions(subscriptions); - } - }; -- if (ShoppingFeatures.isShoppingListEnabled()) { -- mShoppingService = -- ShoppingServiceFactory.getForProfile(Profile.getLastUsedRegularProfile()); -- mShoppingService.addSubscriptionsObserver(mSubscriptionsObserver); -- } +- +- mShoppingService = +- ShoppingServiceFactory.getForProfile(Profile.getLastUsedRegularProfile()); +- mShoppingService.addSubscriptionsObserver(mSubscriptionsObserver); - } - - @VisibleForTesting @@ -1202,7 +1223,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } /** -@@ -112,10 +89,6 @@ class BookmarkBridge { +@@ -110,10 +88,6 @@ class BookmarkBridge { mIsNativeBookmarkModelLoaded = false; } mObservers.clear(); @@ -1213,7 +1234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } /** Returns whether the bridge has been destroyed. */ -@@ -434,59 +407,6 @@ class BookmarkBridge { +@@ -432,59 +406,6 @@ class BookmarkBridge { return result; } @@ -1273,34 +1294,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Gets the child of a folder at the specific position. * @param folderId Id of the parent folder -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java -@@ -225,16 +225,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter mSubscriptionsManagerCallback; private String mFolderName; -@@ -54,21 +49,15 @@ public class BookmarkSaveFlowMediator + +@@ -55,21 +49,15 @@ public class BookmarkSaveFlowMediator * model. * @param context The {@link Context} associated with this mediator. * @param closeRunnable A {@link Runnable} which closes the bookmark save flow. @@ -1393,7 +1395,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } /** -@@ -103,9 +92,6 @@ public class BookmarkSaveFlowMediator +@@ -106,9 +94,6 @@ public class BookmarkSaveFlowMediator mCloseRunnable.run(); }); @@ -1403,7 +1405,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm bindBookmarkProperties(mBookmarkId, mPowerBookmarkMeta, mWasBookmarkMoved); bindPowerBookmarkProperties(mBookmarkId, mPowerBookmarkMeta, fromExplicitTrackUi); } -@@ -131,23 +117,6 @@ public class BookmarkSaveFlowMediator +@@ -134,46 +119,9 @@ public class BookmarkSaveFlowMediator private void bindPowerBookmarkProperties( BookmarkId bookmarkId, @Nullable PowerBookmarkMeta meta, boolean fromExplicitTrackUi) { @@ -1427,17 +1429,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } void handleNotificationSwitchToggle(CompoundButton view, boolean toggled) { -@@ -168,9 +137,6 @@ public class BookmarkSaveFlowMediator - setPriceTrackingIconForEnabledState(toggled); - PriceTrackingUtils.setPriceTrackingStateForBookmark(Profile.getLastUsedRegularProfile(), - mBookmarkId.getId(), toggled, mSubscriptionsManagerCallback); +- if (mSubscriptionsManagerCallback == null) { +- mSubscriptionsManagerCallback = +- mCallbackController.makeCancelable((Boolean success) -> { +- setPriceTrackingToggleVisualsOnly(success && view.isChecked()); +- setPriceTrackingNotificationUiEnabled(success); +- }); +- } +- +- // Make sure the notification channel is initialized when the user tracks a product. +- // TODO(crbug.com/1382191): Add a SubscriptionsObserver in the PriceDropNotificationManager +- // and initialize the channel there. +- if (toggled && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { +- PriceDropNotificationManagerFactory.create().createNotificationChannel(); +- } +- setPriceTrackingIconForEnabledState(toggled); +- PriceTrackingUtils.setPriceTrackingStateForBookmark(Profile.getLastUsedRegularProfile(), +- mBookmarkId.getId(), toggled, mSubscriptionsManagerCallback, mIsNewBookmark); - PowerBookmarkMetrics.reportBookmarkSaveFlowPriceTrackingState(toggled - ? PriceTrackingState.PRICE_TRACKING_ENABLED - : PriceTrackingState.PRICE_TRACKING_DISABLED); } void setPriceTrackingNotificationUiEnabled(boolean enabled) { -@@ -189,9 +155,6 @@ public class BookmarkSaveFlowMediator +@@ -192,9 +140,6 @@ public class BookmarkSaveFlowMediator void destroy() { mBookmarkModel.removeObserver(this); @@ -1447,7 +1462,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm mBookmarkModel = null; mPropertyModel = null; -@@ -212,10 +175,6 @@ public class BookmarkSaveFlowMediator +@@ -215,10 +160,6 @@ public class BookmarkSaveFlowMediator this::handleNotificationSwitchToggle); } @@ -1458,7 +1473,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm // BookmarkModelObserver implementation @Override -@@ -227,17 +186,4 @@ public class BookmarkSaveFlowMediator +@@ -230,17 +171,4 @@ public class BookmarkSaveFlowMediator } bindBookmarkProperties(mBookmarkId, mPowerBookmarkMeta, mWasBookmarkMoved); } @@ -1479,15 +1494,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java -@@ -40,7 +40,6 @@ import org.chromium.chrome.browser.app.bookmarks.BookmarkAddEditFolderActivity; +@@ -34,7 +34,6 @@ import org.chromium.chrome.browser.app.bookmarks.BookmarkActivity; + import org.chromium.chrome.browser.app.bookmarks.BookmarkAddEditFolderActivity; import org.chromium.chrome.browser.app.bookmarks.BookmarkEditActivity; import org.chromium.chrome.browser.app.bookmarks.BookmarkFolderSelectActivity; - import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider.CustomTabsUiType; -import org.chromium.chrome.browser.commerce.ShoppingServiceFactory; - import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider; - import org.chromium.chrome.browser.customtabs.IncognitoCustomTabIntentDataProvider; import org.chromium.chrome.browser.document.ChromeLauncherActivity; -@@ -141,11 +140,8 @@ public class BookmarkUtils { + import org.chromium.chrome.browser.feature_engagement.TrackerFactory; + import org.chromium.chrome.browser.incognito.IncognitoUtils; +@@ -126,11 +125,8 @@ public class BookmarkUtils { return; } @@ -1498,8 +1513,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm - new BookmarkSaveFlowCoordinator(activity, bottomSheetController, shoppingService, + new BookmarkSaveFlowCoordinator(activity, bottomSheetController, new UserEducationHelper(activity, new Handler())); - bookmarkSaveFlowCoordinator.show(bookmarkId, fromExplicitTrackUi, wasBookmarkMoved); - } + bookmarkSaveFlowCoordinator.show( + bookmarkId, fromExplicitTrackUi, wasBookmarkMoved, isNewBookmark); 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 @@ -1547,7 +1562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers. import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData; /** -@@ -38,14 +37,6 @@ public final class TabHelpers { +@@ -39,14 +38,6 @@ public final class TabHelpers { PasswordCheckUkmRecorder.createForTab(tab); AccessibilityTabHelper.createForTab(tab); @@ -1582,7 +1597,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.chrome.browser.tab.RequestDesktopUtils; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabAssociatedApp; -@@ -162,7 +159,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -161,7 +158,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { private NavigationSheet mNavigationSheet; private ComposedBrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private LayoutManagerImpl mLayoutManager; @@ -1590,7 +1605,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab private UndoGroupSnackbarController mUndoGroupSnackbarController; private final int mControlContainerHeightResource; private final Supplier mInsetObserverViewSupplier; -@@ -391,11 +387,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -390,11 +386,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mUndoGroupSnackbarController.destroy(); } @@ -1602,7 +1617,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab if (mNotificationPermissionController != null) { NotificationPermissionController.detach(mNotificationPermissionController); mNotificationPermissionController = null; -@@ -546,7 +537,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -545,7 +536,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mPwaBottomSheetController = PwaBottomSheetControllerFactory.createPwaBottomSheetController(mActivity); PwaBottomSheetControllerFactory.attach(mWindowAndroid, mPwaBottomSheetController); @@ -1610,7 +1625,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab initUndoGroupSnackbarController(); } -@@ -825,17 +815,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -832,17 +822,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { if (animate) browserControlsSizer.setAnimateBrowserControlsHeightChanges(false); } @@ -1640,7 +1655,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.download.DownloadUtils; import org.chromium.chrome.browser.feature_engagement.ScreenshotMonitor; import org.chromium.chrome.browser.feature_engagement.ScreenshotMonitorDelegate; -@@ -118,7 +116,6 @@ public class ToolbarButtonInProductHelpController +@@ -119,7 +117,6 @@ public class ToolbarButtonInProductHelpController private void handleIPHForSuccessfulPageLoad(final Tab tab) { showDownloadPageTextBubble(tab, FeatureConstants.DOWNLOAD_PAGE_FEATURE); showTranslateMenuButtonTextBubble(tab); @@ -1648,7 +1663,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar } private void handleIPHForErrorPageShown(Tab tab) { -@@ -149,30 +146,6 @@ public class ToolbarButtonInProductHelpController +@@ -150,30 +147,6 @@ public class ToolbarButtonInProductHelpController mLifecycleDispatcher.unregister(this); } @@ -1657,7 +1672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar - * @param tab The tab currently being displayed to the user. - */ - private void showPriceTrackingIPH(Tab tab) { -- if (!ShoppingFeatures.isShoppingListEnabled() +- if (!ShoppingFeatures.isShoppingListEligible() - || !PowerBookmarkUtils.isPriceTrackingEligible(tab) - || AdaptiveToolbarFeatures.isContextualPageActionUiEnabled()) { - return; @@ -1691,7 +1706,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -@@ -1994,21 +1992,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -1987,21 +1985,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve * viewed in the tab switcher grid. */ private void maybeShowPriceDropIPH() { @@ -1724,20 +1739,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; -@@ -1052,12 +1051,6 @@ public class RootUiCoordinator +@@ -1055,12 +1054,6 @@ public class RootUiCoordinator mIdentityDiscController = new IdentityDiscController( mActivity, mActivityLifecycleDispatcher, mProfileSupplier); - PriceTrackingButtonController priceTrackingButtonController = -- new PriceTrackingButtonController(mActivityTabProvider, +- new PriceTrackingButtonController(mActivity, mActivityTabProvider, - mModalDialogManagerSupplier.get(), getBottomSheetController(), - AppCompatResources.getDrawable( - mActivity, R.drawable.price_tracking_disabled), - mTabBookmarkerSupplier); ReaderModeToolbarButtonController readerModeToolbarButtonController = - new ReaderModeToolbarButtonController(mActivityTabProvider, + new ReaderModeToolbarButtonController(mActivity, mActivityTabProvider, mModalDialogManagerSupplier.get(), -@@ -1108,8 +1101,6 @@ public class RootUiCoordinator +@@ -1111,8 +1104,6 @@ public class RootUiCoordinator AdaptiveToolbarButtonVariant.SHARE, shareButtonController); adaptiveToolbarButtonController.addButtonVariant( AdaptiveToolbarButtonVariant.VOICE, voiceToolbarButtonController); @@ -1778,7 +1793,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni 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") { +@@ -2886,8 +2886,6 @@ static_library("browser") { "commerce/android/price_tracking_utils_android.cc", "commerce/android/shopping_service_factory_android.cc", "commerce/merchant_viewer/web_contents_helper.cc", @@ -1786,7 +1801,18 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn - "commerce/price_tracking/android/price_tracking_notification_bridge.h", "component_updater/crow_domain_list_component_installer.cc", "component_updater/crow_domain_list_component_installer.h", - "component_updater/desktop_sharing_hub_component_remover.cc", + "content_creation/notes/internal/android/note_service_bridge_factory.cc", +@@ -3257,10 +3255,6 @@ static_library("browser") { + "//chrome/browser/android/webapk:webapk_features", + "//chrome/browser/banners/android:jni_headers", + "//chrome/browser/bluetooth/android:jni_headers", +- "//chrome/browser/commerce/android:shopping_service_jni", +- "//chrome/browser/commerce/merchant_viewer:merchant_signal_db", +- "//chrome/browser/commerce/merchant_viewer:merchant_viewer_data_manager", +- "//chrome/browser/commerce/merchant_viewer/android:jni_headers", + "//chrome/browser/consent_auditor/android:jni_headers", + "//chrome/browser/content_creation/notes/internal/android:jni_headers", + "//chrome/browser/creator/android:jni_headers", diff --git a/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java b/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java --- a/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java +++ b/chrome/browser/commerce/price_tracking/android/java/src/org/chromium/chrome/browser/price_tracking/PriceTrackingFeatures.java @@ -1913,5 +1939,35 @@ diff --git a/chrome/browser/persisted_state_db/BUILD.gn b/chrome/browser/persist "//components/commerce/core:persisted_state_db_content_proto", "//components/keyed_service/content", "//components/leveldb_proto", +diff --git a/chrome/browser/tab/BUILD.gn b/chrome/browser/tab/BUILD.gn +--- a/chrome/browser/tab/BUILD.gn ++++ b/chrome/browser/tab/BUILD.gn +@@ -75,7 +75,6 @@ android_library("java") { + "//base:jni_java", + "//build/android:build_java", + "//chrome/browser/android/crypto:java", +- "//chrome/browser/commerce/android:java", + "//chrome/browser/contextmenu:java", + "//chrome/browser/endpoint_fetcher:java", + "//chrome/browser/flags:java", +diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn +--- a/chrome/browser/ui/android/omnibox/BUILD.gn ++++ b/chrome/browser/ui/android/omnibox/BUILD.gn +@@ -149,7 +149,6 @@ android_library("java") { + "//chrome/browser/android/lifecycle:java", + "//chrome/browser/back_press/android:java", + "//chrome/browser/browser_controls/android:java", +- "//chrome/browser/commerce/merchant_viewer/android:java", + "//chrome/browser/device:java", + "//chrome/browser/feature_engagement:java", + "//chrome/browser/flags:java", +@@ -448,7 +447,6 @@ robolectric_library("junit") { + "//base:base_junit_test_support", + "//build/android:build_java", + "//chrome/android:base_module_java", +- "//chrome/browser/commerce/merchant_viewer/android:java", + "//chrome/browser/device:java", + "//chrome/browser/flags:java", + "//chrome/browser/gsa:java", -- 2.25.1 diff --git a/build/patches/Remove-signin-and-sync-integrations.patch b/build/patches/Remove-signin-and-sync-integrations.patch index 762beff6..0a330556 100644 --- a/build/patches/Remove-signin-and-sync-integrations.patch +++ b/build/patches/Remove-signin-and-sync-integrations.patch @@ -23,9 +23,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/android/chrome_java_sources.gni | 30 --- chrome/android/features/tab_ui/BUILD.gn | 1 - .../browser/feed/FeedSurfaceCoordinator.java | 9 +- - .../browser/feed/FeedSurfaceMediator.java | 77 +----- + .../browser/feed/FeedSurfaceMediator.java | 76 +----- chrome/android/java/AndroidManifest.xml | 19 -- - .../res/xml/google_services_preferences.xml | 5 - + .../res/xml/google_services_preferences.xml | 7 - .../android/java/res/xml/main_preferences.xml | 22 +- .../java/res/xml/manage_sync_preferences.xml | 12 - .../java/res/xml/privacy_preferences.xml | 4 - @@ -35,11 +35,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/ChromeTabbedActivity.java | 9 - .../chrome/browser/app/ChromeActivity.java | 75 ------ .../AutofillAssistantPreferenceFragment.java | 1 - - .../bookmarks/BookmarkItemsAdapter.java | 56 +--- - .../bookmarks/BookmarkPromoHeader.java | 242 +----------------- + .../bookmarks/BookmarkItemsAdapter.java | 54 +---- + .../bookmarks/BookmarkPromoHeader.java | 227 +----------------- .../ClearBrowsingDataFragment.java | 77 ------ - .../ClearBrowsingDataFragmentBasic.java | 27 +- - .../contacts_picker/ChromePickerAdapter.java | 67 +---- + .../ClearBrowsingDataFragmentBasic.java | 27 +-- + .../contacts_picker/ChromePickerAdapter.java | 67 +----- .../browser/customtabs/CustomTabActivity.java | 7 - .../firstrun/FirstRunActivityBase.java | 1 - .../firstrun/LightweightFirstRunActivity.java | 4 +- @@ -55,10 +55,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../AccountChooserDialog.java | 2 +- .../AutoSigninSnackbarController.java | 2 +- .../PasswordManagerLauncher.java | 3 +- - .../settings/PasswordSettings.java | 71 +---- + .../settings/PasswordSettings.java | 71 +----- .../browser/payments/ui/PaymentRequestUI.java | 12 +- .../privacy/settings/PrivacySettings.java | 31 --- - .../chrome/browser/settings/MainSettings.java | 117 +-------- + .../chrome/browser/settings/MainSettings.java | 97 +------- .../browser/settings/SettingsActivity.java | 9 - .../share/crow/CrowButtonDelegateImpl.java | 5 +- .../survey/ChromeSurveyController.java | 4 +- @@ -79,8 +79,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../router/discovery/access_code/BUILD.gn | 1 - .../browser/password_manager/android/BUILD.gn | 4 - ...sswordManagerErrorMessageHelperBridge.java | 26 -- - .../PasswordManagerHelper.java | 123 +-------- - ...swordSyncControllerDelegateBridgeImpl.java | 7 - + .../PasswordManagerHelper.java | 123 +--------- + ...swordSyncControllerDelegateBridgeImpl.java | 6 +- chrome/browser/privacy/BUILD.gn | 1 - chrome/browser/privacy_guide/android/BUILD.gn | 2 - .../res/layout/privacy_guide_msbb_step.xml | 8 - @@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../SearchResumptionModuleMediator.java | 37 +-- .../SearchResumptionModuleUtils.java | 12 - .../ManageAccountDevicesLinkView.java | 24 +- - .../SendTabToSelfCoordinator.java | 151 ----------- + .../SendTabToSelfCoordinator.java | 151 ------------ .../account_consistency_mode_manager.cc | 7 +- .../signin/identity_manager_factory.cc | 5 - .../identity_services_provider_android.cc | 13 - @@ -102,7 +102,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...onfirmImportSyncDataDialogCoordinator.java | 7 +- .../signin/ConfirmSyncDataStateMachine.java | 16 +- .../ui/signin/SignOutDialogCoordinator.java | 34 +-- - .../ui/signin/SyncConsentFragmentBase.java | 53 +--- + .../ui/signin/SyncConsentFragmentBase.java | 106 +------- .../ui/signin/SyncPromoController.java | 15 +- .../WebSigninAccountPickerDelegate.java | 23 -- .../ui/signin/fre/SigninFirstRunMediator.java | 62 +---- @@ -118,14 +118,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../ProfileOAuth2TokenServiceDelegate.java | 52 ---- .../net/HttpNegotiateAuthenticator.java | 88 +------ .../chromoting/base/OAuthTokenFetcher.java | 2 - - 99 files changed, 83 insertions(+), 2524 deletions(-) + 99 files changed, 84 insertions(+), 2539 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -256,14 +256,12 @@ if (current_toolchain == default_toolchain) { - "//chrome/browser/password_check/android:java_resources", +@@ -141,14 +141,12 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/password_manager/android:java_resources", + "//chrome/browser/quick_delete:java_resources", "//chrome/browser/search_resumption:java_resources", - "//chrome/browser/signin/services/android:java_resources", "//chrome/browser/tab:java_resources", @@ -138,7 +138,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/ui/android/strings:ui_strings_grd", "//chrome/browser/ui/android/theme:java_resources", "//chrome/browser/ui/android/toolbar:java_resources", -@@ -460,8 +458,6 @@ if (current_toolchain == default_toolchain) { +@@ -345,8 +343,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/settings:java", "//chrome/browser/share:java", "//chrome/browser/share/android:java_resources", @@ -147,7 +147,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/tab:java", "//chrome/browser/tab_group:java", "//chrome/browser/tabmodel:factory_java", -@@ -484,7 +480,6 @@ if (current_toolchain == default_toolchain) { +@@ -369,7 +365,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", @@ -155,7 +155,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/ui/android/theme:java", "//chrome/browser/ui/android/toolbar:java", "//chrome/browser/ui/messages/android:java", -@@ -610,7 +605,6 @@ if (current_toolchain == default_toolchain) { +@@ -495,7 +490,6 @@ if (current_toolchain == default_toolchain) { "//components/strictmode/android:java", "//components/stylus_handwriting/android:java", "//components/subresource_filter/android:java", @@ -163,7 +163,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/sync/protocol:protocol_java", "//components/sync_device_info:sync_device_info_java", "//components/thin_webview:factory_java", -@@ -1052,9 +1046,6 @@ if (current_toolchain == default_toolchain) { +@@ -942,9 +936,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/segmentation_platform:factory_java", "//chrome/browser/settings:junit_test_support", "//chrome/browser/share:java", @@ -173,7 +173,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/tab:java", "//chrome/browser/tab:junit", "//chrome/browser/tab_group:java", -@@ -1087,8 +1078,6 @@ if (current_toolchain == default_toolchain) { +@@ -978,8 +969,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/ui/android/omnibox:junit", "//chrome/browser/ui/android/quickactionsearchwidget:java", "//chrome/browser/ui/android/searchactivityutils:java", @@ -182,7 +182,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/ui/android/theme:java", "//chrome/browser/ui/android/toolbar:java", "//chrome/browser/ui/android/toolbar:junit", -@@ -1179,7 +1168,6 @@ if (current_toolchain == default_toolchain) { +@@ -1070,7 +1059,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", @@ -190,7 +190,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/sync_device_info:sync_device_info_java", "//components/translate/content/android:junit", "//components/ukm/android:java", -@@ -1600,10 +1588,8 @@ if (current_toolchain == default_toolchain) { +@@ -1505,10 +1493,8 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/settings:test_support_java", "//chrome/browser/share:java", "//chrome/browser/share/android:java_resources", @@ -201,7 +201,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//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", -@@ -1629,8 +1615,6 @@ if (current_toolchain == default_toolchain) { +@@ -1534,8 +1520,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/ui/android/quickactionsearchwidget:java", "//chrome/browser/ui/android/quickactionsearchwidget:javatests", "//chrome/browser/ui/android/searchactivityutils:java", @@ -210,7 +210,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/ui/android/theme:java", "//chrome/browser/ui/android/toolbar:java", "//chrome/browser/ui/messages/android:java", -@@ -1745,7 +1729,6 @@ if (current_toolchain == default_toolchain) { +@@ -1650,7 +1634,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", @@ -218,7 +218,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/sync/protocol:protocol_java", "//components/sync_device_info:sync_device_info_java", "//components/url_formatter/android:url_formatter_java", -@@ -2420,7 +2403,6 @@ if (current_toolchain == default_toolchain) { +@@ -2345,7 +2328,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/download/android:java", "//chrome/browser/prefetch/android:java", "//chrome/browser/profiles/android:java", @@ -226,7 +226,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/tab:java", "//components/offline_items_collection/core:core_java", "//components/sync/protocol:protocol_java", -@@ -2994,13 +2976,11 @@ if (current_toolchain == default_toolchain) { +@@ -2769,13 +2751,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", @@ -240,7 +240,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/ui/messages/android:unit_device_javatests", "//chrome/browser/video_tutorials/internal:unit_device_javatests", "//components/browser_ui/bottomsheet/android/internal:unit_device_javatests", -@@ -3902,7 +3882,6 @@ generate_jni("chrome_jni_headers") { +@@ -3636,7 +3616,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", @@ -259,7 +259,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/BrowserRestartActivity.java", "java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java", "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java", -@@ -596,14 +595,11 @@ chrome_java_sources = [ +@@ -604,14 +603,11 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/firstrun/FirstRunPage.java", "java/src/org/chromium/chrome/browser/firstrun/FirstRunPageDelegate.java", "java/src/org/chromium/chrome/browser/firstrun/FirstRunPagerAdapter.java", @@ -274,7 +274,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_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", -@@ -792,7 +788,6 @@ chrome_java_sources = [ +@@ -800,7 +796,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", @@ -282,7 +282,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_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", -@@ -995,14 +990,6 @@ chrome_java_sources = [ +@@ -1004,14 +999,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", @@ -297,7 +297,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_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", -@@ -1042,23 +1029,6 @@ chrome_java_sources = [ +@@ -1051,23 +1038,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java", "java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java", "java/src/org/chromium/chrome/browser/survey/SurveyController.java", @@ -379,7 +379,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ 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 +@@ -120,7 +115,6 @@ public class FeedSurfaceMediator /** * The {@link SignInPromo} for the Feed. * TODO(huayinz): Update content and visibility through a ModelChangeProcessor. @@ -387,7 +387,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ private class FeedSignInPromo extends SignInPromo { FeedSignInPromo(SigninManager signinManager) { super(signinManager); -@@ -140,7 +134,7 @@ public class FeedSurfaceMediator +@@ -141,7 +135,7 @@ public class FeedSurfaceMediator maybeUpdateSignInPromo(); } @@ -396,7 +396,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ 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 +@@ -159,7 +153,7 @@ public class FeedSurfaceMediator super.onDismissPromo(); mCoordinator.updateHeaderViews(false); } @@ -405,15 +405,15 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ /** * Internal implementation of Stream.StreamsMediator. -@@ -197,7 +191,6 @@ public class FeedSurfaceMediator - private final Context mContext; +@@ -199,7 +193,6 @@ public class FeedSurfaceMediator private final @Nullable SnapScrollHelper mSnapScrollHelper; + private final Profile mProfile; private final PrefChangeRegistrar mPrefChangeRegistrar; - private final SigninManager mSigninManager; + private final TemplateUrlService mTemplateUrlService; private final PropertyModel mSectionHeaderModel; private final FeedActionDelegate mActionDelegate; - private final FeedOptionsCoordinator mOptionsCoordinator; -@@ -207,7 +200,6 @@ public class FeedSurfaceMediator +@@ -210,7 +203,6 @@ public class FeedSurfaceMediator private HasContentListener mHasContentListener; private ContentChangedListener mStreamContentChangedListener; private MemoryPressureCallback mMemoryPressureCallback; @@ -421,16 +421,15 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ private RecyclerViewAnimationFinishDetector mRecyclerViewAnimationFinishDetector = new RecyclerViewAnimationFinishDetector(); -@@ -250,8 +242,6 @@ public class FeedSurfaceMediator - mHasContentListener = coordinator; +@@ -254,7 +246,6 @@ public class FeedSurfaceMediator mContext = context; mSnapScrollHelper = snapScrollHelper; -- mSigninManager = IdentityServicesProvider.get().getSigninManager( -- Profile.getLastUsedRegularProfile()); + mProfile = Profile.getLastUsedRegularProfile(); +- mSigninManager = IdentityServicesProvider.get().getSigninManager(mProfile); + mTemplateUrlService = TemplateUrlServiceFactory.getForProfile(mProfile); mActionDelegate = actionDelegate; mOptionsCoordinator = optionsCoordinator; - mOptionsCoordinator.setOptionsListener(this); -@@ -473,7 +463,6 @@ public class FeedSurfaceMediator +@@ -477,7 +468,6 @@ public class FeedSurfaceMediator mFeedMenuModel = buildMenuItems(); mCoordinator.initializeBubbleTriggering(); @@ -438,7 +437,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ mSectionHeaderModel.set(SectionHeaderListProperties.MENU_MODEL_LIST_KEY, mFeedMenuModel); mSectionHeaderModel.set( -@@ -516,8 +505,6 @@ public class FeedSurfaceMediator +@@ -519,8 +509,6 @@ public class FeedSurfaceMediator }; mCoordinator.getRecyclerView().addOnScrollListener(mStreamScrollListener); @@ -447,7 +446,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ mMemoryPressureCallback = pressure -> mCoordinator.getRecyclerView().getRecycledViewPool().clear(); MemoryPressureListener.addCallback(mMemoryPressureCallback); -@@ -746,27 +733,12 @@ public class FeedSurfaceMediator +@@ -745,27 +733,12 @@ public class FeedSurfaceMediator } } @@ -476,7 +475,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ } /** Clear any dependencies related to the {@link Stream}. */ -@@ -781,11 +753,6 @@ public class FeedSurfaceMediator +@@ -780,11 +753,6 @@ public class FeedSurfaceMediator MemoryPressureListener.removeCallback(mMemoryPressureCallback); mMemoryPressureCallback = null; @@ -488,15 +487,15 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ unbindStream(); for (Stream s : mTabToStreamMap.values()) { s.removeOnContentChangedListener(mStreamContentChangedListener); -@@ -796,7 +763,6 @@ public class FeedSurfaceMediator +@@ -795,7 +763,6 @@ public class FeedSurfaceMediator mPrefChangeRegistrar.removeObserver(Pref.ARTICLES_LIST_VISIBLE); - TemplateUrlServiceFactory.get().removeObserver(this); + mTemplateUrlService.removeObserver(this); - mSigninManager.getIdentityManager().removeObserver(this); mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY).clear(); -@@ -867,9 +833,6 @@ public class FeedSurfaceMediator +@@ -865,9 +832,6 @@ public class FeedSurfaceMediator // Update toggleswitch item, which is last item in list. mSectionHeaderModel.set(SectionHeaderListProperties.MENU_MODEL_LIST_KEY, buildMenuItems()); @@ -506,7 +505,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ if (suggestionsVisible) mCoordinator.getSurfaceLifecycleManager().show(); mStreamContentChanged = true; -@@ -947,35 +910,6 @@ public class FeedSurfaceMediator +@@ -945,35 +909,6 @@ public class FeedSurfaceMediator private ModelList buildMenuItems() { ModelList itemList = new ModelList(); @@ -542,7 +541,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/ return itemList; } -@@ -1161,11 +1095,6 @@ public class FeedSurfaceMediator +@@ -1159,11 +1094,6 @@ public class FeedSurfaceMediator updateSectionHeader(); } @@ -584,7 +583,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro {% block extra_uses_permissions %} {% endblock %} -@@ -536,15 +531,6 @@ by a child template that "extends" this file. +@@ -542,15 +537,6 @@ by a child template that "extends" this file. TODO(crbug.com/1093292): investigate why @android:style/Theme.NoDisplay can't be used here. --> @@ -600,7 +599,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro {% endif %} @@ -615,18 +614,24 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml --- a/chrome/android/java/res/xml/google_services_preferences.xml +++ b/chrome/android/java/res/xml/google_services_preferences.xml -@@ -26,11 +26,6 @@ found in the LICENSE file. - android:title="@string/autocomplete_searches_and_urls_title" - android:summary="@string/autocomplete_searches_and_urls_summary" - android:persistent="false"/> +@@ -21,17 +21,10 @@ found in the LICENSE file. + android:key="metrics_settings" + android:title="@string/manage_metrics_settings" + android:fragment="org.chromium.chrome.browser.metrics_settings.MetricsSettingsFragment"/> - +- +@@ -316,9 +312,6 @@ public abstract class ChromeActivity private boolean mRemoveWindowBackgroundDone; protected AccessibilityVisibilityHandler mAccessibilityVisibilityHandler; @@ -911,7 +916,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv // The FullscreenVideoPictureInPictureController is initialized lazily https://crbug.com/729738. private FullscreenVideoPictureInPictureController mFullscreenVideoPictureInPictureController; -@@ -1066,60 +1059,6 @@ public abstract class ChromeActivity +@@ -1075,60 +1068,6 @@ public abstract class ChromeActivity return StatusBarColorController.UNDEFINED_STATUS_BAR_COLOR; } @@ -972,7 +977,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv @Override public void onResumeWithNative() { // First, update the activity type in order to have it properly captured in -@@ -1236,14 +1175,6 @@ public abstract class ChromeActivity +@@ -1245,14 +1184,6 @@ public abstract class ChromeActivity if (GSAState.getInstance().isGsaAvailable() && !SysUtils.isLowEndDevice()) { if (mGSAAccountChangeListener != null) mGSAAccountChangeListener.disconnect(); } @@ -987,7 +992,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv super.onStopWithNative(); } -@@ -1325,11 +1256,6 @@ public abstract class ChromeActivity +@@ -1334,11 +1265,6 @@ public abstract class ChromeActivity .recordUserFontPrefOnStartup(); }); @@ -999,7 +1004,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv // GSA connection is not needed on low-end devices because Icing is disabled. if (!SysUtils.isLowEndDevice()) { DeferredStartupHandler.getInstance().addDeferredTask(() -> { -@@ -1344,7 +1270,6 @@ public abstract class ChromeActivity +@@ -1353,7 +1279,6 @@ public abstract class ChromeActivity GSAAccountChangeListener.create(AppHooks.get().createGsaHelper()); } mGSAAccountChangeListener.connect(); @@ -1021,18 +1026,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill_assist diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java -@@ -25,10 +25,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkRow.Location; +@@ -25,9 +25,6 @@ import org.chromium.chrome.browser.bookmarks.BookmarkRow.Location; import org.chromium.chrome.browser.feature_engagement.TrackerFactory; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.profiles.Profile; -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; -@@ -50,7 +47,7 @@ import java.util.List; +@@ -46,7 +43,7 @@ import java.util.List; * BaseAdapter for {@link RecyclerView}. It manages bookmarks to list there. */ public class BookmarkItemsAdapter extends DragReorderableListAdapter @@ -1041,27 +1045,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm private static final int MAXIMUM_NUMBER_OF_SEARCH_RESULTS = 500; private static final String EMPTY_QUERY = null; -@@ -63,10 +60,8 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter(); -@@ -363,8 +345,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter options = getDialogOptions(); mItems = new Item[options.size()]; for (int i = 0; i < options.size(); i++) { -@@ -590,11 +578,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat +@@ -605,11 +593,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat assert spinnerOptionIndex != -1; spinner.setOptions(spinnerOptions, spinnerOptionIndex); spinner.setOnPreferenceChangeListener(this); @@ -1501,7 +1478,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } @Override -@@ -643,7 +626,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat +@@ -658,7 +641,6 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat for (Item item : mItems) { item.destroy(); } @@ -1509,7 +1486,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } // We either show the dialog, or modify the current one to display our messages. This avoids -@@ -669,27 +651,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat +@@ -684,27 +666,7 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat private void updateSignOutOfChromeText() { ClickableSpansTextMessagePreference signOutOfChromeTextPref = findPreference(ClearBrowsingDataFragment.PREF_SIGN_OUT_OF_CHROME_TEXT); @@ -1537,7 +1514,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } /** -@@ -754,43 +716,4 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat +@@ -769,43 +731,4 @@ public abstract class ClearBrowsingDataFragment extends PreferenceFragmentCompat ignoredDomains, ignoredDomainReasons); } } @@ -1914,26 +1891,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java -@@ -23,8 +23,6 @@ import org.chromium.chrome.browser.ntp.NewTabPage; - import org.chromium.chrome.browser.profiles.Profile; - import org.chromium.chrome.browser.settings.MainSettings; +@@ -28,8 +28,6 @@ import org.chromium.chrome.browser.settings.MainSettings; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; + import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; + 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.chrome.browser.signin.services.SigninManager; 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; +@@ -45,9 +43,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 org.chromium.components.signin.metrics.SigninAccessPoint; import java.lang.annotation.Retention; - import java.lang.annotation.RetentionPolicy; -@@ -50,8 +45,7 @@ import java.lang.annotation.RetentionPolicy; +@@ -57,8 +52,7 @@ import java.lang.annotation.RetentionPolicy; * Handles displaying IdentityDisc on toolbar depending on several conditions * (user sign-in state, whether NTP is shown) */ @@ -1943,7 +1920,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I // 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 +@@ -80,15 +74,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa private final ObservableSupplier mProfileSupplier; private final Callback mProfileSupplierObserver = this::setProfile; @@ -1959,10 +1936,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I // Identity disc visibility state. @IdentityDiscState private int mState = IdentityDiscState.NONE; -@@ -201,16 +186,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa +@@ -216,16 +201,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa * IdentityDiscController for profile data updates. */ - private void ensureProfileDataCache(String accountName, @IdentityDiscState int state) { + private void ensureProfileDataCache(@IdentityDiscState int state) { - if (state == IdentityDiscState.NONE || mProfileDataCache[state] != null) return; - - @DimenRes @@ -1976,16 +1953,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I } /** -@@ -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(); +@@ -236,7 +211,7 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa + if (shouldUseSignedOutAvatar(email)) { + return AppCompatResources.getDrawable(mContext, R.drawable.account_circle_full); + } +- return mProfileDataCache[mState].getProfileDataOrDefault(email).getImage(); + return null; } /** -@@ -226,13 +201,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa +@@ -244,13 +219,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa * when sign-in state changes. */ private void resetIdentityDiscCache() { @@ -1999,7 +1976,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I } private void notifyObservers(boolean hint) { -@@ -241,47 +209,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa +@@ -259,47 +227,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa } } @@ -2047,7 +2024,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I /** * Call to tear down dependencies. */ -@@ -292,18 +219,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa +@@ -310,18 +237,6 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa mActivityLifecycleDispatcher = null; } @@ -2066,7 +2043,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I if (mNativeIsInitialized) { mProfileSupplier.removeObserver(mProfileSupplierObserver); } -@@ -326,9 +241,7 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa +@@ -344,9 +259,7 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa * @return account info for the current profile. Returns null for OTR profile. */ private CoreAccountInfo getSignedInAccountInfo() { @@ -2077,7 +2054,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I } /** -@@ -336,16 +249,5 @@ public class IdentityDiscController implements NativeInitObserver, ProfileDataCa +@@ -354,17 +267,6 @@ 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) { @@ -2093,7 +2070,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/I - notifyObservers(true); - } } - } + + private String getContentDescription(@Nullable String email) { 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 @@ -2105,7 +2083,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; import org.chromium.components.crash.browser.ChildProcessCrashObserver; -@@ -358,7 +357,6 @@ public class ChromeBrowserInitializer { +@@ -356,7 +355,6 @@ public class ChromeBrowserInitializer { getBrowserStartupController().startBrowserProcessesSync( LibraryProcessType.PROCESS_BROWSER, /*singleProcess=*/false, /*startGpuProcess=*/startGpuProcess); @@ -2658,7 +2636,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/Pay 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 -@@ -33,9 +33,6 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFra +@@ -32,9 +32,6 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFra import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; @@ -2666,9 +2644,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting -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; -@@ -58,7 +55,6 @@ public class PrivacySettings + import org.chromium.components.browser_ui.settings.SettingsUtils; +@@ -57,7 +54,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"; @@ -2676,7 +2654,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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"; -@@ -131,9 +127,6 @@ public class PrivacySettings +@@ -142,9 +138,6 @@ public class PrivacySettings Preference secureDnsPref = findPreference(PREF_SECURE_DNS); secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled()); @@ -2686,7 +2664,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES); if (thirdPartyCookies != null) { thirdPartyCookies.getExtras().putString( -@@ -145,30 +138,6 @@ public class PrivacySettings +@@ -156,30 +149,6 @@ public class PrivacySettings updatePreferences(); } @@ -2728,7 +2706,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe import static org.chromium.chrome.browser.password_manager.PasswordManagerHelper.usesUnifiedPasswordManagerBranding; import static org.chromium.chrome.browser.password_manager.PasswordManagerHelper.usesUnifiedPasswordManagerUI; -@@ -40,16 +39,8 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; +@@ -39,13 +38,6 @@ 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; @@ -2741,11 +2719,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe -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; -@@ -57,9 +48,6 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; +@@ -55,9 +47,6 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.browser_ui.styles.SemanticColorUtils; import org.chromium.components.search_engines.TemplateUrl; import org.chromium.components.search_engines.TemplateUrlService; @@ -2755,14 +2730,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.text.SpanApplier; -@@ -72,14 +60,10 @@ import java.util.Map; +@@ -70,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 { +- SigninManager.SignInStateObserver, ProfileDependentSetting { - public static final String PREF_SYNC_PROMO = "sync_promo"; -+ implements TemplateUrlService.LoadListener { ++ implements TemplateUrlService.LoadListener, ProfileDependentSetting { public static final String PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION = "account_and_google_services_section"; public static final String PREF_SIGN_IN = "sign_in"; @@ -2771,24 +2746,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe public static final String PREF_SEARCH_ENGINE = "search_engine"; public static final String PREF_PASSWORDS = "passwords"; public static final String PREF_HOMEPAGE = "homepage"; -@@ -97,8 +81,6 @@ public class MainSettings extends PreferenceFragmentCompat +@@ -95,8 +80,6 @@ public class MainSettings extends PreferenceFragmentCompat private final ManagedPreferenceDelegate mManagedPreferenceDelegate; private final Map mAllPreferences = new HashMap<>(); - private SignInPreference mSignInPreference; - private ChromeBasePreference mManageSync; private @Nullable PasswordCheck mPasswordCheck; + private Profile mProfile; private ObservableSupplier mModalDialogManagerSupplier; - -@@ -136,34 +118,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()); +@@ -138,30 +121,12 @@ public class MainSettings extends PreferenceFragmentCompat + @Override + public void onStart() { + super.onStart(); +- SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(mProfile); - if (signinManager.isSigninSupported()) { - signinManager.addSignInStateObserver(this); - } @@ -2796,13 +2767,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe - if (syncService != null) { - syncService.addSyncStateChangedListener(this); - } -- } -- -- @Override -- public void onStop() { -- super.onStop(); -- SigninManager signinManager = IdentityServicesProvider.get().getSigninManager( -- Profile.getLastUsedRegularProfile()); + } + + @Override + public void onStop() { + super.onStop(); + SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(mProfile); - if (signinManager.isSigninSupported()) { - signinManager.removeSignInStateObserver(this); - } @@ -2812,10 +2782,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe - } - } - - @Override +- @Override public void onResume() { super.onResume(); -@@ -229,8 +183,6 @@ public class MainSettings extends PreferenceFragmentCompat + updatePreferences(); +@@ -232,8 +197,6 @@ public class MainSettings extends PreferenceFragmentCompat Preference preference = getPreferenceScreen().getPreference(index); mAllPreferences.put(preference.getKey(), preference); } @@ -2824,13 +2795,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe } private void setManagedPreferenceDelegateForPreference(String key) { -@@ -239,15 +191,6 @@ public class MainSettings extends PreferenceFragmentCompat +@@ -242,13 +205,6 @@ public class MainSettings extends PreferenceFragmentCompat } private void updatePreferences() { -- if (IdentityServicesProvider.get() -- .getSigninManager(Profile.getLastUsedRegularProfile()) -- .isSigninSupported()) { +- if (IdentityServicesProvider.get().getSigninManager(mProfile).isSigninSupported()) { - addPreferenceIfAbsent(PREF_SIGN_IN); - } else { - removePreferenceIfPresent(PREF_SIGN_IN); @@ -2840,23 +2809,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe updateSearchEnginePreference(); updatePasswordsPreference(); -@@ -281,41 +224,6 @@ public class MainSettings extends PreferenceFragmentCompat +@@ -282,35 +238,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)); +- IdentityServicesProvider.get().getIdentityManager(mProfile).getPrimaryAccountInfo( +- ConsentLevel.SIGNIN)); - boolean showManageSync = primaryAccountName != null; - mManageSync.setVisible(showManageSync); - if (!showManageSync) return; - - boolean isSyncConsentAvailable = -- IdentityServicesProvider.get() -- .getIdentityManager(Profile.getLastUsedRegularProfile()) -- .getPrimaryAccountInfo(ConsentLevel.SYNC) +- IdentityServicesProvider.get().getIdentityManager(mProfile).getPrimaryAccountInfo( +- ConsentLevel.SYNC) - != null; - mManageSync.setIcon(SyncSettingsUtils.getSyncStatusIcon(getActivity())); - mManageSync.setSummary(SyncSettingsUtils.getSyncStatusSummary(getActivity())); @@ -2867,10 +2834,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe - } 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); @@ -2880,20 +2843,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe - } - private void updateSearchEnginePreference() { - if (!TemplateUrlServiceFactory.get().isLoaded()) { - ChromeBasePreference searchEnginePref = -@@ -352,9 +260,7 @@ public class MainSettings extends PreferenceFragmentCompat + TemplateUrlService templateUrlService = TemplateUrlServiceFactory.getForProfile(mProfile); + if (!templateUrlService.isLoaded()) { +@@ -346,8 +273,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); +- && !UserPrefs.get(mProfile).getBoolean(Pref.PASSWORDS_PREF_WITH_NEW_LABEL_USED); + return false; } // TODO(crbug.com/1217070): remove this method once UPM feature is rolled out. -@@ -385,19 +291,6 @@ public class MainSettings extends PreferenceFragmentCompat +@@ -378,19 +304,6 @@ public class MainSettings extends PreferenceFragmentCompat pref.setSummary(isOn ? R.string.text_on : R.string.text_off); } @@ -2913,7 +2875,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe // TemplateUrlService.LoadListener implementation. @Override public void onTemplateUrlServiceLoaded() { -@@ -405,12 +298,6 @@ public class MainSettings extends PreferenceFragmentCompat +@@ -398,12 +311,6 @@ public class MainSettings extends PreferenceFragmentCompat updateSearchEnginePreference(); } @@ -2929,7 +2891,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -60,11 +60,7 @@ import org.chromium.chrome.browser.privacy_sandbox.AdMeasurementFragment; +@@ -59,11 +59,7 @@ import org.chromium.chrome.browser.privacy_sandbox.AdMeasurementFragment; import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFragment; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManagerUtils; @@ -2941,7 +2903,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin 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; -@@ -428,11 +424,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -432,11 +428,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity fragmentHelpAndFeedbackLauncher.setHelpAndFeedbackLauncher( HelpAndFeedbackLauncherImpl.getInstance()); } @@ -3007,7 +2969,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.chrome.browser.status_indicator.StatusIndicatorCoordinator; import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsService; import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory; -@@ -109,7 +108,6 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; +@@ -108,7 +107,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; @@ -3015,7 +2977,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.chrome.browser.ui.system.StatusBarColorController.StatusBarColorProvider; import org.chromium.chrome.browser.ui.tablet.emptybackground.EmptyBackgroundViewWrapper; import org.chromium.chrome.browser.webapps.AddToHomescreenIPHController; -@@ -963,23 +961,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -970,23 +968,6 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } } @@ -3042,7 +3004,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2012,7 +2012,6 @@ static_library("browser") { +@@ -2023,7 +2023,6 @@ static_library("browser") { "//chrome/browser/share", "//chrome/browser/sharing:buildflags", "//chrome/browser/sharing/proto", @@ -3050,7 +3012,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/storage_access_api:permissions", "//chrome/browser/thumbnail", "//chrome/browser/top_level_storage_access_api:permissions", -@@ -2824,8 +2823,6 @@ static_library("browser") { +@@ -2839,8 +2838,6 @@ static_library("browser") { "android/signin/fre_mobile_identity_consistency_field_trial.h", "android/signin/signin_bridge.cc", "android/signin/signin_bridge.h", @@ -3059,7 +3021,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "android/signin/signin_metrics_utils.cc", "android/signin/unified_consent_service_bridge.cc", "android/signin/web_signin_bridge.cc", -@@ -3199,8 +3196,6 @@ static_library("browser") { +@@ -3215,8 +3212,6 @@ static_library("browser") { "sharing/sms/sms_fetch_request_handler.h", "shell_integration_android.cc", "signin/identity_services_provider_android.cc", @@ -3068,7 +3030,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "ssl/chrome_security_state_client.cc", "ssl/chrome_security_state_client.h", "ssl/chrome_security_state_model_delegate.cc", -@@ -4498,10 +4493,6 @@ static_library("browser") { +@@ -4520,10 +4515,6 @@ static_library("browser") { "profiles/profile_statistics_factory.h", "signin/force_signin_verifier.cc", "signin/force_signin_verifier.h", @@ -3203,7 +3165,7 @@ diff --git a/chrome/browser/commerce/subscriptions/android/java_sources.gni b/ch diff --git a/chrome/browser/feed/android/BUILD.gn b/chrome/browser/feed/android/BUILD.gn --- a/chrome/browser/feed/android/BUILD.gn +++ b/chrome/browser/feed/android/BUILD.gn -@@ -104,7 +104,6 @@ android_library("java") { +@@ -105,7 +105,6 @@ android_library("java") { "//chrome/browser/privacy:java", "//chrome/browser/profiles/android:java", "//chrome/browser/share:java", @@ -3562,24 +3524,23 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java -@@ -8,7 +8,6 @@ import com.google.android.gms.common.api.ApiException; +@@ -8,6 +8,7 @@ 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; ++import org.chromium.components.signin.base.CoreAccountInfo; /** -@@ -40,12 +39,6 @@ class PasswordSyncControllerDelegateBridgeImpl { + * Java-counterpart of the native PasswordSyncControllerDelegateBridgeImpl. It's part of +@@ -38,11 +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)); + void notifyCredentialManagerWhenSyncing(String accountEmail) { +- mPasswordSyncControllerDelegate.notifyCredentialManagerWhenSyncing(accountEmail, () -> { +- if (mNativeDelegateBridgeImpl == 0) return; +- PasswordSyncControllerDelegateBridgeImplJni.get().onCredentialManagerNotified( +- mNativeDelegateBridgeImpl); +- }, exception -> handleCredentialManagerException(exception)); } /** @@ -3597,15 +3558,15 @@ diff --git a/chrome/browser/privacy/BUILD.gn b/chrome/browser/privacy/BUILD.gn diff --git a/chrome/browser/privacy_guide/android/BUILD.gn b/chrome/browser/privacy_guide/android/BUILD.gn --- a/chrome/browser/privacy_guide/android/BUILD.gn +++ b/chrome/browser/privacy_guide/android/BUILD.gn -@@ -24,7 +24,6 @@ android_library("java") { - "//base:base_java", +@@ -28,7 +28,6 @@ android_library("java") { + "//chrome/browser/privacy_sandbox/android:java", "//chrome/browser/profiles/android:java", "//chrome/browser/safe_browsing/android:java", - "//chrome/browser/signin/services/android:java", "//chrome/browser/sync/android:java", "//components/browser_ui/bottomsheet/android:java", - "//components/browser_ui/site_settings/android:java", -@@ -61,7 +60,6 @@ robolectric_library("junit") { + "//components/browser_ui/settings/android:java", +@@ -71,7 +70,6 @@ robolectric_library("junit") { "//base:base_junit_test_support", "//chrome/browser/profiles/android:java", "//chrome/browser/safe_browsing/android:java", @@ -3678,7 +3639,7 @@ diff --git a/chrome/browser/search_resumption/BUILD.gn b/chrome/browser/search_r diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java --- a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java +++ b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleMediator.java -@@ -19,10 +19,6 @@ import org.chromium.chrome.browser.profiles.Profile; +@@ -20,10 +20,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; @@ -3689,7 +3650,7 @@ diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/brows 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; +@@ -38,15 +34,11 @@ import java.util.List; /** * This class holds querying search suggestions related business logic. */ @@ -3703,10 +3664,10 @@ diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/brows private final SearchResumptionTileBuilder mTileBuilder; - private final SigninManager mSignInManager; - private final SyncService mSyncService; + private final AutocompleteControllerProvider mAutocompleteProvider; + private final TemplateUrlService mTemplateUrlService; 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 +@@ -81,10 +73,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList } else { start(profile); } @@ -3714,10 +3675,10 @@ diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/brows - mSignInManager.addSignInStateObserver(this); - mSyncService = SyncService.get(); - mSyncService.addSyncStateChangedListener(this); - TemplateUrlServiceFactory.get().addObserver(this::onTemplateURLServiceChanged); } -@@ -95,27 +83,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList + @Override +@@ -102,27 +90,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList autocompleteResult.getSuggestionsList(), false /* useCachedResults */); } @@ -3745,10 +3706,10 @@ diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/brows /** * 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 +@@ -183,8 +150,6 @@ public class SearchResumptionModuleMediator implements OnSuggestionsReceivedList mSearchResumptionModuleBridge.destroy(); } - TemplateUrlServiceFactory.get().removeObserver(this::onTemplateURLServiceChanged); + mTemplateUrlService.removeObserver(this::onTemplateURLServiceChanged); - mSignInManager.removeSignInStateObserver(this); - mSyncService.removeSyncStateChangedListener(this); } @@ -3757,7 +3718,7 @@ diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java --- a/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java +++ b/chrome/browser/search_resumption/java/src/org/chromium/chrome/browser/search_resumption/SearchResumptionModuleUtils.java -@@ -17,8 +17,6 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +@@ -18,8 +18,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; @@ -3766,7 +3727,7 @@ diff --git a/chrome/browser/search_resumption/java/src/org/chromium/chrome/brows 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 { +@@ -136,16 +134,6 @@ public class SearchResumptionModuleUtils { return false; } @@ -4113,7 +4074,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome diff --git a/chrome/browser/supervised_user/BUILD.gn b/chrome/browser/supervised_user/BUILD.gn --- a/chrome/browser/supervised_user/BUILD.gn +++ b/chrome/browser/supervised_user/BUILD.gn -@@ -79,7 +79,6 @@ if (is_android) { +@@ -80,7 +80,6 @@ if (is_android) { "//base:jni_java", "//build/android:build_java", "//chrome/browser/profiles/android:java", @@ -4164,7 +4125,7 @@ diff --git a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/sync_service_factory.cc --- a/chrome/browser/sync/sync_service_factory.cc +++ b/chrome/browser/sync/sync_service_factory.cc -@@ -80,7 +80,7 @@ +@@ -81,7 +81,7 @@ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_WIN) @@ -4173,7 +4134,7 @@ diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/s std::unique_ptr BuildSyncService( content::BrowserContext* context) { -@@ -190,7 +190,7 @@ std::unique_ptr BuildSyncService( +@@ -191,7 +191,7 @@ std::unique_ptr BuildSyncService( return sync_service; } @@ -4182,7 +4143,7 @@ diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/s // static SyncServiceFactory* SyncServiceFactory::GetInstance() { -@@ -274,7 +274,7 @@ SyncServiceFactory::~SyncServiceFactory() = default; +@@ -275,7 +275,7 @@ SyncServiceFactory::~SyncServiceFactory() = default; KeyedService* SyncServiceFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { @@ -4191,7 +4152,7 @@ diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/s } bool SyncServiceFactory::ServiceIsNULLWhileTesting() const { -@@ -316,9 +316,3 @@ SyncServiceFactory::GetAllSyncServices() { +@@ -317,9 +317,3 @@ SyncServiceFactory::GetAllSyncServices() { } return sync_services; } @@ -4204,7 +4165,7 @@ diff --git a/chrome/browser/sync/sync_service_factory.cc b/chrome/browser/sync/s diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -162,7 +162,6 @@ android_library("java") { +@@ -164,7 +164,6 @@ android_library("java") { "//chrome/browser/profiles/android:java", "//chrome/browser/search_engines/android:java", "//chrome/browser/share:java", @@ -4212,7 +4173,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr "//chrome/browser/tab:java", "//chrome/browser/tabmodel:java", "//chrome/browser/ui/android/favicon:java", -@@ -454,7 +453,6 @@ robolectric_library("junit") { +@@ -461,7 +460,6 @@ robolectric_library("junit") { "//chrome/browser/profiles/android:java", "//chrome/browser/search_engines/android:java", "//chrome/browser/share:java", @@ -4361,7 +4322,27 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java --- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java +++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncConsentFragmentBase.java -@@ -266,35 +266,8 @@ public abstract class SyncConsentFragmentBase +@@ -31,9 +31,7 @@ import org.chromium.chrome.browser.preferences.Pref; + import org.chromium.chrome.browser.profiles.Profile; + import org.chromium.chrome.browser.signin.services.DisplayableProfileData; + import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial; +-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.SigninMetricsUtils; + import org.chromium.chrome.browser.signin.services.SigninMetricsUtils.State; + import org.chromium.chrome.browser.signin.services.UnifiedConsentServiceBridge; +@@ -71,8 +69,7 @@ import java.util.Set; + * what happens after the signin flow. + */ + public abstract class SyncConsentFragmentBase +- extends Fragment implements AccountPickerCoordinator.Listener, AccountsChangeObserver, +- SigninManager.SignInStateObserver { ++ extends Fragment implements AccountPickerCoordinator.Listener, AccountsChangeObserver { + private static final String ARGUMENT_ACCESS_POINT = "SyncConsentFragmentBase.AccessPoint"; + private static final String ARGUMENT_ACCOUNT_NAME = "SyncConsentFragmentBase.AccountName"; + private static final String ARGUMENT_SHOW_TANGIBLE_SYNC_CONSENT_VIEW = +@@ -257,42 +254,8 @@ public abstract class SyncConsentFragmentBase // this method replaces onSyncAccepted(), the field can be set directly. protected void signinAndEnableSync( String accountName, boolean settingsClicked, Runnable callback) { @@ -4380,6 +4361,13 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows - public void onSignInComplete() { - UnifiedConsentServiceBridge.setUrlKeyedAnonymizedDataCollectionEnabled( - Profile.getLastUsedRegularProfile(), true); +- if (ChromeFeatureList.isEnabled(ChromeFeatureList.TANGIBLE_SYNC) +- && getTangibleSyncGroup() != TangibleSyncGroup.GROUP_F) { +- // Groups A-E are only for enabling History and Tab Sync +- SyncService.get().setSelectedTypes(false, +- Set.of(UserSelectableType.HISTORY, +- UserSelectableType.TABS)); +- } - if (!settingsClicked) { - SyncService.get().setFirstSetupComplete( - SyncFirstSetupCompleteSource.BASIC_FLOW); @@ -4399,7 +4387,7 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows } @Override -@@ -347,10 +320,6 @@ public abstract class SyncConsentFragmentBase +@@ -345,10 +308,6 @@ public abstract class SyncConsentFragmentBase : ProfileDataCache.createWithDefaultImageSizeAndNoBadge(requireContext()); mProfileDataCache.addObserver(mProfileDataCacheObserver); @@ -4410,7 +4398,7 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows // 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 +@@ -359,9 +318,6 @@ public abstract class SyncConsentFragmentBase @Override public void onDestroy() { super.onDestroy(); @@ -4420,7 +4408,29 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows mProfileDataCache.removeObserver(mProfileDataCacheObserver); if (mConfirmSyncDataStateMachine != null) { mConfirmSyncDataStateMachine.cancel(/* isBeingDestroyed = */ true); -@@ -768,21 +734,6 @@ public abstract class SyncConsentFragmentBase +@@ -454,21 +410,6 @@ public abstract class SyncConsentFragmentBase + mAccountManagerFacade.getAccounts().then(this::updateAccounts); + } + +- /** Implements {@link SigninManager.SignInStateObserver}. */ +- @Override +- public void onSignedIn() { +- final CoreAccountInfo primaryAccount = +- IdentityServicesProvider.get() +- .getIdentityManager(Profile.getLastUsedRegularProfile()) +- .getPrimaryAccountInfo(ConsentLevel.SIGNIN); +- mIsSignedInWithoutSync = (FREMobileIdentityConsistencyFieldTrial.isEnabled() +- && mSigninAccessPoint == SigninAccessPoint.START_PAGE && primaryAccount != null); +- if (mIsSignedInWithoutSync) { +- mSelectedAccountName = primaryAccount.getEmail(); +- mAccountManagerFacade.getAccounts().then(this::updateAccounts); +- } +- } +- + /** + * Account picker is hidden if there are no accounts on the device. Also, accept button becomes + * "Add account" button in this case. +@@ -732,21 +673,6 @@ public abstract class SyncConsentFragmentBase // Don't start sign-in if this fragment has been destroyed. if (getActivity().isDestroyed()) return; @@ -4442,6 +4452,39 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows } @Override +@@ -813,32 +739,6 @@ public abstract class SyncConsentFragmentBase + } + } + +- @Override +- public void onResume() { +- super.onResume(); +- mAccountManagerFacade.addObserver(this); +- +- final CoreAccountInfo primaryAccount = +- IdentityServicesProvider.get() +- .getIdentityManager(Profile.getLastUsedRegularProfile()) +- .getPrimaryAccountInfo(ConsentLevel.SIGNIN); +- mIsSignedInWithoutSync = (FREMobileIdentityConsistencyFieldTrial.isEnabled() +- && mSigninAccessPoint == SigninAccessPoint.START_PAGE && primaryAccount != null); +- if (mIsSignedInWithoutSync) { +- mSelectedAccountName = primaryAccount.getEmail(); +- } +- // When a fragment that was in the FragmentManager backstack becomes visible again, the view +- // will be recreated by onCreateView. Update the state of this recreated UI. +- if (mSelectedAccountName != null) { +- updateProfileData(mSelectedAccountName); +- } +- +- updateAccounts( +- AccountUtils.getAccountsIfFulfilledOrEmpty(mAccountManagerFacade.getAccounts())); +- +- if (mSigninView != null) mSigninView.startAnimations(); +- } +- + @Override + public void onPause() { + super.onPause(); diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java --- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java +++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/SyncPromoController.java @@ -4652,7 +4695,7 @@ diff --git a/components/password_manager/core/browser/leak_detection_delegate.cc diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc --- a/components/password_manager/core/browser/password_form_manager.cc +++ b/components/password_manager/core/browser/password_form_manager.cc -@@ -42,7 +42,6 @@ +@@ -43,7 +43,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" diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch index e81ea548..6c898bf4 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -28,7 +28,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java --- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java -@@ -450,8 +450,7 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. +@@ -473,8 +473,7 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. // Initialize // Note that isVoiceSearchEnabled will return false in incognito mode. @@ -38,7 +38,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ boolean shouldShowLensButton = mOmniboxStub.isLensEnabled(LensEntryPoint.TASKS_SURFACE); LensMetrics.recordShown(LensEntryPoint.TASKS_SURFACE, shouldShowLensButton); mPropertyModel.set(IS_LENS_BUTTON_VISIBLE, shouldShowLensButton); -@@ -1247,10 +1246,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. +@@ -1317,10 +1316,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. // incorrect state if check synchronously. ThreadUtils.postOnUiThread(() -> { if (mOmniboxStub != null) { @@ -131,15 +131,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSess diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java -@@ -55,7 +55,6 @@ import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver; - import org.chromium.chrome.browser.native_page.ContextMenuManager; +@@ -56,7 +56,6 @@ import org.chromium.chrome.browser.native_page.ContextMenuManager; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; + import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteControllerProvider; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileKey; -@@ -107,8 +106,7 @@ import java.util.List; +@@ -109,8 +108,7 @@ import java.util.List; */ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvider, TemplateUrlServiceObserver, @@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. private static final String TAG = "NewTabPage"; // Key for the scroll position data that may be stored in a navigation entry. -@@ -140,7 +138,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -142,7 +140,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide protected boolean mSearchProviderHasLogo; protected OmniboxStub mOmniboxStub; @@ -157,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. // The timestamp at which the constructor was called. protected final long mConstructedTimeNs; -@@ -219,8 +216,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -222,8 +219,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide @Override public boolean isVoiceSearchEnabled() { @@ -167,7 +167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -228,21 +224,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -231,21 +227,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide if (mIsDestroyed) return; FeedReliabilityLogger feedReliabilityLogger = mFeedSurfaceProvider.getReliabilityLogger(); @@ -189,7 +189,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -739,12 +720,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -744,12 +725,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -202,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -755,11 +730,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -760,11 +735,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide } } @@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. /** Adds an observer to be notified on most visited tile clicks. */ public void addMostVisitedTileClickObserver(MostVisitedTileClickObserver observer) { mMostVisitedTileClickObservers.addObserver(observer); -@@ -779,9 +749,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -784,9 +754,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide RecordUserAction.record("MobileNTPShown"); mJankTracker.startTrackingScenario(JankScenario.NEW_TAB_PAGE); SuggestionsMetrics.recordSurfaceVisible(); @@ -224,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } /** Records UMA for the NTP being hidden and the time spent on it. */ -@@ -790,7 +757,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -795,7 +762,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide RecordHistogram.recordMediumTimesHistogram("NewTabPage.TimeSpent", (System.nanoTime() - mLastShownTimeNs) / TimeUtils.NANOSECONDS_PER_MILLISECOND); SuggestionsMetrics.recordSurfaceHidden(); @@ -232,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } /** -@@ -889,9 +855,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -894,9 +860,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide } mFeedSurfaceProvider.destroy(); mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); @@ -285,11 +285,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/Sear @Override public void onFinishNativeInitialization() { +- Profile profile = Profile.getLastUsedRegularProfile(); - mAssistantVoiceSearchService = new AssistantVoiceSearchService(mContext, -- ExternalAuthUtils.getInstance(), TemplateUrlServiceFactory.get(), +- ExternalAuthUtils.getInstance(), TemplateUrlServiceFactory.getForProfile(profile), - GSAState.getInstance(), this, SharedPreferencesManager.getInstance(), -- IdentityServicesProvider.get().getIdentityManager( -- Profile.getLastUsedRegularProfile()), +- IdentityServicesProvider.get().getIdentityManager(profile), - AccountManagerFacadeProvider.getInstance()); - onAssistantVoiceSearchServiceChanged(); - } @@ -339,7 +339,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; -@@ -355,14 +354,12 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -356,14 +355,12 @@ public class SearchActivity extends AsyncInitializationActivity // will navigate to Tabbed mode. Investigate whether this can inflate // the tabbed mode layout in the background instead of CCTs. CustomTabsConnection.getInstance().warmup(0); @@ -355,7 +355,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se RecordUserAction.record("SearchWidget.WidgetSelected"); getActivityDelegate().onFinishDeferredInitialization(); -@@ -433,8 +430,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -434,8 +431,7 @@ public class SearchActivity extends AsyncInitializationActivity if (isFromQuickActionSearchWidget()) { recordQuickActionSearchType(searchType); } @@ -482,7 +482,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; -@@ -2052,11 +2051,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -2045,11 +2044,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve return mLocationBar.getOmniboxStub(); } @@ -524,7 +524,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mToolbarManager.destroy(); mToolbarManager = null; } -@@ -1066,19 +1060,11 @@ public class RootUiCoordinator +@@ -1069,19 +1063,11 @@ public class RootUiCoordinator new VoiceToolbarButtonController.VoiceSearchDelegate() { @Override public boolean isVoiceSearchEnabled() { @@ -545,7 +545,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi } }; VoiceToolbarButtonController voiceToolbarButtonController = -@@ -1127,13 +1113,6 @@ public class RootUiCoordinator +@@ -1130,13 +1116,6 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } @@ -562,7 +562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -127,11 +127,6 @@ android_library("java") { +@@ -129,11 +129,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", @@ -600,7 +600,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java -@@ -40,7 +40,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate; +@@ -41,7 +41,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownEmbedder; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; @@ -608,7 +608,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -@@ -372,13 +371,6 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver, +@@ -381,13 +380,6 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver, return mLocationBarLayout.getSecurityIconView(); } @@ -622,7 +622,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Nullable @Override public OmniboxStub getOmniboxStub() { -@@ -663,11 +655,6 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver, +@@ -672,11 +664,6 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver, // End tablet-specific methods. @@ -697,21 +697,21 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -322,13 +307,6 @@ class LocationBarMediator - if (templateUrlService != null) { +@@ -321,13 +306,6 @@ class LocationBarMediator + mOmniboxPrerender = new OmniboxPrerender(); + mTemplateUrlServiceSupplier.onAvailable((templateUrlService) -> { templateUrlService.addObserver(this); - } -- mAssistantVoiceSearchServiceSupplier.set(new AssistantVoiceSearchService(mContext, -- ExternalAuthUtils.getInstance(), templateUrlService, GSAState.getInstance(), this, -- SharedPreferencesManager.getInstance(), -- IdentityServicesProvider.get().getIdentityManager( -- Profile.getLastUsedRegularProfile()), -- AccountManagerFacadeProvider.getInstance())); -- onAssistantVoiceSearchServiceChanged(); +- mAssistantVoiceSearchServiceSupplier.set(new AssistantVoiceSearchService(mContext, +- ExternalAuthUtils.getInstance(), templateUrlService, GSAState.getInstance(), +- LocationBarMediator.this, SharedPreferencesManager.getInstance(), +- IdentityServicesProvider.get().getIdentityManager( +- Profile.getLastUsedRegularProfile()), +- AccountManagerFacadeProvider.getInstance())); +- onAssistantVoiceSearchServiceChanged(); + }); + mLocationBarLayout.onFinishNativeInitialization(); - setProfile(mProfileSupplier.get()); - onPrimaryColorChanged(); -@@ -377,17 +355,6 @@ class LocationBarMediator +@@ -378,17 +356,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -729,7 +729,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -396,11 +363,6 @@ class LocationBarMediator +@@ -397,11 +364,6 @@ class LocationBarMediator sLastCachedIsLensOnOmniboxEnabled = null; } @@ -741,7 +741,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setIsUrlBarFocusedWithoutAnimationsForTesting( boolean isUrlBarFocusedWithoutAnimations) { mUrlFocusedWithoutAnimations = isUrlBarFocusedWithoutAnimations; -@@ -600,8 +562,6 @@ class LocationBarMediator +@@ -601,8 +563,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(false, false); RecordUserAction.record("MobileOmniboxVoiceSearch"); @@ -750,7 +750,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** package */ void lensButtonClicked(View view) { -@@ -947,28 +907,6 @@ class LocationBarMediator +@@ -948,28 +908,6 @@ class LocationBarMediator } } @@ -779,7 +779,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** * Update visuals to use a correct color scheme depending on the primary color. */ -@@ -1055,8 +993,7 @@ class LocationBarMediator +@@ -1056,8 +994,7 @@ class LocationBarMediator private boolean shouldShowMicButton() { if (shouldShowDeleteButton()) return false; @@ -789,7 +789,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1251,9 +1188,6 @@ class LocationBarMediator +@@ -1252,9 +1189,6 @@ class LocationBarMediator public void onPrimaryColorChanged() { // This method needs to be called first as it computes |mBrandedColorScheme|. updateBrandedColorScheme(); @@ -799,7 +799,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } @Override -@@ -1325,16 +1259,6 @@ class LocationBarMediator +@@ -1326,16 +1260,6 @@ class LocationBarMediator } } @@ -816,7 +816,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1350,37 +1274,10 @@ class LocationBarMediator +@@ -1351,37 +1275,10 @@ class LocationBarMediator return mUrlHasFocus; } @@ -854,7 +854,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public void setSearchQuery(String query) { if (TextUtils.isEmpty(query)) return; -@@ -1399,17 +1296,14 @@ class LocationBarMediator +@@ -1400,17 +1297,14 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -908,7 +908,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.omnibox.AutocompleteMatch; -@@ -249,24 +248,6 @@ public class AutocompleteController { +@@ -258,24 +257,6 @@ public class AutocompleteController { completedLength, webContents); } @@ -933,15 +933,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** * Updates aqs parameters on the selected match that we will navigate to and returns the * updated URL. -@@ -371,8 +352,6 @@ public class AutocompleteController { +@@ -367,8 +348,6 @@ public class AutocompleteController { long nativeAutocompleteControllerAndroid, int matchIndex, long elapsedTimeSinceInputChange, String newQueryText, String[] newQueryParams); Tab getMatchingTabForSuggestion(long nativeAutocompleteControllerAndroid, int matchIndex); - void setVoiceMatches(long nativeAutocompleteControllerAndroid, String[] matches, - float[] confidenceScores); - /** - * Sends a zero suggest request to the server in order to pre-populate the result cache. + // Destroy supplied instance of the AutocompleteControllerAndroid. + // The instance cannot be used after this call completes. diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java @@ -953,7 +953,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -304,13 +303,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC +@@ -306,13 +305,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC mMediator.onNativeInitialized(); } @@ -978,7 +978,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -401,14 +400,6 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, +@@ -404,14 +403,6 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, mShouldPreventOmniboxAutocomplete = prevent; }