From 346803465366bbea81663bb8fa04be0bf168d3d4 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Fri, 14 Jul 2023 11:15:59 +0200 Subject: [PATCH] v115 to be checked --- .../00Add-setting-to-clear-data-on-exit.patch | 43 ++- ...ORS-Preflight-Cache-on-clearing-data.patch | 24 +- ...e-privacy-issues-in-password-manager.patch | 70 +++- ...sallowing-MIDI-permission-by-default.patch | 11 +- build/patches/00Internal-firewall.patch | 26 +- .../00Partition-HSTS-cache-by-NAK.patch | 36 +- ...Enable-MojoDirectSharedMemoryAndroid.patch | 12 +- build/patches/00v113-temp-fix-build.patch | 2 +- .../Add-AllowUserCertificates-flag.patch | 32 +- .../Add-an-always-incognito-mode.patch | 114 +++--- .../Add-bookmark-import-export-actions.patch | 167 +++++---- .../Content-settings-infrastructure.patch | 136 +++---- .../Disable-FLoC-and-privacy-sandbox.patch | 26 +- .../patches/Disable-all-predictors-code.patch | 64 ++-- .../Disable-conversion-measurement-api.patch | 116 +++--- ...media-router-and-remoting-by-default.patch | 64 +--- build/patches/Disable-safety-check.patch | 42 +-- ...ble-support-for-RAR-files-inspection.patch | 61 +-- .../Enable-Certificate-Transparency.patch | 26 +- .../Move-navigation-bar-to-bottom.patch | 262 +++++++------ .../Multiple-fingerprinting-mitigations.patch | 50 +-- build/patches/Remove-SMS-integration.patch | 17 +- .../Remove-binary-blob-integrations.patch | 253 ++++++------- ...Remove-voice-recognition-integration.patch | 349 ++++-------------- build/patches/Viewport-Protection-flag.patch | 66 ++-- ...ed-chromium-no-special-hosts-domains.patch | 57 +-- 26 files changed, 894 insertions(+), 1232 deletions(-) diff --git a/build/patches/00Add-setting-to-clear-data-on-exit.patch b/build/patches/00Add-setting-to-clear-data-on-exit.patch index da1e16a9..de514b65 100644 --- a/build/patches/00Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/00Add-setting-to-clear-data-on-exit.patch @@ -31,7 +31,7 @@ Subject: Add setting to clear data on exit 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 -@@ -291,6 +291,7 @@ chrome_java_sources = [ +@@ -292,6 +292,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java", @@ -42,7 +42,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java 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 -@@ -137,6 +137,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager; +@@ -138,6 +138,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.quick_delete.QuickDeleteController; import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl; import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate; @@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler; import org.chromium.chrome.browser.read_later.ReadingListUtils; import org.chromium.chrome.browser.reengagement.ReengagementNotificationController; -@@ -1294,7 +1295,11 @@ public class ChromeTabbedActivity extends ChromeActivity Clear browsing data @@ -238,7 +238,7 @@ diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chro diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc --- a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc +++ b/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.cc -@@ -286,8 +286,26 @@ void ChromeBrowsingDataLifetimeManager::Shutdown() { +@@ -326,8 +326,25 @@ void ChromeBrowsingDataLifetimeManager::Shutdown() { void ChromeBrowsingDataLifetimeManager::ClearBrowsingDataForOnExitPolicy( bool keep_browser_alive) { @@ -263,10 +263,17 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager. + data_types.Append(browsing_data::policy_data_types::kHostedAppData); + if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteSiteSettingsAtStart)) + data_types.Append(browsing_data::policy_data_types::kSiteSettings); -+ - if (!data_types.empty() && !SyncServiceFactory::IsSyncAllowed(profile_)) { - profile_->GetPrefs()->SetBoolean( - browsing_data::prefs::kClearBrowsingDataOnExitDeletionPending, true); + + if (IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref( + profile_, browsing_data::prefs::kClearBrowsingDataOnExitList))) { +@@ -426,6 +443,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() { + bool ChromeBrowsingDataLifetimeManager:: + IsConditionSatisfiedForBrowsingDataRemoval( + const syncer::UserSelectableTypeSet sync_types) { ++ if ((true)) return true; + bool sync_disabled = !SyncServiceFactory::IsSyncAllowed(profile_); + // Return the state of sync if + // `features::kDataRetentionPoliciesDisableSyncTypesNeeded` is disabled or if 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 @@ -317,7 +324,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -499,6 +499,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -497,6 +497,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::PREF_TYPE_NUMBER; @@ -374,7 +381,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1442,6 +1442,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, +@@ -1444,6 +1444,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, } } @@ -409,7 +416,7 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html --- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html +++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html -@@ -282,6 +282,50 @@ +@@ -285,6 +285,50 @@ disabled="[[clearingInProgress_]]" no-set-pref> @@ -463,7 +470,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts --- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts +++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts -@@ -201,6 +201,7 @@ export class SettingsClearBrowsingDataDialogElement extends +@@ -202,6 +202,7 @@ export class SettingsClearBrowsingDataDialogElement extends value: () => [loadTimeData.getString('basicPageTitle'), loadTimeData.getString('advancedPageTitle'), @@ -474,7 +481,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1540,6 +1540,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1547,6 +1547,9 @@ Your Google account may have other forms of browsing history like searches and a Basic @@ -487,7 +494,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1752,6 +1752,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1716,6 +1716,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, @@ -554,7 +561,7 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc --- a/components/browsing_data/core/pref_names.cc +++ b/components/browsing_data/core/pref_names.cc -@@ -28,6 +28,16 @@ const char kClearBrowsingDataOnExitDeletionPending[] = +@@ -26,6 +26,16 @@ const char kClearBrowsingDataOnExitDeletionPending[] = // delete just before browser shutdown. const char kClearBrowsingDataOnExitList[] = "browser.clear_data.clear_on_exit"; @@ -571,7 +578,7 @@ diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_d // Clear browsing data deletion time period. const char kDeleteTimePeriod[] = "browser.clear_data.time_period"; const char kDeleteTimePeriodBasic[] = "browser.clear_data.time_period_basic"; -@@ -89,6 +99,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -85,6 +95,23 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterIntegerPref( kClearBrowsingDataHistoryNoticeShownTimes, 0); diff --git a/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch b/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch index 3f9acb6e..f06d6446 100644 --- a/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -14,7 +14,7 @@ Subject: Clear CORS Preflight Cache on clearing data diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/preflight_cache.cc --- a/services/network/cors/preflight_cache.cc +++ b/services/network/cors/preflight_cache.cc -@@ -151,6 +151,10 @@ void PreflightCache::MayPurgeForTesting(size_t max_entries, size_t purge_unit) { +@@ -201,6 +201,10 @@ void PreflightCache::MayPurgeForTesting(size_t max_entries, size_t purge_unit) { MayPurge(max_entries, purge_unit); } @@ -23,13 +23,13 @@ diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/pr +} + void PreflightCache::MayPurge(size_t max_entries, size_t purge_unit) { - if (cache_.size() <= max_entries) + if (cache_.size() <= max_entries) { return; diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/preflight_cache.h --- a/services/network/cors/preflight_cache.h +++ b/services/network/cors/preflight_cache.h -@@ -69,6 +69,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightCache final { - // for testing. +@@ -78,6 +78,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightCache final { + // `max_entries` for testing. void MayPurgeForTesting(size_t max_entries, size_t purge_unit); + void ClearAll(); @@ -40,8 +40,8 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc --- a/services/network/cors/preflight_controller.cc +++ b/services/network/cors/preflight_controller.cc -@@ -677,6 +677,10 @@ void PreflightController::PerformPreflightCheck( - (*emplaced_pair.first)->Request(loader_factory); +@@ -674,6 +674,10 @@ void PreflightController::ClearCorsPreflightCache( + cache_.ClearCache(std::move(url_filter)); } +void PreflightController::ClearCache() { @@ -54,15 +54,15 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h --- a/services/network/cors/preflight_controller.h +++ b/services/network/cors/preflight_controller.h -@@ -138,6 +138,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final { +@@ -139,6 +139,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final { const net::NetLogWithSource& net_log, bool acam_preflight_spec_conformant); -+ void ClearCache(); ++ void ClearCache(); + - private: - class PreflightLoader; - + // Clears the CORS preflight cache. The time range is always "all time" as + // the preflight cache max age is capped to 2hrs. in Chrome. + // It clears origins selectively when the url filter is not null, otherwise diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/preflight_result.cc --- a/services/network/cors/preflight_result.cc +++ b/services/network/cors/preflight_result.cc @@ -78,7 +78,7 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1038,6 +1038,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1041,6 +1041,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time, base::BindOnce(&NetworkContext::OnHttpCacheCleared, base::Unretained(this), std::move(callback)))); diff --git a/build/patches/00Disable-privacy-issues-in-password-manager.patch b/build/patches/00Disable-privacy-issues-in-password-manager.patch index a4480a10..af1ece41 100644 --- a/build/patches/00Disable-privacy-issues-in-password-manager.patch +++ b/build/patches/00Disable-privacy-issues-in-password-manager.patch @@ -4,31 +4,47 @@ Subject: Disable privacy issues in password manager --- chrome/android/java/AndroidManifest.xml | 9 -------- + .../generated_password_leak_detection_pref.cc | 3 +-- .../affiliation/affiliation_backend.cc | 1 + .../affiliation/affiliation_service_impl.cc | 4 ++++ .../core/browser/affiliation/facet_manager.cc | 23 +++---------------- + .../leak_detection_check_factory_impl.cc | 5 ++++ + .../leak_detection_check_impl.cc | 4 +--- .../core/common/password_manager_features.cc | 4 ++-- - 5 files changed, 10 insertions(+), 31 deletions(-) + 8 files changed, 17 insertions(+), 36 deletions(-) diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml -@@ -467,15 +467,6 @@ by a child template that "extends" this file. +@@ -468,15 +468,6 @@ by a child template that "extends" this file. - -- - - - -- +- - +diff --git a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc +--- a/chrome/browser/password_manager/generated_password_leak_detection_pref.cc ++++ b/chrome/browser/password_manager/generated_password_leak_detection_pref.cc +@@ -20,8 +20,7 @@ namespace { + + // Returns whether the user can use the leak detection feature. + bool IsUserAllowedToUseLeakDetection(Profile* profile) { +- return !profile->IsGuestSession() && +- IdentityManagerFactory::GetForProfileIfExists(profile); ++ return false; + } + + // Returns whether the effective value of the Safe Browsing preferences for diff --git a/components/password_manager/core/browser/affiliation/affiliation_backend.cc b/components/password_manager/core/browser/affiliation/affiliation_backend.cc --- a/components/password_manager/core/browser/affiliation/affiliation_backend.cc +++ b/components/password_manager/core/browser/affiliation/affiliation_backend.cc @@ -94,26 +110,48 @@ diff --git a/components/password_manager/core/browser/affiliation/facet_manager. } // static +diff --git a/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc b/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc +--- a/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc ++++ b/components/password_manager/core/browser/leak_detection/leak_detection_check_factory_impl.cc +@@ -46,6 +46,11 @@ LeakDetectionCheckFactoryImpl::TryCreateLeakCheck( + version_info::Channel channel) const { + CHECK(identity_manager); + ++ if ((true)) { ++ delegate->OnError(LeakDetectionError::kNotSignIn); ++ return nullptr; ++ } ++ + return std::make_unique( + delegate, identity_manager, std::move(url_loader_factory), + GetAPIKey(LeakDetectionCheckImpl::HasAccountForRequest(identity_manager), +diff --git a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc +--- a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc ++++ b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc +@@ -190,9 +190,7 @@ bool LeakDetectionCheckImpl::HasAccountForRequest( + // always return something if the user is signed in. + // On Android it will be empty if the user isn't syncing. Thus, + // GetAccountsWithRefreshTokens() check is necessary. +- return identity_manager && +- (identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSignin) || +- !identity_manager->GetAccountsWithRefreshTokens().empty()); ++ return false; + } + + void LeakDetectionCheckImpl::Start(LeakDetectionInitiator initiator, diff --git a/components/password_manager/core/common/password_manager_features.cc b/components/password_manager/core/common/password_manager_features.cc --- a/components/password_manager/core/common/password_manager_features.cc +++ b/components/password_manager/core/common/password_manager_features.cc -@@ -87,7 +87,7 @@ BASE_FEATURE(kFillingAcrossGroupedSites, +@@ -87,8 +87,8 @@ BASE_FEATURE(kFillingAcrossGroupedSites, + // Enables the experiment for the password manager to only fill on account // selection, rather than autofilling on page load, with highlighting of fields. BASE_FEATURE(kFillOnAccountSelect, - "fill-on-account-select", +- "fill-on-account-select", - base::FEATURE_DISABLED_BY_DEFAULT); -+ base::FEATURE_ENABLED_BY_DEFAULT); ++ "fill-on-account-select", // always enabled ++ base::FEATURE_ENABLED_BY_DEFAULT); // in bromite // Enables logging the content of chrome://password-manager-internals to the // terminal. -@@ -170,7 +170,7 @@ BASE_FEATURE(kSendPasswords, - // Enables password leak detection for unauthenticated users. - BASE_FEATURE(kLeakDetectionUnauthenticated, - "LeakDetectionUnauthenticated", -- base::FEATURE_ENABLED_BY_DEFAULT); -+ base::FEATURE_DISABLED_BY_DEFAULT); - - // Enables .well-known based password change flow from leaked password dialog. - BASE_FEATURE(kPasswordChangeWellKnown, -- 2.25.1 diff --git a/build/patches/00Disallowing-MIDI-permission-by-default.patch b/build/patches/00Disallowing-MIDI-permission-by-default.patch index 7131e00a..4e70d6e0 100644 --- a/build/patches/00Disallowing-MIDI-permission-by-default.patch +++ b/build/patches/00Disallowing-MIDI-permission-by-default.patch @@ -3,13 +3,13 @@ Date: Sat, 3 Jun 2023 13:11:22 +0000 Subject: Disallowing MIDI permission by default --- - services/audio/public/cpp/audio_features.cc | 2 +- + components/permissions/features.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/services/audio/public/cpp/audio_features.cc b/services/audio/public/cpp/audio_features.cc ---- a/services/audio/public/cpp/audio_features.cc -+++ b/services/audio/public/cpp/audio_features.cc -@@ -9,6 +9,6 @@ namespace features { +diff --git a/components/permissions/features.cc b/components/permissions/features.cc +--- a/components/permissions/features.cc ++++ b/components/permissions/features.cc +@@ -145,7 +145,7 @@ BASE_FEATURE(kWindowManagementPermissionAlias, // Enables disallowing MIDI permission by default. BASE_FEATURE(kBlockMidiByDefault, "BlockMidiByDefault", @@ -17,5 +17,6 @@ diff --git a/services/audio/public/cpp/audio_features.cc b/services/audio/public + base::FEATURE_ENABLED_BY_DEFAULT); } // namespace features + namespace feature_params { -- 2.25.1 diff --git a/build/patches/00Internal-firewall.patch b/build/patches/00Internal-firewall.patch index ee7a9373..f254f44d 100644 --- a/build/patches/00Internal-firewall.patch +++ b/build/patches/00Internal-firewall.patch @@ -53,7 +53,7 @@ in services/firewall/tools/rules.xml diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2418,6 +2418,7 @@ static_library("browser") { +@@ -2439,6 +2439,7 @@ static_library("browser") { "//third_party/ungoogled:switches", "//services/device/public/mojom", "//services/device/public/mojom:usb", @@ -72,7 +72,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #include "services/media_session/public/cpp/features.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/network_switches.h" -@@ -7856,6 +7857,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8090,6 +8091,11 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(page_info::kPageInfoHideSiteSettings)}, #endif // !BUILDFLAG(IS_ANDROID) @@ -222,7 +222,7 @@ diff --git a/components/webapps/browser/android/webapk/webapk_icon_hasher.cc b/c network::mojom::URLLoaderFactory* url_loader_factory, base::WeakPtr web_contents, @@ -145,7 +175,7 @@ WebApkIconHasher::WebApkIconHasher( - resource_request->url = icon_url; + resource_request->url = webapk_icon.url(); simple_url_loader_ = network::SimpleURLLoader::Create( std::move(resource_request), - TRAFFIC_ANNOTATION_WITHOUT_PROTO("webapk icon hasher")); @@ -1532,7 +1532,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont #include "services/network/brokered_client_socket_factory.h" #include "services/network/cookie_manager.h" #include "services/network/cors/cors_url_loader_factory.h" -@@ -1525,6 +1526,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { +@@ -1537,6 +1538,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { void NetworkContext::CreateUDPSocket( mojo::PendingReceiver receiver, mojo::PendingRemote listener) { @@ -1542,7 +1542,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener)); } -@@ -1537,6 +1541,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1549,6 +1553,17 @@ void NetworkContext::CreateRestrictedUDPSocket( mojo::PendingRemote listener, CreateRestrictedUDPSocketCallback callback) { // SimpleHostResolver is transitively owned by |this|. @@ -1560,7 +1560,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateRestrictedUDPSocket( addr, mode, traffic_annotation, std::move(params), std::move(receiver), std::move(listener), SimpleHostResolver::Create(this), -@@ -1549,6 +1564,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1561,6 +1576,17 @@ void NetworkContext::CreateTCPServerSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPServerSocketCallback callback) { @@ -1578,7 +1578,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPServerSocket( local_addr, std::move(options), static_cast(traffic_annotation), -@@ -1563,6 +1589,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1575,6 +1601,21 @@ void NetworkContext::CreateTCPConnectedSocket( mojo::PendingReceiver receiver, mojo::PendingRemote observer, CreateTCPConnectedSocketCallback callback) { @@ -1600,7 +1600,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPConnectedSocket( local_addr, remote_addr_list, std::move(tcp_connected_socket_options), static_cast(traffic_annotation), -@@ -1574,6 +1615,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1586,6 +1627,20 @@ void NetworkContext::CreateTCPBoundSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPBoundSocketCallback callback) { @@ -1621,7 +1621,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPBoundSocket( local_addr, static_cast(traffic_annotation), -@@ -1639,6 +1694,24 @@ void NetworkContext::CreateWebSocket( +@@ -1651,6 +1706,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const absl::optional& throttling_profile_id) { @@ -1649,7 +1649,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network/public/cpp/simple_url_loader.cc --- a/services/network/public/cpp/simple_url_loader.cc +++ b/services/network/public/cpp/simple_url_loader.cc -@@ -1244,6 +1244,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl( +@@ -1239,6 +1239,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl( timeout_timer_(timeout_tick_clock_) { // Allow creation and use on different threads. DETACH_FROM_SEQUENCE(sequence_checker_); @@ -1658,7 +1658,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network #if DCHECK_IS_ON() if (resource_request_->request_body) { for (const DataElement& element : -@@ -1679,6 +1681,22 @@ void SimpleURLLoaderImpl::StartRequest( +@@ -1658,6 +1660,22 @@ void SimpleURLLoaderImpl::StartRequest( resource_request_->request_body->AppendDataPipe( string_upload_data_pipe_getter_->GetRemoteForNewUpload()); } @@ -1692,7 +1692,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/ class GURL; -@@ -405,6 +406,8 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader { +@@ -395,6 +396,8 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader { protected: SimpleURLLoader(); @@ -1861,9 +1861,9 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa - case network::mojom::RequestDestination::kWebBundle: - case network::mojom::RequestDestination::kWorker: - case network::mojom::RequestDestination::kXslt: + case network::mojom::RequestDestination::kDictionary: return net::DefineNetworkTrafficAnnotation("blink_resource_loader", R"( semantics { - sender: "Blink Resource Loader" diff --git a/tools/traffic_annotation/scripts/auditor/auditor.py b/tools/traffic_annotation/scripts/auditor/auditor.py --- a/tools/traffic_annotation/scripts/auditor/auditor.py +++ b/tools/traffic_annotation/scripts/auditor/auditor.py diff --git a/build/patches/00Partition-HSTS-cache-by-NAK.patch b/build/patches/00Partition-HSTS-cache-by-NAK.patch index ee831315..2e137030 100644 --- a/build/patches/00Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/00Partition-HSTS-cache-by-NAK.patch @@ -32,7 +32,7 @@ diff --git a/chrome/browser/ssl/https_only_mode_upgrade_interceptor.cc b/chrome/ diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc --- a/chrome/browser/ssl/https_upgrades_interceptor.cc +++ b/chrome/browser/ssl/https_upgrades_interceptor.cc -@@ -306,6 +306,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader( +@@ -341,6 +341,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader( network::mojom::NetworkContext* network_context = profile->GetDefaultStoragePartition()->GetNetworkContext(); network_context->IsHSTSActiveForHost( @@ -43,7 +43,7 @@ diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/s diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc --- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc +++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc -@@ -315,7 +315,10 @@ void NetInternalsMessageHandler::OnDomainSecurityPolicyDelete( +@@ -299,7 +299,10 @@ void NetInternalsMessageHandler::OnDomainSecurityPolicyDelete( // There cannot be a unicode entry in the HSTS set. return; } @@ -54,7 +54,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/ *domain, base::BindOnce(&IgnoreBoolCallback)); } -@@ -325,7 +328,10 @@ void NetInternalsMessageHandler::OnHSTSQuery(const base::Value::List& list) { +@@ -309,7 +312,10 @@ void NetInternalsMessageHandler::OnHSTSQuery(const base::Value::List& list) { DCHECK(callback_id && domain); AllowJavascript(); @@ -65,7 +65,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/ *domain, base::BindOnce(&NetInternalsMessageHandler::ResolveCallbackWithResult, weak_factory_.GetWeakPtr(), *callback_id)); -@@ -351,7 +357,10 @@ void NetInternalsMessageHandler::OnHSTSAdd(const base::Value::List& list) { +@@ -335,7 +341,10 @@ void NetInternalsMessageHandler::OnHSTSAdd(const base::Value::List& list) { const bool sts_include_subdomains = list[1].GetBool(); base::Time expiry = base::Time::Now() + base::Days(1000); @@ -467,7 +467,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -1341,7 +1341,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1343,7 +1343,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { IsCertStatusError(server_cert_verify_result_.cert_status) && result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED && context_->transport_security_state()->ShouldSSLErrorsBeFatal( @@ -479,7 +479,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -391,20 +391,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -392,20 +392,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { context->set_transport_security_state( std::make_unique(hsts_policy_bypass_list_)); @@ -533,7 +533,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1786,17 +1786,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -1799,17 +1799,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( std::move(callback).Run(); } @@ -556,7 +556,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont IsHSTSActiveForHostCallback callback) { net::TransportSecurityState* security_state = url_request_context_->transport_security_state(); -@@ -1806,10 +1808,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -1819,10 +1821,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, return; } @@ -569,7 +569,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont GetHSTSStateCallback callback) { base::Value::Dict result; -@@ -1845,10 +1847,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -1858,10 +1860,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, net::TransportSecurityState::STSState dynamic_sts_state; net::TransportSecurityState::PKPState dynamic_pkp_state; bool found_sts_dynamic = transport_security_state->GetDynamicSTSState( @@ -582,7 +582,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont if (found_sts_dynamic) { result.Set("dynamic_upgrade_mode", static_cast(dynamic_sts_state.upgrade_mode)); -@@ -1884,6 +1886,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -1897,6 +1899,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, } void NetworkContext::DeleteDynamicDataForHost( @@ -590,7 +590,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont const std::string& host, DeleteDynamicDataForHostCallback callback) { net::TransportSecurityState* transport_security_state = -@@ -1894,7 +1897,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -1907,7 +1910,7 @@ void NetworkContext::DeleteDynamicDataForHost( } std::move(callback).Run( @@ -599,8 +599,8 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont } void NetworkContext::EnableStaticKeyPinningForTesting( -@@ -1935,7 +1938,7 @@ void NetworkContext::PreconnectSockets( - DCHECK(!require_network_isolation_key_ || +@@ -1948,7 +1951,7 @@ void NetworkContext::PreconnectSockets( + DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); - GURL url = GetHSTSRedirect(original_url); @@ -608,7 +608,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont // |PreconnectSockets| may receive arguments from the renderer, which is not // guaranteed to validate them. -@@ -2722,12 +2725,15 @@ void NetworkContext::OnConnectionError() { +@@ -2736,12 +2739,15 @@ void NetworkContext::OnConnectionError() { std::move(on_connection_close_callback_).Run(this); } @@ -628,7 +628,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -415,15 +415,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -418,15 +418,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const std::string& ocsp_result, const std::string& sct_list, VerifyCertForSignedExchangeCallback callback) override; @@ -649,7 +649,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& host, DeleteDynamicDataForHostCallback callback) override; void SetCorsOriginAccessListsForOrigin( -@@ -676,7 +678,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -679,7 +681,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingRemote cookie_observer, net::FirstPartySetMetadata first_party_set_metadata); @@ -662,7 +662,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1403,16 +1403,16 @@ interface NetworkContext { +@@ -1414,16 +1414,16 @@ interface NetworkContext { // Adds explicitly-specified data as if it was processed from an // HSTS header. Used by tests and implementation of chrome://net-internals. @@ -682,7 +682,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw => (mojo_base.mojom.DictionaryValue state); // Sets allowed and blocked origins respectively for the URLLoaderFactory -@@ -1431,7 +1431,7 @@ interface NetworkContext { +@@ -1442,7 +1442,7 @@ interface NetworkContext { // Deletes any dynamic data stored for |host| from the transport // security state. Returns true iff an entry was deleted. // See net::TransportSecurityState::DeleteDynamicDataForHost for more detail. diff --git a/build/patches/00TEMP-Enable-MojoDirectSharedMemoryAndroid.patch b/build/patches/00TEMP-Enable-MojoDirectSharedMemoryAndroid.patch index 68f9d6e0..c2d4b641 100644 --- a/build/patches/00TEMP-Enable-MojoDirectSharedMemoryAndroid.patch +++ b/build/patches/00TEMP-Enable-MojoDirectSharedMemoryAndroid.patch @@ -9,14 +9,14 @@ Subject: TEMP Enable MojoDirectSharedMemoryAndroid diff --git a/mojo/core/embedder/features.cc b/mojo/core/embedder/features.cc --- a/mojo/core/embedder/features.cc +++ b/mojo/core/embedder/features.cc -@@ -42,7 +42,7 @@ BASE_FEATURE(kMojoIpcz, "MojoIpcz", base::FEATURE_ENABLED_BY_DEFAULT); - #if BUILDFLAG(IS_ANDROID) - BASE_FEATURE(kMojoDirectSharedMemoryAndroid, - "MojoDirectSharedMemoryAndroid", +@@ -25,7 +25,7 @@ const base::FeatureParam kMojoLinuxChannelSharedMemEfdZeroOnWake{ + + BASE_FEATURE(kMojoPosixUseWritev, + "MojoPosixUseWritev", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); - #endif + #endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && + // !BUILDFLAG(MOJO_USE_APPLE_CHANNEL) - } // namespace core -- 2.25.1 diff --git a/build/patches/00v113-temp-fix-build.patch b/build/patches/00v113-temp-fix-build.patch index 631318a4..b219e35b 100644 --- a/build/patches/00v113-temp-fix-build.patch +++ b/build/patches/00v113-temp-fix-build.patch @@ -24,7 +24,7 @@ diff --git a/android_webview/system_webview_bundle.gni b/android_webview/system_ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -208,6 +208,7 @@ static_library("safe_browsing") { +@@ -210,6 +210,7 @@ static_library("safe_browsing") { "//components/version_info", "//content/public/browser", "//services/preferences/public/mojom:mojom", diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index 17bbf97f..695c1815 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.printing.PrintManagerDelegateImpl; import org.chromium.printing.PrintingController; import org.chromium.printing.PrintingControllerImpl; -@@ -971,6 +972,8 @@ public abstract class ChromeActivity +@@ -972,6 +973,8 @@ public abstract class ChromeActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(); ChromeCachedFlags.getInstance().cacheNativeFlags(); @@ -40,17 +40,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/Chrom --- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java @@ -70,6 +70,7 @@ public class ChromeCachedFlags { - // clang-format off - List featuresToCache = List.of(ChromeFeatureList.sAppMenuMobileSiteOption, - ChromeFeatureList.sBackGestureActivityTabProvider, + + List fieldTrialsToCache = List.of( + BrandingController.BRANDING_CADENCE_MS, + ChromeFeatureList.sAllowUserCertificates, - ChromeFeatureList.sBackGestureRefactorAndroid, - ChromeFeatureList.sBaselineGm3SurfaceColors, - ChromeFeatureList.sBottomSheetGtsSupport, + BrandingController.MAX_BLANK_TOOLBAR_TIMEOUT_MS, + BrandingController.USE_TEMPORARY_STORAGE, + BrandingController.ANIMATE_TOOLBAR_ICON_TRANSITION, ChimeFeatures.ALWAYS_REGISTER, 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 -@@ -8926,6 +8926,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9165,6 +9165,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid, FEATURE_VALUE_TYPE(features::kHttpsUpgrades)}, @@ -92,7 +92,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -151,6 +151,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -139,6 +139,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedBoCSigninInterstitial, &feed::kFeedUserInteractionReliabilityReport, &feed::kInterestFeedContentSuggestions, @@ -100,9 +100,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &feed::kInterestFeedV2, &feed::kInterestFeedV2Autoplay, &feed::kInterestFeedV2Hearts, -@@ -481,6 +482,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents, - "AllowNewIncognitoTabIntents", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -449,6 +450,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature, + "SearchReadyOmnibox", + base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kAllowUserCertificates, + "AllowUserCertificates", @@ -114,18 +114,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h --- a/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h -@@ -21,6 +21,7 @@ BASE_DECLARE_FEATURE(kAddEduAccountFromAccountSettingsForSupervisedUsers); +@@ -20,6 +20,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2); BASE_DECLARE_FEATURE(kAddToHomescreenIPH); BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents); BASE_DECLARE_FEATURE(kAndroidAppIntegration); +BASE_DECLARE_FEATURE(kAllowUserCertificates); - BASE_DECLARE_FEATURE(kAndroidScrollOptimizations); BASE_DECLARE_FEATURE(kAndroidWidgetFullscreenToast); BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification); + BASE_DECLARE_FEATURE(kAndroidImprovedBookmarks); diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -162,6 +162,7 @@ public abstract class ChromeFeatureList { +@@ -98,6 +98,7 @@ public abstract class ChromeFeatureList { } /* Alphabetical: */ @@ -133,7 +133,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar"; public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE = "AdaptiveButtonInTopToolbarTranslate"; -@@ -566,6 +567,8 @@ public abstract class ChromeFeatureList { +@@ -483,6 +484,8 @@ public abstract class ChromeFeatureList { public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting"; /* Alphabetical: */ diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index ed5efe40..514dabfb 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/ui/android/native_page/BUILD.gn | 2 + .../browser/ui/native_page/NativePage.java | 16 +- .../strings/android_chrome_strings.grd | 31 ++++ - .../browser/toolbar/LocationBarModel.java | 7 +- + .../browser/toolbar/LocationBarModel.java | 5 +- chrome/browser/ui/messages/android/BUILD.gn | 1 + .../snackbar/INeedSnackbarManager.java | 27 +++ chrome/common/pref_names.cc | 6 + @@ -84,7 +84,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../omnibox/browser/base_search_provider.cc | 2 +- components/omnibox/browser/search_provider.cc | 4 +- .../host_content_settings_map_factory.cc | 1 + - 65 files changed, 739 insertions(+), 91 deletions(-) + 65 files changed, 738 insertions(+), 90 deletions(-) create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java @@ -93,7 +93,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -658,6 +658,7 @@ chrome_java_resources = [ +@@ -661,6 +661,7 @@ chrome_java_resources = [ "java/res/xml/main_preferences.xml", "java/res/xml/manage_sync_preferences.xml", "java/res/xml/phone_as_a_security_key_accessory_filter.xml", @@ -112,7 +112,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java", "java/src/org/chromium/chrome/browser/ActivityTabProvider.java", "java/src/org/chromium/chrome/browser/ActivityUtils.java", -@@ -950,6 +951,7 @@ chrome_java_sources = [ +@@ -953,6 +954,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java", "java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java", "java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java", @@ -249,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout; -@@ -559,9 +563,14 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -1880,6 +1881,9 @@ public abstract class ChromeActivity throw new IllegalStateException( "Attempting to access TabCreator before initialization"); } @@ -448,7 +448,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder; -@@ -174,6 +175,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -178,6 +179,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat downloadItemVisible = false; openInChromeItemVisible = false; } @@ -553,7 +553,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History mSelectableListLayout = null; mRootView = getIncognitoHistoryPlaceholderView(); return; -@@ -590,7 +597,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -597,7 +604,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve private void swapContentView() { boolean toHistoryClusters; @@ -562,7 +562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History return; } else if (isHistoryClustersUIShowing()) { toHistoryClusters = false; -@@ -653,11 +660,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -660,11 +667,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve && mContentView == mHistoryClustersCoordinator.getActivityContentView(); } @@ -588,7 +588,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History // If Incognito placeholder is shown no need to call any destroy method. return; } -@@ -677,7 +697,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -684,7 +704,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve * @return True if manager handles this event, false if it decides to ignore. */ public boolean onBackPressed() { @@ -640,7 +640,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java -@@ -13,6 +13,7 @@ import androidx.annotation.VisibleForTesting; +@@ -14,6 +14,7 @@ import androidx.annotation.VisibleForTesting; import org.chromium.base.supplier.DestroyableObservableSupplier; import org.chromium.base.supplier.Supplier; @@ -648,7 +648,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage; -@@ -218,7 +219,8 @@ public class NativePageFactory { +@@ -216,7 +217,8 @@ public class NativePageFactory { String url, NativePage candidatePage, Tab tab, boolean isIncognito) { NativePage page; @@ -878,7 +878,7 @@ new file mode 100644 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 -@@ -66,6 +66,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl; +@@ -68,6 +68,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl; import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings; import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate; @@ -886,7 +886,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.components.browser_ui.accessibility.AccessibilitySettings; -@@ -310,6 +311,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -317,6 +318,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity ((PrivacySandboxSettingsBaseFragment) fragment) .setSnackbarManager(getSnackbarManager()); } @@ -1008,7 +1008,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -123,6 +123,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto +@@ -124,6 +124,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto import org.chromium.content_public.browser.WebContents; import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.DeviceFormFactor; @@ -1017,7 +1017,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.ui.base.IntentRequestTracker; import org.chromium.ui.modaldialog.ModalDialogManager; -@@ -777,7 +779,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -781,7 +783,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mAppMenuCoordinator.getAppMenuHandler(), mActivityTabProvider, mToolbarManager.getMenuButtonView(), () -> { mTabCreatorManagerSupplier.get() @@ -1163,7 +1163,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI 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 -@@ -4856,6 +4856,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5085,6 +5085,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kOfflinePagesLivePageSharingName, flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid, FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)}, @@ -1237,7 +1237,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -332,6 +332,13 @@ ChromeAutocompleteProviderClient::GetAutocompleteScoringModelService() const { +@@ -350,6 +350,13 @@ ChromeAutocompleteProviderClient::GetOnDeviceTailModelService() const { #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) } @@ -1254,9 +1254,9 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h -@@ -83,6 +83,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient { - AutocompleteScoringModelService* GetAutocompleteScoringModelService() +@@ -86,6 +86,7 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient { const override; + OnDeviceTailModelService* GetOnDeviceTailModelService() const override; bool IsOffTheRecord() const override; + bool IsAlwaysIncognitoEnabled() const override; bool IsIncognitoProfile() const override; @@ -1273,7 +1273,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c #include "components/content_settings/core/browser/content_settings_pref_provider.h" #include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/permissions/features.h" -@@ -114,9 +115,23 @@ scoped_refptr +@@ -119,9 +120,23 @@ scoped_refptr should_record_metrics && ash::ProfileHelper::IsUserProfile(profile); #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -1298,7 +1298,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c /*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(), should_record_metrics)); -@@ -126,6 +141,9 @@ scoped_refptr +@@ -131,6 +146,9 @@ scoped_refptr HostContentSettingsMap::WEBUI_ALLOWLIST_PROVIDER, std::move(allowlist_provider)); @@ -1311,7 +1311,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -4022,6 +4022,12 @@ const char kOfflinePagesLivePageSharingDescription[] = +@@ -3994,6 +3994,12 @@ const char kOfflinePagesLivePageSharingDescription[] = "Enables to share current loaded page as offline page by saving as MHTML " "first."; @@ -1327,7 +1327,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -2341,6 +2341,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[]; +@@ -2330,6 +2330,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[]; extern const char kOmahaMinSdkVersionAndroidMinSdk1Description[]; extern const char kOmahaMinSdkVersionAndroidMinSdk1000Description[]; @@ -1340,7 +1340,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -591,8 +591,8 @@ BASE_FEATURE(kCCTFeatureUsage, +@@ -535,8 +535,8 @@ BASE_FEATURE(kCCTFeatureUsage, BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kCCTIncognitoAvailableToThirdParty, @@ -1396,7 +1396,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h --- a/chrome/browser/history/history_tab_helper.h +++ b/chrome/browser/history/history_tab_helper.h -@@ -13,6 +13,8 @@ +@@ -14,6 +14,8 @@ #include "content/public/browser/web_contents_observer.h" #include "content/public/browser/web_contents_user_data.h" #include "third_party/abseil-cpp/absl/types/optional.h" @@ -1405,7 +1405,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor namespace history { struct HistoryAddPageArgs; -@@ -52,6 +54,11 @@ class HistoryTabHelper +@@ -53,6 +55,11 @@ class HistoryTabHelper force_eligible_tab_for_testing_ = force; } @@ -1417,7 +1417,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor private: explicit HistoryTabHelper(content::WebContents* web_contents); friend class content::WebContentsUserData; -@@ -84,9 +91,6 @@ class HistoryTabHelper +@@ -85,9 +92,6 @@ class HistoryTabHelper void OnLanguageDetermined( const translate::LanguageDetectionDetails& details) override; @@ -1638,7 +1638,7 @@ diff --git a/chrome/browser/offline_pages/recent_tab_helper.cc b/chrome/browser/ diff --git a/chrome/browser/offline_pages/recent_tab_helper.h b/chrome/browser/offline_pages/recent_tab_helper.h --- a/chrome/browser/offline_pages/recent_tab_helper.h +++ b/chrome/browser/offline_pages/recent_tab_helper.h -@@ -145,6 +145,9 @@ class RecentTabHelper +@@ -146,6 +146,9 @@ class RecentTabHelper // Not page-specific. bool snapshots_enabled_ = false; @@ -1680,10 +1680,10 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" #include "chrome/browser/android/explore_sites/history_statistics_reporter.h" #include "chrome/browser/android/ntp/recent_tabs_page_prefs.h" -@@ -1528,6 +1529,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1598,6 +1599,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry); - video_tutorials::RegisterPrefs(registry); + webapps::InstallPromptPrefs::RegisterLocalPrefs(registry); + // register incognito pref + registry->RegisterBooleanPref(prefs::kAlwaysIncognitoEnabled, + /*default_value=*/false); @@ -1716,7 +1716,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ /** * An interface for pages that will be using Android views instead of html/rendered Web content. */ -@@ -128,12 +130,12 @@ public interface NativePage { +@@ -120,12 +122,12 @@ public interface NativePage { */ @Deprecated // Use GURL-variant instead. static boolean isNativePageUrl(String url, boolean isIncognito) { @@ -1731,7 +1731,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ != NativePageType.NONE; } -@@ -145,11 +147,12 @@ public interface NativePage { +@@ -137,11 +139,12 @@ public interface NativePage { */ // TODO(crbug/783819) - Convert to using GURL. static @NativePageType int nativePageType( @@ -1746,7 +1746,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ } /** -@@ -158,7 +161,7 @@ public interface NativePage { +@@ -150,7 +153,7 @@ public interface NativePage { * @return Type of the native page defined in {@link NativePageType}. */ private static @NativePageType int nativePageType( @@ -1755,7 +1755,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme) && !UrlConstants.CHROME_SCHEME.equals(scheme)) { return NativePageType.NONE; -@@ -176,7 +179,8 @@ public interface NativePage { +@@ -168,7 +171,8 @@ public interface NativePage { return NativePageType.DOWNLOADS; } else if (UrlConstants.HISTORY_HOST.equals(host)) { return NativePageType.HISTORY; @@ -1768,7 +1768,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1339,6 +1339,37 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1349,6 +1349,37 @@ Your Google account may have other forms of browsing history like searches and a Clears history from all synced devices. @@ -1809,7 +1809,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java -@@ -180,6 +180,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro +@@ -179,6 +179,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro protected String mFormattedFullUrl; protected String mUrlForDisplay; private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled; @@ -1817,33 +1817,17 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow // notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same // document navigation. The first call is usually necessary, which updates the UrlBar to reflect -@@ -205,7 +206,8 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro +@@ -204,7 +205,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro public LocationBarModel(Context context, NewTabPageDelegate newTabPageDelegate, @NonNull UrlFormatter urlFormatter, @NonNull ProfileProvider profileProvider, @NonNull OfflineStatus offlineStatus, - @NonNull SearchEngineLogoUtils searchEngineLogoUtils) { + @NonNull SearchEngineLogoUtils searchEngineLogoUtils, + boolean isAlwaysIncognito) { ++ mIsAlwaysIncognito = isAlwaysIncognito; // (uazo) to do, check mContext = context; mNtpDelegate = newTabPageDelegate; mUrlFormatter = urlFormatter; -@@ -213,6 +215,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro - mOfflineStatus = offlineStatus; - mPrimaryColor = ChromeColors.getDefaultThemeColor(context, false); - mSearchEngineLogoUtils = searchEngineLogoUtils; -+ mIsAlwaysIncognito = isAlwaysIncognito; - } - - /** -@@ -220,7 +223,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro - */ - public void initializeWithNative() { - mOptimizationsEnabled = -- ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS); -+ ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS) && !mIsAlwaysIncognito; - mOmniboxUpdatedConnectionSecurityIndicatorsEnabled = ChromeFeatureList.isEnabled( - ChromeFeatureList.OMNIBOX_UPDATED_CONNECTION_SECURITY_INDICATORS); - mLastUsedNonOTRProfile = Profile.getLastUsedRegularProfile(); diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn --- a/chrome/browser/ui/messages/android/BUILD.gn +++ b/chrome/browser/ui/messages/android/BUILD.gn @@ -1890,7 +1874,7 @@ new file mode 100644 diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc -@@ -3412,6 +3412,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch"; +@@ -3436,6 +3436,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch"; const char kLacrosSelection[] = "lacros_selection"; #endif @@ -1906,7 +1890,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -1213,6 +1213,8 @@ extern const char kDiscountConsentShowInterestIn[]; +@@ -1212,6 +1212,8 @@ extern const char kDiscountConsentShowInterestIn[]; #if BUILDFLAG(IS_ANDROID) extern const char kWebXRImmersiveArEnabled[]; @@ -1929,7 +1913,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc --- a/components/content_settings/core/browser/content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc -@@ -116,10 +116,12 @@ void PrefProvider::RegisterProfilePrefs( +@@ -117,10 +117,12 @@ void PrefProvider::RegisterProfilePrefs( PrefProvider::PrefProvider(PrefService* prefs, bool off_the_record, @@ -1942,7 +1926,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov store_last_modified_(store_last_modified), clock_(base::DefaultClock::GetInstance()) { TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider"); -@@ -142,10 +144,14 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -143,10 +145,14 @@ PrefProvider::PrefProvider(PrefService* prefs, WebsiteSettingsRegistry* website_settings = WebsiteSettingsRegistry::GetInstance(); for (const WebsiteSettingsInfo* info : *website_settings) { @@ -2063,7 +2047,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h --- a/components/omnibox/browser/autocomplete_provider_client.h +++ b/components/omnibox/browser/autocomplete_provider_client.h -@@ -136,6 +136,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client { +@@ -139,6 +139,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client { virtual bool IsOffTheRecord() const = 0; virtual bool IsIncognitoProfile() const = 0; virtual bool IsGuestSession() const = 0; @@ -2074,7 +2058,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc --- a/components/omnibox/browser/base_search_provider.cc +++ b/components/omnibox/browser/base_search_provider.cc -@@ -311,7 +311,7 @@ bool BaseSearchProvider::CanSendZeroSuggestRequest( +@@ -346,7 +346,7 @@ bool BaseSearchProvider::CanSendZeroSuggestRequest( } // Don't make a suggest request if in incognito mode. diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 6119c5c7..66601f08 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -89,15 +89,15 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu.xml b/chrome/and diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java -@@ -7,6 +7,7 @@ package org.chromium.chrome.browser; - import android.app.Activity; +@@ -9,6 +9,7 @@ import android.app.Activity; + import androidx.annotation.Nullable; import org.chromium.base.supplier.Supplier; +import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.compositor.CompositorViewHolder; -@@ -46,7 +47,7 @@ import java.util.function.BooleanSupplier; +@@ -47,7 +48,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; * {@link ChromeTabbedActivity}. */ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { @@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java -@@ -20,6 +20,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +@@ -21,6 +21,11 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.components.bookmarks.BookmarkId; import org.chromium.components.embedder_support.util.UrlConstants; @@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B /** * The activity that displays the bookmark UI on the phone. It keeps a {@link -@@ -32,6 +37,8 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -33,6 +38,8 @@ public class BookmarkActivity extends SnackbarActivity { public static final int EDIT_BOOKMARK_REQUEST_CODE = 14; public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId"; @@ -139,9 +139,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); -@@ -52,8 +59,23 @@ public class BookmarkActivity extends SnackbarActivity { - BackPressHelper.create( - this, getOnBackPressedDispatcher(), mBookmarkManagerCoordinator::onBackPressed); +@@ -54,8 +61,23 @@ public class BookmarkActivity extends SnackbarActivity { + BackPressHelper.create(this, getOnBackPressedDispatcher(), + mBookmarkManagerCoordinator::onBackPressed, SecondaryActivity.BOOKMARK); } + + final boolean listenToActivityState = true; @@ -163,7 +163,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B @Override protected void onDestroy() { super.onDestroy(); -@@ -63,6 +85,7 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -65,6 +87,7 @@ public class BookmarkActivity extends SnackbarActivity { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) { BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString( data.getStringExtra(INTENT_VISIT_BOOKMARK_ID)); -@@ -70,6 +93,14 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -72,6 +95,14 @@ public class BookmarkActivity extends SnackbarActivity { } } @@ -210,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm import android.text.TextUtils; import android.util.Pair; -@@ -37,6 +50,32 @@ import org.chromium.url.GURL; +@@ -38,6 +51,32 @@ import org.chromium.url.GURL; import java.util.ArrayList; import java.util.List; @@ -243,7 +243,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Provides the communication channel for Android to fetch and manipulate the * bookmark model stored in native. -@@ -431,6 +470,209 @@ class BookmarkBridge { +@@ -437,6 +476,209 @@ class BookmarkBridge { mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType()); } @@ -453,7 +453,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Synchronously gets a list of bookmarks that match the specified search query. * @param query Keyword used for searching bookmarks. -@@ -915,6 +1157,39 @@ class BookmarkBridge { +@@ -921,6 +1163,39 @@ class BookmarkBridge { depthList.add(depth); } @@ -493,7 +493,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm private static List> createPairsList(int[] left, int[] right) { List> pairList = new ArrayList<>(); for (int i = 0; i < left.length; i++) { -@@ -948,6 +1223,9 @@ class BookmarkBridge { +@@ -956,6 +1231,9 @@ class BookmarkBridge { int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type); void getChildIds(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type, List bookmarksList); @@ -506,9 +506,9 @@ 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/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java -@@ -65,6 +65,16 @@ public interface BookmarkDelegate { +@@ -60,6 +60,16 @@ public interface BookmarkDelegate { */ - void openSearchUi(); + void openBookmarksInNewTabs(List bookmark, boolean incognito); + /** + * Imports bookmarks from user-selected file. @@ -521,21 +521,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm + void exportBookmarks(); + /** - * Dismisses the search UI. + * Shows the search UI. */ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java -@@ -43,6 +43,8 @@ import org.chromium.components.image_fetcher.ImageFetcher; +@@ -47,6 +47,8 @@ import org.chromium.components.image_fetcher.ImageFetcher; import org.chromium.components.image_fetcher.ImageFetcherConfig; import org.chromium.components.image_fetcher.ImageFetcherFactory; - import org.chromium.ui.modelutil.MVCListAdapter.ModelList; + import org.chromium.ui.KeyboardVisibilityDelegate; +import org.chromium.ui.base.ActivityWindowAndroid; +import org.chromium.ui.modaldialog.ModalDialogManager; - import org.chromium.ui.modelutil.PropertyKey; - import org.chromium.ui.modelutil.PropertyModel; - import org.chromium.ui.modelutil.PropertyModelChangeProcessor; -@@ -191,6 +193,13 @@ public class BookmarkManagerCoordinator + import org.chromium.ui.modaldialog.ModalDialogManager; + import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType; + import org.chromium.ui.modelutil.MVCListAdapter.ModelList; +@@ -224,6 +226,13 @@ public class BookmarkManagerCoordinator // Public API implementation. @@ -552,7 +552,7 @@ 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/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java -@@ -37,6 +37,8 @@ import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate; +@@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.listmenu.ListMenuItemProperties import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver; @@ -561,7 +561,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm import org.chromium.components.favicon.LargeIconBridge; import org.chromium.components.feature_engagement.EventConstants; import org.chromium.components.power_bookmarks.PowerBookmarkMeta; -@@ -60,6 +62,9 @@ class BookmarkManagerMediator implements BookmarkDelegate, TestingDelegate, +@@ -74,6 +76,9 @@ class BookmarkManagerMediator private static boolean sPreventLoadingForTesting; @@ -571,7 +571,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Keeps track of whether drag is enabled / active for bookmark lists. */ -@@ -445,6 +450,14 @@ class BookmarkManagerMediator implements BookmarkDelegate, TestingDelegate, +@@ -453,6 +458,14 @@ class BookmarkManagerMediator mNativePage = nativePage; } @@ -586,7 +586,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * See BookmarkManager(Coordinator)#updateForUrl */ -@@ -615,6 +628,16 @@ class BookmarkManagerMediator implements BookmarkDelegate, TestingDelegate, +@@ -625,6 +638,16 @@ class BookmarkManagerMediator } } @@ -638,7 +638,7 @@ 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/BookmarkToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java -@@ -113,6 +113,17 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -114,6 +114,17 @@ public class BookmarkToolbar extends SelectableListToolbar setOnMenuItemClickListener(dragEnabled ? null : this); } @@ -656,7 +656,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm void setSearchButtonVisible(boolean visible) { // The improved bookmarks experience embeds search in the list. if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled()) return; -@@ -139,6 +150,8 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -145,6 +156,8 @@ public class BookmarkToolbar extends SelectableListToolbar void setCurrentFolder(BookmarkId folder) { mCurrentFolder = mBookmarkModel.getBookmarkById(folder); @@ -664,8 +664,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm + getMenu().findItem(R.id.export_menu_id).setVisible(true); } - void setOpenSearchUiRunnable(Runnable runnable) { -@@ -158,6 +171,13 @@ public class BookmarkToolbar extends SelectableListToolbar + void setOpenFolderCallback(Callback openFolderCallback) { +@@ -164,6 +177,13 @@ public class BookmarkToolbar extends SelectableListToolbar @Override public boolean onMenuItemClick(MenuItem menuItem) { hideOverflowMenu(); @@ -679,7 +679,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm return mMenuIdClickedFunction.apply(menuItem.getItemId()); } -@@ -178,6 +198,9 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -184,6 +204,9 @@ public class BookmarkToolbar extends SelectableListToolbar protected void showNormalView() { super.showNormalView(); @@ -692,8 +692,8 @@ 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/BookmarkToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java -@@ -74,6 +74,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener, - mBookmarkDelegate::openSearchUi); +@@ -82,6 +82,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener, + mBookmarkDelegate = bookmarkDelegate; mModel.set( BookmarkToolbarProperties.OPEN_FOLDER_CALLBACK, mBookmarkDelegate::openFolder); + mModel.set( @@ -706,7 +706,7 @@ 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/BookmarkToolbarProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java -@@ -57,10 +57,15 @@ class BookmarkToolbarProperties { +@@ -60,10 +60,15 @@ class BookmarkToolbarProperties { new WritableObjectPropertyKey<>(); static final WritableObjectPropertyKey> OPEN_FOLDER_CALLBACK = new WritableObjectPropertyKey<>(); @@ -717,19 +717,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm static final PropertyKey[] ALL_KEYS = {BOOKMARK_MODEL, BOOKMARK_OPENER, SELECTION_DELEGATE, TITLE, BOOKMARK_UI_MODE, SOFT_KEYBOARD_VISIBLE, IS_DIALOG_UI, DRAG_ENABLED, - SEARCH_BUTTON_VISIBLE, EDIT_BUTTON_VISIBLE, NAVIGATION_BUTTON_STATE, CURRENT_FOLDER, - CHECKED_SORT_MENU_ID, CHECKED_VIEW_MENU_ID, OPEN_SEARCH_UI_RUNNABLE, -- MENU_ID_CLICKED_FUNCTION, OPEN_FOLDER_CALLBACK}; -+ MENU_ID_CLICKED_FUNCTION, OPEN_FOLDER_CALLBACK, + SEARCH_BUTTON_VISIBLE, EDIT_BUTTON_VISIBLE, NEW_FOLDER_BUTTON_VISIBLE, + NAVIGATION_BUTTON_STATE, CURRENT_FOLDER, CHECKED_SORT_MENU_ID, CHECKED_VIEW_MENU_ID, +- MENU_ID_CLICKED_FUNCTION, OPEN_FOLDER_CALLBACK, FAKE_SELECTION_STATE_CHANGE}; ++ MENU_ID_CLICKED_FUNCTION, OPEN_FOLDER_CALLBACK, FAKE_SELECTION_STATE_CHANGE, + IMPORT_BOOKMARK_RUNNABLE, EXPORT_BOOKMARK_RUNNABLE}; } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java @@ -53,6 +53,12 @@ class BookmarkToolbarViewBinder { - } else if (key == BookmarkToolbarProperties.OPEN_SEARCH_UI_RUNNABLE) { - bookmarkToolbar.setOpenSearchUiRunnable( - model.get(BookmarkToolbarProperties.OPEN_SEARCH_UI_RUNNABLE)); + model.get(BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID)); + } else if (key == BookmarkToolbarProperties.CURRENT_FOLDER) { + bookmarkToolbar.setCurrentFolder(model.get(BookmarkToolbarProperties.CURRENT_FOLDER)); + } else if (key == BookmarkToolbarProperties.IMPORT_BOOKMARK_RUNNABLE) { + bookmarkToolbar.setImportBookmarkRunnable( + model.get(BookmarkToolbarProperties.IMPORT_BOOKMARK_RUNNABLE)); @@ -742,7 +742,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java -@@ -13,6 +13,7 @@ import androidx.annotation.VisibleForTesting; +@@ -14,6 +14,7 @@ import androidx.annotation.VisibleForTesting; import org.chromium.base.supplier.DestroyableObservableSupplier; import org.chromium.base.supplier.Supplier; @@ -750,7 +750,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage; import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier; -@@ -50,7 +51,7 @@ import java.util.function.BooleanSupplier; +@@ -51,7 +52,7 @@ import org.chromium.ui.util.ColorUtils; * Creates NativePage objects to show chrome-native:// URLs using the native Android view system. */ public class NativePageFactory { @@ -768,7 +768,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat @NonNull BottomSheetController sheetController, @NonNull BrowserControlsManager browserControlsManager, @NonNull Supplier currentTabSupplier, -@@ -113,7 +114,7 @@ public class NativePageFactory { +@@ -109,7 +110,7 @@ public class NativePageFactory { @VisibleForTesting static class NativePageBuilder { @@ -777,16 +777,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final Supplier mUma; private final BrowserControlsManager mBrowserControlsManager; -@@ -125,7 +126,7 @@ public class NativePageFactory { - private final WindowAndroid mWindowAndroid; +@@ -122,7 +123,7 @@ public class NativePageFactory { private final Supplier mToolbarSupplier; + private final HomeSurfaceTracker mHomeSurfaceTracker; - public NativePageBuilder(Activity activity, Supplier uma, + public NativePageBuilder(ChromeActivity activity, Supplier uma, BottomSheetController sheetController, BrowserControlsManager browserControlsManager, Supplier currentTabSupplier, Supplier snackbarManagerSupplier, -@@ -161,7 +162,7 @@ public class NativePageFactory { +@@ -159,7 +160,7 @@ public class NativePageFactory { protected NativePage buildBookmarksPage(Tab tab) { return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(), mTabModelSelector.isIncognitoSelected(), @@ -798,7 +798,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -198,6 +198,8 @@ static_library("browser") { +@@ -202,6 +202,8 @@ static_library("browser") { "bluetooth/chrome_bluetooth_delegate_impl_client.h", "bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.h", @@ -807,7 +807,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "bookmarks/chrome_bookmark_client.cc", "bookmarks/chrome_bookmark_client.h", "bookmarks/managed_bookmark_service_factory.cc", -@@ -1839,6 +1841,13 @@ static_library("browser") { +@@ -1861,6 +1863,13 @@ static_library("browser") { "webid/federated_identity_permission_context_factory.h", ] @@ -821,7 +821,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -3487,8 +3496,6 @@ static_library("browser") { +@@ -3509,8 +3518,6 @@ static_library("browser") { "badging/badge_manager_factory.h", "banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.h", @@ -833,7 +833,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 -@@ -9103,6 +9103,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9342,6 +9342,12 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)}, #endif @@ -849,7 +849,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc --- a/chrome/browser/bookmarks/android/bookmark_bridge.cc +++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc -@@ -54,6 +54,25 @@ +@@ -58,6 +58,25 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/web_contents.h" @@ -875,7 +875,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse using base::android::AttachCurrentThread; using base::android::ConvertUTF16ToJavaString; using base::android::ConvertUTF8ToJavaString; -@@ -71,8 +90,92 @@ using bookmarks::android::JavaBookmarkIdGetType; +@@ -75,8 +94,92 @@ using bookmarks::android::JavaBookmarkIdGetType; using content::BrowserThread; using power_bookmarks::PowerBookmarkMeta; @@ -968,7 +968,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse class BookmarkTitleComparer { public: explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge, -@@ -182,6 +285,10 @@ BookmarkBridge::~BookmarkBridge() { +@@ -198,6 +301,10 @@ BookmarkBridge::~BookmarkBridge() { if (partner_bookmarks_shim_) partner_bookmarks_shim_->RemoveObserver(this); reading_list_manager_->RemoveObserver(this); @@ -979,7 +979,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse } void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef&) { -@@ -577,6 +684,182 @@ jint BookmarkBridge::GetTotalBookmarkCount( +@@ -619,6 +726,182 @@ jint BookmarkBridge::GetTotalBookmarkCount( return count; } @@ -1165,15 +1165,15 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h --- a/chrome/browser/bookmarks/android/bookmark_bridge.h +++ b/chrome/browser/bookmarks/android/bookmark_bridge.h -@@ -18,6 +18,7 @@ - #include "base/strings/utf_string_conversions.h" +@@ -19,6 +19,7 @@ #include "base/supports_user_data.h" #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" + #include "chrome/browser/image_service/image_service_factory.h" +#include "chrome/browser/bookmarks/bookmark_html_writer.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_observer.h" #include "chrome/browser/reading_list/android/reading_list_manager.h" -@@ -26,6 +27,9 @@ +@@ -27,6 +28,9 @@ #include "components/prefs/pref_change_registrar.h" #include "url/android/gurl_android.h" @@ -1183,7 +1183,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser namespace bookmarks { class BookmarkModel; class ManagedBookmarkService; -@@ -43,7 +47,8 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -44,7 +48,8 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, public PartnerBookmarksShim::Observer, public ReadingListManager::Observer, public ProfileObserver, @@ -1193,7 +1193,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser public: BookmarkBridge(Profile* profile, bookmarks::BookmarkModel* model, -@@ -66,6 +71,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -74,6 +79,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, bool IsDoingExtensiveChanges(JNIEnv* env, const base::android::JavaParamRef& obj); @@ -1206,7 +1206,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser jboolean IsEditBookmarksEnabled(JNIEnv* env); void LoadEmptyPartnerBookmarkShimForTesting( -@@ -163,6 +174,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -171,6 +182,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, jlong id, jint type); @@ -1222,7 +1222,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser void SetBookmarkTitle(JNIEnv* env, const base::android::JavaParamRef& obj, jlong id, -@@ -355,12 +375,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -363,12 +383,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, void DestroyJavaObject(); raw_ptr profile_; @@ -1239,7 +1239,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser // Information about the Partner bookmarks (must check for IsLoaded()). // This is owned by profile. -@@ -372,6 +396,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, +@@ -382,6 +406,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, // Observes the profile destruction and creation. base::ScopedObservation profile_observation_{this}; @@ -1345,7 +1345,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -7112,6 +7112,11 @@ const char kPromiseIconsDescription[] = +@@ -7193,6 +7193,11 @@ const char kPromiseIconsDescription[] = #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -1360,7 +1360,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -4128,6 +4128,9 @@ extern const char kPromiseIconsDescription[]; +@@ -4163,6 +4163,9 @@ extern const char kPromiseIconsDescription[]; #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -1373,15 +1373,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -190,6 +190,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kClearOmniboxFocusAfterNavigation, &kCloseTabSuggestions, &kCloseTabSaveTabList, + &kBookmarksExportUseSaf, &kCriticalPersistedTabData, &kCreateNewTabInitializeRenderer, - &kCCTAllowCrossUidActivitySwitchFromBelow, -@@ -1201,6 +1202,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent, + &kCCTBackgroundTab, +@@ -1137,5 +1138,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent, "WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1390,15 +1390,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse + "BookmarksExportUseSaf", + base::FEATURE_DISABLED_BY_DEFAULT); + - static jboolean JNI_ChromeFeatureList_IsEnabled( - JNIEnv* env, - const JavaParamRef& jfeature_name) { + } // namespace android + } // namespace chrome diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h --- a/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h -@@ -181,6 +181,7 @@ BASE_DECLARE_FEATURE(kTabStateV1Optimizations); - BASE_DECLARE_FEATURE(kDiscoverFeedMultiColumn); - BASE_DECLARE_FEATURE(kTabStripRedesign); +@@ -175,6 +175,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign); + BASE_DECLARE_FEATURE(kTabletToolbarReordering); + BASE_DECLARE_FEATURE(kTabStripStartupRefactoring); BASE_DECLARE_FEATURE(kTabToGTSAnimation); +BASE_DECLARE_FEATURE(kBookmarksExportUseSaf); BASE_DECLARE_FEATURE(kTestDefaultDisabled); @@ -1407,10 +1406,10 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -538,6 +538,7 @@ public abstract class ChromeFeatureList { +@@ -456,6 +456,7 @@ public abstract class ChromeFeatureList { + public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk"; public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID = "UseLibunwindstackNativeUnwinderAndroid"; - public static final String VIDEO_TUTORIALS = "VideoTutorials"; + public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf"; public static final String VOICE_BUTTON_IN_TOP_TOOLBAR = "VoiceButtonInTopToolbar"; public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy"; @@ -1476,23 +1475,23 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -107,6 +107,8 @@ public final class ChromePreferenceKeys { - public static final String BOOKMARKS_LAST_USED_PARENT = +@@ -108,6 +108,8 @@ public final class ChromePreferenceKeys { "enhanced_bookmark_last_used_parent_folder"; - public static final String BOOKMARK_VISUALS_PREF = "Chrome.Bookmarks.BookmarkRowDisplay"; + public static final String BOOKMARKS_SORT_ORDER = "Chrome.Bookmarks.BookmarkRowSortOrder"; + public static final String BOOKMARKS_VISUALS_PREF = "Chrome.Bookmarks.BookmarkRowDisplay"; + public static final String BOOKMARKS_LAST_EXPORT_URI = + "Chrome.Bookmarks.Last_Export_Uri"; /** * Whether Chrome is set as the default browser. -@@ -994,6 +996,7 @@ public final class ChromePreferenceKeys { +@@ -996,6 +998,7 @@ public final class ChromePreferenceKeys { AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, + BOOKMARKS_LAST_EXPORT_URI, APPLICATION_OVERRIDE_LANGUAGE, BLUETOOTH_NOTIFICATION_IDS, - BOOKMARK_VISUALS_PREF, + BOOKMARKS_SORT_ORDER, diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd @@ -1524,7 +1523,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -405,6 +405,9 @@ static_library("common_lib") { +@@ -406,6 +406,9 @@ static_library("common_lib") { sources += [ "media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.h", @@ -1546,7 +1545,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn "importer/bookmarks_file_importer.cc", "importer/bookmarks_file_importer.h", "importer/external_process_importer_bridge.cc", -@@ -219,6 +217,11 @@ static_library("utility") { +@@ -220,6 +218,11 @@ static_library("utility") { ] } diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index c4ae70cb..bcf2c3fc 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -16,7 +16,6 @@ Require: bromite-build-utils.patch .../settings/privacy_page/privacy_page.html | 1 + .../settings/privacy_page/privacy_page.ts | 44 ++- chrome/browser/resources/settings/route.ts | 3 + - .../site_settings/category_default_setting.ts | 11 + .../settings_category_default_radio_group.ts | 7 + .../settings/site_settings/site_details.html | 1 + .../settings/site_settings/site_details.ts | 16 +- @@ -72,7 +71,7 @@ Require: bromite-build-utils.patch .../execution_context/execution_context.cc | 16 + .../execution_context/execution_context.h | 5 + .../WebLayerSiteSettingsDelegate.java | 3 + - 61 files changed, 1322 insertions(+), 41 deletions(-) + 60 files changed, 1311 insertions(+), 41 deletions(-) create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting_README.md @@ -96,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C /** * A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */ -@@ -267,6 +271,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -265,6 +269,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { return PrivacySandboxBridge.getFirstPartySetOwner(memberOrigin); } @@ -129,7 +128,7 @@ diff --git a/chrome/browser/installable/installed_webapp_bridge.cc b/chrome/brow diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html -@@ -1104,4 +1104,5 @@ +@@ -1101,4 +1101,5 @@ @@ -209,31 +208,10 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc } /** -diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts ---- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts -+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts -@@ -224,6 +224,17 @@ export class CategoryDefaultSettingElement extends - this.categoryEnabled ? ContentSetting.ASK : ContentSetting.BLOCK); - break; - default: -+ for (let index=0; index < loadTimeData.getInteger("br_cs_count"); index++) { -+ let obj = JSON.parse(loadTimeData.getString("br_cs_" + index)); -+ let name = obj["name"]; -+ if (this.category == name) { -+ // "Allowed" vs "Blocked". -+ this.browserProxy.setDefaultValueForContentType( -+ this.category, -+ this.categoryEnabled ? ContentSetting.ALLOW : ContentSetting.BLOCK); -+ break; -+ } -+ } - assertNotReached('Invalid category: ' + this.category); - } - } diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts --- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts +++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts -@@ -162,6 +162,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -158,6 +158,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends // "Ask" vs "Blocked". return ContentSetting.ASK; default: @@ -413,7 +391,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ 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 -@@ -1859,6 +1859,7 @@ static_library("ui") { +@@ -1959,6 +1959,7 @@ static_library("ui") { "//components/commerce/core:shopping_service", "//components/commerce/core/mojom:mojo_bindings", "//components/commerce/core/webui", @@ -433,8 +411,8 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom #include "components/page_info/core/features.h" #include "components/page_info/core/proto/about_this_site_metadata.pb.h" #include "components/page_info/page_info.h" -@@ -370,6 +372,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( - icon = &vector_icons::kDevicesIcon; +@@ -488,6 +490,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( + icon = &vector_icons::kCookieIcon; break; default: + bool found = false; @@ -462,16 +440,16 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #include "build/branding_buildflags.h" #include "build/build_config.h" #include "build/buildflag.h" -@@ -71,6 +72,8 @@ - #include "components/dom_distiller/core/dom_distiller_features.h" +@@ -72,6 +73,8 @@ #include "components/google/core/common/google_util.h" + #include "components/history/core/common/pref_names.h" #include "components/omnibox/common/omnibox_features.h" +#include "components/content_settings/core/browser/website_settings_info.h" +#include "components/content_settings/core/browser/website_settings_registry.h" #include "components/password_manager/core/browser/leak_detection_dialog_utils.h" #include "components/password_manager/core/browser/manage_passwords_referrer.h" #include "components/password_manager/core/common/password_manager_features.h" -@@ -3730,6 +3733,42 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3547,6 +3550,42 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -517,7 +495,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc --- a/chrome/browser/ui/webui/settings/site_settings_helper.cc +++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc -@@ -38,6 +38,8 @@ +@@ -42,6 +42,8 @@ #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" #include "components/content_settings/core/browser/host_content_settings_map.h" @@ -526,7 +504,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_pattern.h" #include "components/content_settings/core/common/content_settings_utils.h" -@@ -190,7 +192,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { +@@ -194,7 +196,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { static_assert(std::size(kContentSettingsTypeGroupNames) == // ContentSettingsType starts at -1, so add 1 here. @@ -535,7 +513,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b "kContentSettingsTypeGroupNames should have " "CONTENT_SETTINGS_NUM_TYPES elements"); -@@ -440,6 +442,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -448,6 +450,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { return true; } } @@ -549,7 +527,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return false; } -@@ -453,7 +462,13 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) { +@@ -461,7 +470,13 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) { return entry.type; } } @@ -564,7 +542,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return ContentSettingsType::DEFAULT; } -@@ -467,6 +482,13 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) { +@@ -475,6 +490,13 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) { } } @@ -578,7 +556,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b NOTREACHED() << static_cast(type) << " is not a recognized content settings type."; return base::StringPiece(); -@@ -535,6 +557,13 @@ const std::vector& GetVisiblePermissionCategories() { +@@ -543,6 +565,13 @@ const std::vector& GetVisiblePermissionCategories() { base_types->push_back(ContentSettingsType::PRIVATE_NETWORK_GUARD); } @@ -595,7 +573,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn --- a/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn -@@ -139,6 +139,20 @@ android_library("java") { +@@ -141,6 +141,20 @@ android_library("java") { ] srcjar_deps = [ "//components/content_settings/android:java_pref_names_srcjar" ] @@ -616,7 +594,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b } android_library("javatests") { -@@ -182,6 +196,7 @@ robolectric_library("junit") { +@@ -184,6 +198,7 @@ robolectric_library("junit") { } android_resources("java_resources") { @@ -1420,7 +1398,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -45,6 +45,7 @@ import org.chromium.content_public.browser.ContentFeatureList; +@@ -46,6 +46,7 @@ import org.chromium.content_public.browser.ContentFeatureList; import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -1428,7 +1406,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Shows the permissions and other settings for a particular website. -@@ -167,7 +168,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment case ContentSettingsType.CLIPBOARD_READ_WRITE: return "clipboard_permission_list"; default: @@ -1437,7 +1415,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -503,7 +504,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -516,7 +517,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment private void setupContentSettingsPreferences() { mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder(); @@ -1447,7 +1425,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c Preference preference = new ChromeSwitchPreference(getStyledContext()); preference.setKey(getPreferenceKey(type)); -@@ -948,14 +950,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -961,14 +963,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment private void setupContentSettingsPreference(Preference preference, @ContentSettingValues @Nullable Integer value, boolean isEmbargoed) { @@ -1473,7 +1451,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c switchPreference.setOnPreferenceChangeListener(this); @ContentSettingsType int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey()); -@@ -1121,7 +1131,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1134,7 +1144,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment public @ContentSettingsType int getContentSettingsTypeFromPreferenceKey(String preferenceKey) { if (mPreferenceMap == null) { mPreferenceMap = new HashMap<>(); @@ -1482,7 +1460,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c String key = getPreferenceKey(type); if (key != null) { mPreferenceMap.put(key, type); -@@ -1159,7 +1169,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1176,7 +1186,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment } mSite.setContentSetting(browserContextHandle, type, permission); @@ -1491,7 +1469,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c preference.setIcon(getContentSettingsIcon(type, permission)); if (mWebsiteSettingsObserver != null) { -@@ -1189,7 +1199,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1206,7 +1216,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment // TODO(mvanouwerkerk): Refactor this class so that it does not depend on the screen state // for its logic. This class should maintain its own data model, and only update the screen // after a change is made. @@ -1841,7 +1819,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -592,6 +593,8 @@ void ContentSettingsRegistry::Init() { +@@ -588,6 +589,8 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsRegistry::ALL_PLATFORMS, ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); @@ -1984,32 +1962,26 @@ new file mode 100644 diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc --- a/components/content_settings/core/common/content_settings.cc +++ b/components/content_settings/core/common/content_settings.cc -@@ -13,6 +13,7 @@ - #include "build/build_config.h" +@@ -16,6 +16,7 @@ #include "components/content_settings/core/common/content_settings_metadata.h" + #include "components/content_settings/core/common/content_settings_types.h" #include "components/content_settings/core/common/content_settings_utils.h" +#include "components/content_settings/core/browser/website_settings_registry.h" namespace { -@@ -143,6 +144,7 @@ ContentSetting IntToContentSetting(int content_setting) { - int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting, - size_t* num_values) { - *num_values = std::size(kHistogramValue); +@@ -161,8 +162,9 @@ void RecordContentSettingsHistogram(const char* name, + } + + int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { + if ((true)) return 0; + static_assert(kHistogramValue.size() == +- static_cast(ContentSettingsType::NUM_TYPES), ++ static_cast(ContentSettingsType::NUM_TYPES_CHROMIUM), + "Update content settings histogram lookup"); - // Verify the array is sorted by enum type and contains all values. - DCHECK(std::is_sorted(std::begin(kHistogramValue), std::end(kHistogramValue), -@@ -152,7 +154,7 @@ int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting, - static_assert( - kHistogramValue[std::size(kHistogramValue) - 1].type == - ContentSettingsType( -- static_cast(ContentSettingsType::NUM_TYPES) - 1), -+ static_cast(ContentSettingsType::NUM_TYPES_CHROMIUM) - 1), - "Update content settings histogram lookup"); - - const HistogramValue* found = std::lower_bound( -@@ -212,6 +214,13 @@ bool ContentSettingPatternSource::IsExpired() const { + auto* found = kHistogramValue.find(content_setting); +@@ -221,6 +223,13 @@ bool ContentSettingPatternSource::IsExpired() const { // static bool RendererContentSettingRules::IsRendererContentSetting( ContentSettingsType content_type) { @@ -2023,7 +1995,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo return content_type == ContentSettingsType::IMAGES || content_type == ContentSettingsType::JAVASCRIPT || content_type == ContentSettingsType::POPUPS || -@@ -221,6 +230,9 @@ bool RendererContentSettingRules::IsRendererContentSetting( +@@ -230,6 +239,9 @@ bool RendererContentSettingRules::IsRendererContentSetting( void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL( const GURL& outermost_main_frame_url) { @@ -2033,7 +2005,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo FilterRulesForType(image_rules, outermost_main_frame_url); FilterRulesForType(script_rules, outermost_main_frame_url); FilterRulesForType(popup_redirect_rules, outermost_main_frame_url); -@@ -243,3 +255,10 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( +@@ -252,3 +264,10 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( RendererContentSettingRules& RendererContentSettingRules::operator=( RendererContentSettingRules&& rules) = default; @@ -2047,7 +2019,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h --- a/components/content_settings/core/common/content_settings.h +++ b/components/content_settings/core/common/content_settings.h -@@ -69,10 +69,20 @@ struct ContentSettingPatternSource { +@@ -71,10 +71,20 @@ struct ContentSettingPatternSource { typedef std::vector ContentSettingsForOneType; @@ -2243,7 +2215,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java -@@ -174,6 +174,15 @@ public class PageInfoPermissionsController +@@ -176,6 +176,15 @@ public class PageInfoPermissionsController : perm1.nameMidSentence.toString()); } @@ -2315,7 +2287,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc --- a/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc -@@ -25,6 +25,7 @@ +@@ -27,6 +27,7 @@ #include "components/browsing_data/content/browsing_data_helper.h" #include "components/browsing_data/content/local_storage_helper.h" #include "components/content_settings/browser/page_specific_content_settings.h" @@ -2323,10 +2295,10 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. #include "components/content_settings/browser/ui/cookie_controls_controller.h" #include "components/content_settings/core/browser/content_settings_registry.h" #include "components/content_settings/core/browser/content_settings_utils.h" -@@ -139,6 +140,14 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info, - content::WebContents* web_contents, - bool changed_since_last_page_load, - bool is_subresource_filter_activated) { +@@ -1186,6 +1187,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, + // applies to permissions listed in |kPermissionType|. + bool PageInfo::ShouldShowPermission( + const PageInfo::PermissionInfo& info) const { + content_settings::WebsiteSettingsRegistry* website_settings = + content_settings::WebsiteSettingsRegistry::GetInstance(); + for (const content_settings::WebsiteSettingsInfo* winfo : *website_settings) { @@ -2338,8 +2310,8 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. // Note |ContentSettingsType::ADS| will show up regardless of its default // value when it has been activated on the current origin. if (info.type == ContentSettingsType::ADS) { -@@ -1180,7 +1189,19 @@ void PageInfo::PresentSitePermissions() { - PermissionInfo permission_info; +@@ -1278,7 +1287,19 @@ void PageInfo::PresentSitePermissions() { + HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); - for (const ContentSettingsType type : kPermissionType) { @@ -2356,9 +2328,9 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. + } + } + for (const ContentSettingsType type : permission_list) { + PermissionInfo permission_info; permission_info.type = type; - content_settings::SettingInfo info; diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc --- a/components/page_info/page_info_ui.cc +++ b/components/page_info/page_info_ui.cc @@ -2370,7 +2342,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in #include "components/omnibox/common/omnibox_features.h" #include "components/page_info/core/features.h" #include "components/page_info/page_info.h" -@@ -570,6 +571,12 @@ PageInfoUI::~PageInfoUI() = default; +@@ -575,6 +576,12 @@ PageInfoUI::~PageInfoUI() = default; // static std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -2383,7 +2355,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id); -@@ -581,6 +588,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { +@@ -586,6 +593,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { // static std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( ContentSettingsType type) { @@ -2396,7 +2368,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id_mid_sentence); -@@ -972,6 +985,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { +@@ -975,6 +988,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { if (info.type == type) return true; } @@ -2477,7 +2449,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context #include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/execution_context/security_context.h" -@@ -104,6 +105,10 @@ class SecurityOrigin; +@@ -103,6 +104,10 @@ class SecurityOrigin; class ScriptState; class ScriptWrappable; class TrustedTypePolicyFactory; diff --git a/build/patches/Disable-FLoC-and-privacy-sandbox.patch b/build/patches/Disable-FLoC-and-privacy-sandbox.patch index e5be7556..b29c8fa9 100644 --- a/build/patches/Disable-FLoC-and-privacy-sandbox.patch +++ b/build/patches/Disable-FLoC-and-privacy-sandbox.patch @@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -3402,6 +3402,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -3358,6 +3358,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* source_origin, const url::Origin* destination_origin, const url::Origin* reporting_origin) { @@ -34,12 +34,12 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc --- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc +++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings_delegate.cc -@@ -42,6 +42,7 @@ bool PrivacySandboxRestrictedByAccountCapability(Profile* profile) { - } +@@ -115,6 +115,7 @@ bool PrivacySandboxSettingsDelegate::HasAppropriateTopicsConsent() const { - bool PrivacySandboxRestrictedNoticeRequired(Profile* profile) { + bool PrivacySandboxSettingsDelegate::PrivacySandboxRestrictedNoticeRequired() + const { + if ((true)) return true; - auto* identity_manager = IdentityManagerFactory::GetForProfile(profile); + auto* identity_manager = IdentityManagerFactory::GetForProfile(profile_); if (!identity_manager || diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc @@ -102,7 +102,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc -@@ -103,7 +103,7 @@ namespace privacy_sandbox { +@@ -108,7 +108,7 @@ namespace privacy_sandbox { void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref( @@ -114,7 +114,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc --- a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc +++ b/components/privacy_sandbox/privacy_sandbox_settings_impl.cc -@@ -144,7 +144,8 @@ PrivacySandboxSettingsImpl::GetFinchDisabledTopics() { +@@ -143,7 +143,8 @@ PrivacySandboxSettingsImpl::GetFinchDisabledTopics() { return finch_disabled_topics_; } @@ -124,7 +124,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo // M1 specific if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings4)) { Status status = GetM1TopicAllowedStatus(); -@@ -187,7 +188,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext( +@@ -195,7 +196,8 @@ bool PrivacySandboxSettingsImpl::IsTopicsAllowedForContext( IsPrivacySandboxEnabledForContext(top_frame_origin, url); } @@ -134,7 +134,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo const auto& blocked_topics = pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics); -@@ -296,17 +298,7 @@ bool PrivacySandboxSettingsImpl::IsAttributionReportingEverAllowed() const { +@@ -304,17 +306,7 @@ bool PrivacySandboxSettingsImpl::IsAttributionReportingEverAllowed() const { bool PrivacySandboxSettingsImpl::IsAttributionReportingAllowed( const url::Origin& top_frame_origin, const url::Origin& reporting_origin) const { @@ -153,7 +153,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo } bool PrivacySandboxSettingsImpl::MaySendAttributionReport( -@@ -412,7 +404,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings( +@@ -420,7 +412,8 @@ void PrivacySandboxSettingsImpl::ClearFledgeJoiningAllowedSettings( } bool PrivacySandboxSettingsImpl::IsFledgeJoiningAllowed( @@ -163,7 +163,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo ScopedDictPrefUpdate scoped_pref_update( pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked); auto& pref_data = scoped_pref_update.Get(); -@@ -503,7 +496,9 @@ bool PrivacySandboxSettingsImpl::IsPrivateAggregationAllowed( +@@ -511,7 +504,9 @@ bool PrivacySandboxSettingsImpl::IsPrivateAggregationAllowed( reporting_origin.GetURL()); } @@ -174,7 +174,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo PrivacySandboxSettingsImpl::Status status = GetPrivacySandboxAllowedStatus(); if (!IsAllowed(status)) { return false; -@@ -541,7 +536,8 @@ void PrivacySandboxSettingsImpl::SetTopicsBlockedForTesting() { +@@ -549,7 +544,8 @@ void PrivacySandboxSettingsImpl::SetTopicsBlockedForTesting() { pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, false); } @@ -184,7 +184,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled); } -@@ -599,7 +595,10 @@ bool PrivacySandboxSettingsImpl::IsPrivacySandboxEnabledForContext( +@@ -626,7 +622,10 @@ bool PrivacySandboxSettingsImpl::IsPrivacySandboxEnabledForContext( net::CookieSettingOverrides()); } diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index 24a114e5..568be03a 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -11,7 +11,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../optimization_guide_keyed_service.cc | 1 - .../predictors/loading_predictor_config.cc | 4 +- chrome/common/chrome_features.cc | 10 ++--- - .../browser/autocomplete_controller.cc | 2 + .../optimization_guide/core/hints_fetcher.cc | 1 + .../optimization_guide/core/hints_manager.cc | 5 +++ .../core/optimization_guide_features.cc | 38 +++++++++---------- @@ -21,12 +20,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/permissions/features.cc | 8 ++-- third_party/blink/common/features.cc | 8 +--- .../platform/runtime_enabled_features.json5 | 2 +- - 16 files changed, 54 insertions(+), 51 deletions(-) + 15 files changed, 52 insertions(+), 51 deletions(-) diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc -@@ -249,17 +249,17 @@ BASE_FEATURE(kIncomingCallNotifications, +@@ -233,17 +233,17 @@ BASE_FEATURE(kIncomingCallNotifications, // Enables omnibox trigger prerendering. BASE_FEATURE(kOmniboxTriggerForPrerender2, @@ -79,7 +78,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc -@@ -334,7 +334,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( +@@ -332,7 +332,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { @@ -104,7 +103,7 @@ diff --git a/chrome/browser/predictors/loading_predictor_config.cc b/chrome/brow diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -903,8 +903,8 @@ BASE_FEATURE(kPermissionAuditing, +@@ -930,8 +930,8 @@ BASE_FEATURE(kPermissionAuditing, // Enables using the prediction service for permission prompts. We will keep // this feature in order to allow us to update the holdback chance via finch. BASE_FEATURE(kPermissionPredictions, @@ -115,7 +114,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc // The holdback chance is 30% but it can also be configured/updated // through finch if needed. -@@ -915,8 +915,8 @@ const base::FeatureParam kPermissionPredictionsHoldbackChance( +@@ -942,8 +942,8 @@ const base::FeatureParam kPermissionPredictionsHoldbackChance( // Enables using the prediction service for geolocation permission prompts. BASE_FEATURE(kPermissionGeolocationPredictions, @@ -126,7 +125,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc const base::FeatureParam kPermissionGeolocationPredictionsHoldbackChance( -@@ -932,7 +932,7 @@ BASE_FEATURE(kPluginVm, "PluginVm", base::FEATURE_DISABLED_BY_DEFAULT); +@@ -959,7 +959,7 @@ BASE_FEATURE(kPluginVm, "PluginVm", base::FEATURE_DISABLED_BY_DEFAULT); // Allows Chrome to do preconnect when prerender fails. BASE_FEATURE(kPrerenderFallbackToPreconnect, "PrerenderFallbackToPreconnect", @@ -135,25 +134,6 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc BASE_FEATURE(kPrivacyGuideAndroid, "PrivacyGuideAndroid", -diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc ---- a/components/omnibox/browser/autocomplete_controller.cc -+++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -1561,6 +1561,7 @@ void AutocompleteController::RunUrlScoringModel( - base::OnceClosure completion_callback) { - TRACE_EVENT0("omnibox", "AutocompleteController::RunUrlScoringModel"); - -+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) - auto barrier_callback = - base::BarrierCallback, size_t, GURL>>( - result_.size(), -@@ -1583,6 +1584,7 @@ void AutocompleteController::RunUrlScoringModel( - std::make_tuple(absl::nullopt, match_index, match->destination_url)); - } - } -+#endif - } - - void AutocompleteController::CancelUrlScoringModel() { diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc --- a/components/optimization_guide/core/hints_fetcher.cc +++ b/components/optimization_guide/core/hints_fetcher.cc @@ -176,7 +156,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op switch (optimization_type_decision) { case OptimizationTypeDecision::kAllowedByOptimizationFilter: case OptimizationTypeDecision::kAllowedByHint: -@@ -1061,6 +1062,7 @@ void HintsManager::CanApplyOptimizationOnDemand( +@@ -1063,6 +1064,7 @@ void HintsManager::CanApplyOptimizationOnDemand( proto::RequestContext request_context, OnDemandOptimizationGuideDecisionRepeatingCallback callback) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); @@ -184,7 +164,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op // This set contains URLs that require some information to be fetched, whether // that be a URL-keyed hint or a host-keyed hint. -@@ -1376,6 +1378,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization( +@@ -1378,6 +1380,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization( bool skip_cache, OptimizationMetadata* optimization_metadata) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); @@ -197,7 +177,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc --- a/components/optimization_guide/core/optimization_guide_features.cc +++ b/components/optimization_guide/core/optimization_guide_features.cc -@@ -80,17 +80,17 @@ bool IsSupportedLocaleForFeature( +@@ -87,17 +87,17 @@ bool IsSupportedLocaleForFeature( // Enables the syncing of the Optimization Hints component, which provides // hints for what optimizations can be applied on a page load. BASE_FEATURE(kOptimizationHints, @@ -221,7 +201,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b // Enables performance info in the context menu and fetching from a remote // Optimization Guide Service. -@@ -100,17 +100,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching, +@@ -107,17 +107,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching, // Enables the prediction of optimization targets. BASE_FEATURE(kOptimizationTargetPrediction, @@ -243,7 +223,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b ); // Enables page content to be annotated. -@@ -120,8 +116,8 @@ BASE_FEATURE(kPageContentAnnotations, +@@ -127,8 +123,8 @@ BASE_FEATURE(kPageContentAnnotations, // Enables fetching page metadata from the remote Optimization Guide service. BASE_FEATURE(kRemotePageMetadata, @@ -254,7 +234,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b // Enables the page entities model to be annotated on every page load. BASE_FEATURE(kPageEntitiesPageContentAnnotations, -@@ -151,8 +147,8 @@ BASE_FEATURE(kPageEntitiesModelBatchEntityMetadataSimplification, +@@ -152,8 +148,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown, // Enables push notification of hints. BASE_FEATURE(kPushNotifications, @@ -265,18 +245,18 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b // This feature flag does not turn off any behavior, it is only used for // experiment parameters. -@@ -166,8 +162,8 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation, +@@ -175,8 +171,8 @@ BASE_FEATURE(kPageContentAnnotationsValidation, base::FEATURE_DISABLED_BY_DEFAULT); - BASE_FEATURE(kPageTopicsBatchAnnotations, -- "PageTopicsBatchAnnotations", + BASE_FEATURE(kPreventLongRunningPredictionModels, +- "PreventLongRunningPredictionModels", - base::FEATURE_ENABLED_BY_DEFAULT); -+ "PageTopicsBatchAnnotations", // disabled by default ++ "PreventLongRunningPredictionModels", // disabled by default + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite - BASE_FEATURE(kPageVisibilityBatchAnnotations, - "PageVisibilityBatchAnnotations", - base::FEATURE_ENABLED_BY_DEFAULT); -@@ -426,7 +422,7 @@ size_t MaxURLKeyedHintCacheSize() { + + BASE_FEATURE(kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations, + "OptimizationGuideUseContinueOnShutdownForPageContentAnnotations", +@@ -438,7 +434,7 @@ size_t MaxURLKeyedHintCacheSize() { bool ShouldPersistHintsToDisk() { return GetFieldTrialParamByFeatureAsBool(kOptimizationHints, @@ -349,7 +329,7 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -85,12 +85,12 @@ const base::FeatureParam kPermissionChipAutoDismissDelay{ +@@ -82,12 +82,12 @@ BASE_FEATURE(kFailFastQuietChip, // When enabled, use the value of the `service_url` FeatureParam as the url // for the Web Permission Predictions Service. BASE_FEATURE(kPermissionPredictionServiceUseUrlOverride, @@ -387,7 +367,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2739,7 +2739,7 @@ +@@ -2813,7 +2813,7 @@ { // https://crbug.com/1126305 name: "Prerender2", diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index e795e8ef..ba94eaea 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -18,12 +18,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../aggregation_service_features.cc | 4 +- .../attribution_data_host_manager_impl.cc | 5 ++ .../attribution_reporting/attribution_host.cc | 1 + - .../attribution_manager_impl.cc | 1 + + .../attribution_os_level_manager.cc | 1 + .../attribution_report_network_sender.cc | 9 ++ .../attribution_storage_sql.cc | 8 +- content/browser/storage_partition_impl.cc | 8 +- content/public/android/BUILD.gn | 2 - - .../browser/AttributionOsLevelManager.java | 89 +------------------ + .../browser/AttributionOsLevelManager.java | 82 +------------------ .../public/browser/navigation_controller.cc | 1 - content/public/common/content_features.cc | 4 +- content/renderer/render_thread_impl.cc | 5 +- @@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html third_party/blink/common/features.cc | 16 ++-- .../platform/runtime_enabled_features.json5 | 7 ++ ui/base/ui_base_features.cc | 2 +- - 20 files changed, 63 insertions(+), 129 deletions(-) + 20 files changed, 63 insertions(+), 122 deletions(-) diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml @@ -123,7 +123,7 @@ diff --git a/content/browser/aggregation_service/aggregation_service_features.cc diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc --- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc +++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc -@@ -478,6 +478,11 @@ void AttributionDataHostManagerImpl::ParseSource( +@@ -471,6 +471,11 @@ void AttributionDataHostManagerImpl::ParseSource( RegistrarAndHeader header) { DCHECK(it != registrations_.end()); @@ -134,11 +134,11 @@ diff --git a/content/browser/attribution_reporting/attribution_data_host_manager + switch (header.registrar) { case Registrar::kWeb: - #if BUILDFLAG(IS_ANDROID) + if (!network::HasAttributionWebSupport( diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc --- a/content/browser/attribution_reporting/attribution_host.cc +++ b/content/browser/attribution_reporting/attribution_host.cc -@@ -333,6 +333,7 @@ void AttributionHost::RegisterNavigationDataHost( +@@ -335,6 +335,7 @@ void AttributionHost::RegisterNavigationDataHost( return; } @@ -146,21 +146,21 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content AttributionManager* attribution_manager = AttributionManager::FromWebContents(web_contents()); DCHECK(attribution_manager); -diff --git a/content/browser/attribution_reporting/attribution_manager_impl.cc b/content/browser/attribution_reporting/attribution_manager_impl.cc ---- a/content/browser/attribution_reporting/attribution_manager_impl.cc -+++ b/content/browser/attribution_reporting/attribution_manager_impl.cc -@@ -471,6 +471,7 @@ AttributionManagerImpl::CreateForTesting( +diff --git a/content/browser/attribution_reporting/attribution_os_level_manager.cc b/content/browser/attribution_reporting/attribution_os_level_manager.cc +--- a/content/browser/attribution_reporting/attribution_os_level_manager.cc ++++ b/content/browser/attribution_reporting/attribution_os_level_manager.cc +@@ -48,6 +48,7 @@ ApiState GetApiState() { + // static - network::mojom::AttributionSupport AttributionManagerImpl::GetSupport() { - #if BUILDFLAG(IS_ANDROID) + network::mojom::AttributionSupport AttributionOsLevelManager::GetSupport() { + if ((true)) return network::mojom::AttributionSupport::kNone; bool is_web_allowed = GetContentClient()->browser()->IsWebAttributionReportingAllowed(); - switch (AttributionOsLevelManagerAndroid::GetApiState()) { + switch (GetApiState()) { diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc --- a/content/browser/attribution_reporting/attribution_report_network_sender.cc +++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc -@@ -83,6 +83,9 @@ void AttributionReportNetworkSender::SendReport(GURL url, +@@ -88,6 +88,9 @@ void AttributionReportNetworkSender::SendReport(GURL url, const std::string& body, net::HttpRequestHeaders headers, UrlLoaderCallback callback) { @@ -170,7 +170,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se auto resource_request = std::make_unique(); resource_request->url = std::move(url); resource_request->headers = std::move(headers); -@@ -154,6 +157,12 @@ void AttributionReportNetworkSender::OnReportSent( +@@ -161,6 +164,12 @@ void AttributionReportNetworkSender::OnReportSent( ReportSentCallback sent_callback, UrlLoaderList::iterator it, scoped_refptr headers) { @@ -186,7 +186,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc --- a/content/browser/attribution_reporting/attribution_storage_sql.cc +++ b/content/browser/attribution_reporting/attribution_storage_sql.cc -@@ -591,6 +591,8 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) { +@@ -609,14 +609,16 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) { return user_data_directory.Append(kDatabasePath); } @@ -194,8 +194,6 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/ + } // namespace - // static -@@ -602,9 +604,9 @@ bool AttributionStorageSql::DeleteStorageForTesting( AttributionStorageSql::AttributionStorageSql( const base::FilePath& user_data_directory, std::unique_ptr delegate) @@ -211,7 +209,7 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc -@@ -1432,13 +1432,7 @@ void StoragePartitionImpl::Initialize( +@@ -1426,13 +1426,7 @@ void StoragePartitionImpl::Initialize( bucket_manager_ = std::make_unique(this); @@ -241,7 +239,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn diff --git a/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java b/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java --- a/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java +++ b/content/public/android/java/src/org/chromium/content/browser/AttributionOsLevelManager.java -@@ -10,15 +10,6 @@ import android.os.Build; +@@ -10,16 +10,7 @@ import android.os.Build; import android.os.Process; import android.view.MotionEvent; @@ -252,12 +250,13 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib -import androidx.privacysandbox.ads.adservices.measurement.WebTriggerParams; -import androidx.privacysandbox.ads.adservices.measurement.WebTriggerRegistrationRequest; - + import com.google.common.collect.ImmutableList; -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import org.chromium.base.ContextUtils; -@@ -38,6 +29,8 @@ import java.util.Arrays; +@@ -39,6 +30,8 @@ import java.util.Arrays; */ @JNINamespace("content") public class AttributionOsLevelManager { @@ -266,7 +265,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib private static final String TAG = "AttributionManager"; // TODO: replace with constant in android.Manifest.permission once it becomes available in U. private static final String PERMISSION_ACCESS_ADSERVICES_ATTRIBUTION = -@@ -51,12 +44,7 @@ public class AttributionOsLevelManager { +@@ -52,12 +45,7 @@ public class AttributionOsLevelManager { } private MeasurementManagerFutures getManager() { @@ -280,7 +279,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib } private void onRegistrationCompleted(int requestId, boolean success) { -@@ -66,23 +54,6 @@ public class AttributionOsLevelManager { +@@ -67,23 +55,6 @@ public class AttributionOsLevelManager { } } @@ -304,7 +303,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib /** * Registers a web attribution source with native, see `registerWebSourceAsync()`: * https://developer.android.com/reference/androidx/privacysandbox/ads/adservices/java/measurement/MeasurementManagerFutures. -@@ -99,13 +70,6 @@ public class AttributionOsLevelManager { +@@ -100,13 +71,6 @@ public class AttributionOsLevelManager { onRegistrationCompleted(requestId, /*success=*/false); return; } @@ -318,7 +317,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib } /** -@@ -125,11 +89,6 @@ public class AttributionOsLevelManager { +@@ -146,11 +110,6 @@ public class AttributionOsLevelManager { onRegistrationCompleted(requestId, /*success=*/false); return; } @@ -330,30 +329,23 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib } private void onDataDeletionCompleted(int requestId) { -@@ -163,22 +122,6 @@ public class AttributionOsLevelManager { - for (String domain : domains) { - domainUris.add(Uri.parse(domain)); - } +@@ -237,15 +196,6 @@ public class AttributionOsLevelManager { + onCall(); + } + }; - -- ListenableFuture future = mm.deleteRegistrationsAsync( -- new DeletionRequest(deletionMode, matchBehavior, Instant.ofEpochMilli(startMs), -- Instant.ofEpochMilli(endMs), originUris, domainUris)); +- for (int currMatchBehavior : matchBehaviors) { +- ListenableFuture future = mm.deleteRegistrationsAsync(new DeletionRequest( +- deletionMode, currMatchBehavior, Instant.ofEpochMilli(startMs), +- Instant.ofEpochMilli(endMs), originUris, domainUris)); - -- Futures.addCallback(future, new FutureCallback() { -- @Override -- public void onSuccess(Object result) { -- onDataDeletionCompleted(requestId); -- } -- @Override -- public void onFailure(Throwable thrown) { -- Log.w(TAG, "Failed to delete measurement API data", thrown); -- onDataDeletionCompleted(requestId); -- } -- }, ContextUtils.getApplicationContext().getMainExecutor()); +- Futures.addCallback( +- future, callback, ContextUtils.getApplicationContext().getMainExecutor()); +- } } /** -@@ -203,32 +146,6 @@ public class AttributionOsLevelManager { +@@ -270,32 +220,6 @@ public class AttributionOsLevelManager { AttributionOsLevelManagerJni.get().onMeasurementStateReturned(0); return; } @@ -400,9 +392,9 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -892,8 +892,8 @@ BASE_FEATURE(kPreloadingHoldback, - // Enables exposure of ads APIs in the renderer: Attribution Reporting, - // FLEDGE, Topics. +@@ -882,8 +882,8 @@ BASE_FEATURE(kPrivacySandboxAdsAPIsM1Override, + // FLEDGE, Topics, along with a number of other features actively in development + // within these APIs. BASE_FEATURE(kPrivacySandboxAdsAPIsOverride, - "PrivacySandboxAdsAPIsOverride", - base::FEATURE_DISABLED_BY_DEFAULT); @@ -414,7 +406,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -936,6 +936,9 @@ void RenderThreadImpl::InitializeRenderer( +@@ -939,6 +939,9 @@ void RenderThreadImpl::InitializeRenderer( reduced_user_agent_ = WebString::FromUTF8(reduced_user_agent); user_agent_metadata_ = user_agent_metadata; cors_exempt_header_list_ = cors_exempt_header_list; @@ -424,36 +416,36 @@ diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_th attribution_support_ = attribution_support; blink::WebVector web_cors_exempt_header_list( -@@ -1837,7 +1840,7 @@ RenderThreadImpl::GetAttributionReportingSupport() { - #if BUILDFLAG(IS_ANDROID) +@@ -1858,7 +1861,7 @@ RenderThreadImpl::GetAttributionReportingSupport() { + void RenderThreadImpl::SetAttributionReportingSupport( network::mojom::AttributionSupport attribution_support) { - attribution_support_ = attribution_support; + attribution_support_ = network::mojom::AttributionSupport::kNone; } - #endif + std::unique_ptr RenderThreadImpl::CreateMediaCodecFactory( diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network/public/cpp/attribution_utils.cc --- a/services/network/public/cpp/attribution_utils.cc +++ b/services/network/public/cpp/attribution_utils.cc -@@ -13,6 +13,7 @@ namespace network { +@@ -16,6 +16,7 @@ namespace network { - base::StringPiece GetAttributionSupportHeader( + std::string GetAttributionSupportHeader( mojom::AttributionSupport attribution_support) { + if ((true)) return ""; - switch (attribution_support) { - case mojom::AttributionSupport::kWeb: - return "web"; -@@ -28,6 +29,7 @@ base::StringPiece GetAttributionSupportHeader( + std::vector registrars; + const auto add_registrar = [®istrars](std::string registrar) { + registrars.emplace_back(std::move(registrar), +@@ -39,6 +40,7 @@ std::string GetAttributionSupportHeader( } bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) { + if ((true)) return false; switch (attribution_support) { - #if BUILDFLAG(IS_ANDROID) case mojom::AttributionSupport::kOs: -@@ -45,6 +47,7 @@ bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) { - #if BUILDFLAG(IS_ANDROID) + case mojom::AttributionSupport::kWebAndOs: +@@ -50,6 +52,7 @@ bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) { + } bool HasAttributionWebSupport(mojom::AttributionSupport attribution_support) { + if ((true)) return false; @@ -510,7 +502,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -203,6 +203,13 @@ +@@ -215,6 +215,13 @@ }, data: [ @@ -527,7 +519,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -502,6 +502,6 @@ BASE_FEATURE(kCr2023MacFontSmoothing, +@@ -527,6 +527,6 @@ BASE_FEATURE(kCr2023MacFontSmoothing, BASE_FEATURE(kUseNanosecondsForMotionEvent, "UseNanosecondsForMotionEvent", diff --git a/build/patches/Disable-media-router-and-remoting-by-default.patch b/build/patches/Disable-media-router-and-remoting-by-default.patch index 49b984d4..b284aeea 100644 --- a/build/patches/Disable-media-router-and-remoting-by-default.patch +++ b/build/patches/Disable-media-router-and-remoting-by-default.patch @@ -5,10 +5,9 @@ Subject: Disable media router and remoting by default Original License: MIT - https://spdx.org/licenses/MIT.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../media/router/media_router_feature.cc | 29 ++++++------------- - chrome/browser/profiles/profile_impl.cc | 2 +- - .../media_item_ui_helper.cc | 3 ++ - 3 files changed, 13 insertions(+), 21 deletions(-) + chrome/browser/media/router/media_router_feature.cc | 5 +++-- + chrome/browser/profiles/profile_impl.cc | 2 +- + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc --- a/chrome/browser/media/router/media_router_feature.cc @@ -22,49 +21,15 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse BASE_FEATURE(kCastAllowAllIPsFeature, "CastAllowAllIPs", base::FEATURE_DISABLED_BY_DEFAULT); -@@ -79,26 +79,15 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop, - #endif // BUILDFLAG(IS_CHROMEOS) - #endif // BUILDFLAG(IS_ANDROID) - --namespace { --const PrefService::Preference* GetMediaRouterPref( -- content::BrowserContext* context) { -- return user_prefs::UserPrefs::Get(context)->FindPreference( -- ::prefs::kEnableMediaRouter); --} -- --base::flat_map& GetStoredPrefValues() { -- static base::NoDestructor> -- stored_pref_values; -- -- return *stored_pref_values; --} --} // namespace -- --void ClearMediaRouterStoredPrefsForTesting() { -+/*void ClearMediaRouterStoredPrefsForTesting() { - GetStoredPrefValues().clear(); --} -+}*/ +@@ -99,6 +99,7 @@ void ClearMediaRouterStoredPrefsForTesting() { + } bool MediaRouterEnabled(content::BrowserContext* context) { -+ return false; -+} -+ -+/* ++ if ((true)) return false; #if !BUILDFLAG(IS_ANDROID) if (!base::FeatureList::IsEnabled(kMediaRouter)) return false; -@@ -135,7 +124,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) { - return allowed; - } - return true; --} -+}*/ - - #if !BUILDFLAG(IS_ANDROID) - void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { -@@ -147,7 +136,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -147,7 +148,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "", PrefRegistry::PUBLIC); registry->RegisterBooleanPref( @@ -76,7 +41,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -420,7 +420,7 @@ void ProfileImpl::RegisterProfilePrefs( +@@ -419,7 +419,7 @@ void ProfileImpl::RegisterProfilePrefs( #endif registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false); @@ -85,18 +50,5 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p #if !BUILDFLAG(IS_ANDROID) registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false); #endif // !BUILDFLAG(IS_ANDROID) -diff --git a/chrome/browser/ui/views/global_media_controls/media_item_ui_helper.cc b/chrome/browser/ui/views/global_media_controls/media_item_ui_helper.cc ---- a/chrome/browser/ui/views/global_media_controls/media_item_ui_helper.cc -+++ b/chrome/browser/ui/views/global_media_controls/media_item_ui_helper.cc -@@ -63,6 +63,9 @@ absl::optional GetSessionRoute( - const std::string& item_id, - base::WeakPtr item, - content::BrowserContext* context) { -+ if (!media_router::MediaRouterEnabled(context)) { -+ return absl::nullopt; -+ } - // Return absl::nullopt if the item is not a local media session. - if (!item || item->SourceType() != - media_message_center::SourceType::kLocalMediaSession) { -- 2.25.1 diff --git a/build/patches/Disable-safety-check.patch b/build/patches/Disable-safety-check.patch index 69edd8e9..959e3c92 100644 --- a/build/patches/Disable-safety-check.patch +++ b/build/patches/Disable-safety-check.patch @@ -6,16 +6,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- chrome/android/BUILD.gn | 5 ----- chrome/android/chrome_java_sources.gni | 1 - - .../browser/app/omnibox/ActionChipsDelegateImpl.java | 3 --- .../chrome/browser/settings/SettingsActivity.java | 8 -------- .../chrome/browser/settings/SettingsLauncherImpl.java | 5 +---- chrome/browser/BUILD.gn | 1 - + .../browser/omnibox/suggestions/action/OmniboxPedal.java | 3 --- 6 files changed, 1 insertion(+), 22 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -295,7 +295,6 @@ if (current_toolchain == default_toolchain) { +@@ -362,7 +362,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/recent_tabs:factory_java", "//chrome/browser/recent_tabs:java", "//chrome/browser/safe_browsing/android:java", @@ -23,7 +23,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/search_engines/android:java", "//chrome/browser/search_resumption:java", "//chrome/browser/segmentation_platform:factory_java", -@@ -891,8 +890,6 @@ if (current_toolchain == default_toolchain) { +@@ -957,8 +956,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/quick_delete:junit", "//chrome/browser/recent_tabs:java", "//chrome/browser/recent_tabs/internal:junit", @@ -32,7 +32,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/search_engines/android:java", "//chrome/browser/search_resumption:junit", "//chrome/browser/segmentation_platform:factory_java", -@@ -1452,8 +1449,6 @@ if (current_toolchain == default_toolchain) { +@@ -1530,8 +1527,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/quick_delete:javatests", "//chrome/browser/safe_browsing/android:java", "//chrome/browser/safe_browsing/android:javatests", @@ -44,7 +44,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 -@@ -984,7 +984,6 @@ chrome_java_sources = [ +@@ -986,7 +986,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java", @@ -52,23 +52,10 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java", "java/src/org/chromium/chrome/browser/searchwidget/SearchBoxDataProvider.java", -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/ActionChipsDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/ActionChipsDelegateImpl.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/ActionChipsDelegateImpl.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/ActionChipsDelegateImpl.java -@@ -75,9 +75,6 @@ public class ActionChipsDelegateImpl implements ActionChipsDelegate { - mSettingsLauncher.launchSettingsActivity( - mActivity, SettingsFragment.PAYMENT_METHODS); - break; -- case OmniboxPedalType.RUN_CHROME_SAFETY_CHECK: -- mSettingsLauncher.launchSettingsActivity(mActivity, SettingsFragment.SAFETY_CHECK); -- break; - case OmniboxPedalType.MANAGE_SITE_SETTINGS: - mSettingsLauncher.launchSettingsActivity(mActivity, SettingsFragment.SITE); - break; 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,9 +60,6 @@ import org.chromium.chrome.browser.privacy_sandbox.AdMeasurementFragment; +@@ -62,9 +62,6 @@ 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; @@ -78,7 +65,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings; import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate; -@@ -439,11 +436,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -448,11 +445,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity fragmentHelpAndFeedbackLauncher.setHelpAndFeedbackLauncher( HelpAndFeedbackLauncherImpl.getForProfile(mProfile)); } @@ -115,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3304,7 +3304,6 @@ static_library("browser") { +@@ -3325,7 +3325,6 @@ static_library("browser") { "//chrome/browser/reading_list/android", "//chrome/browser/recent_tabs:jni_headers", "//chrome/browser/safe_browsing/android:safe_browsing_enums", @@ -123,5 +110,18 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/search_resumption:jni_headers", "//chrome/browser/share/android:jni_headers", "//chrome/browser/share/core/crow:crow_configuration", +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java +@@ -44,9 +44,6 @@ public class OmniboxPedal extends OmniboxAction { + case OmniboxPedalId.UPDATE_CREDIT_CARD: + delegate.openSettingsPage(SettingsFragment.PAYMENT_METHODS); + break; +- case OmniboxPedalId.RUN_CHROME_SAFETY_CHECK: +- delegate.openSettingsPage(SettingsFragment.SAFETY_CHECK); +- break; + case OmniboxPedalId.MANAGE_SITE_SETTINGS: + delegate.openSettingsPage(SettingsFragment.SITE); + break; -- 2.25.1 diff --git a/build/patches/Disable-support-for-RAR-files-inspection.patch b/build/patches/Disable-support-for-RAR-files-inspection.patch index cb517bed..6e1c3741 100644 --- a/build/patches/Disable-support-for-RAR-files-inspection.patch +++ b/build/patches/Disable-support-for-RAR-files-inspection.patch @@ -5,11 +5,10 @@ Subject: Disable support for RAR files inspection License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../download_protection/file_analyzer.cc | 2 +- - chrome/common/safe_browsing/BUILD.gn | 2 -- - chrome/common/safe_browsing/archive_analyzer.cc | 3 +-- .../services/file_util/safe_archive_analyzer.cc | 17 +++-------------- .../services/file_util/safe_archive_analyzer.h | 2 -- - 5 files changed, 5 insertions(+), 21 deletions(-) + chrome/utility/safe_browsing/BUILD.gn | 2 -- + 4 files changed, 4 insertions(+), 19 deletions(-) diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc --- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc @@ -23,42 +22,10 @@ diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b #if BUILDFLAG(IS_MAC) } else if (inspection_type == DownloadFileType::DMG) { StartExtractDmgFeatures(); -diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn ---- a/chrome/common/safe_browsing/BUILD.gn -+++ b/chrome/common/safe_browsing/BUILD.gn -@@ -145,8 +145,6 @@ source_set("safe_browsing") { - "protobuf_message_log_macros.h", - "protobuf_message_read_macros.h", - "protobuf_message_write_macros.h", -- "rar_analyzer.cc", -- "rar_analyzer.h", - "seven_zip_analyzer.cc", - "seven_zip_analyzer.h", - "zip_analyzer.cc", -diff --git a/chrome/common/safe_browsing/archive_analyzer.cc b/chrome/common/safe_browsing/archive_analyzer.cc ---- a/chrome/common/safe_browsing/archive_analyzer.cc -+++ b/chrome/common/safe_browsing/archive_analyzer.cc -@@ -8,7 +8,6 @@ - #include "build/build_config.h" - #include "build/buildflag.h" - #include "chrome/common/safe_browsing/archive_analyzer_results.h" --#include "chrome/common/safe_browsing/rar_analyzer.h" - #include "chrome/common/safe_browsing/seven_zip_analyzer.h" - #include "chrome/common/safe_browsing/zip_analyzer.h" - #include "components/safe_browsing/content/common/proto/download_file_types.pb.h" -@@ -24,7 +23,7 @@ namespace safe_browsing { - std::unique_ptr ArchiveAnalyzer::CreateForArchiveType( - DownloadFileType_InspectionType file_type) { - if (file_type == DownloadFileType::RAR) { -- return std::make_unique(); -+ return nullptr; - } else if (file_type == DownloadFileType::ZIP) { - return std::make_unique(); - } else if (file_type == DownloadFileType::SEVEN_ZIP) { diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc --- a/chrome/services/file_util/safe_archive_analyzer.cc +++ b/chrome/services/file_util/safe_archive_analyzer.cc -@@ -72,20 +72,9 @@ void SafeArchiveAnalyzer::AnalyzeRarFile( +@@ -70,20 +70,9 @@ void SafeArchiveAnalyzer::AnalyzeRarFile( mojo::PendingRemote temp_file_getter, AnalyzeRarFileCallback callback) { DCHECK(rar_file.IsValid()); @@ -85,14 +52,14 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h --- a/chrome/services/file_util/safe_archive_analyzer.h +++ b/chrome/services/file_util/safe_archive_analyzer.h -@@ -6,7 +6,6 @@ - #define CHROME_SERVICES_FILE_UTIL_SAFE_ARCHIVE_ANALYZER_H_ +@@ -7,7 +7,6 @@ #include "chrome/common/safe_browsing/archive_analyzer_results.h" --#include "chrome/common/safe_browsing/rar_analyzer.h" - #include "chrome/common/safe_browsing/seven_zip_analyzer.h" - #include "chrome/common/safe_browsing/zip_analyzer.h" #include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h" +-#include "chrome/utility/safe_browsing/rar_analyzer.h" + #include "chrome/utility/safe_browsing/seven_zip_analyzer.h" + #include "chrome/utility/safe_browsing/zip_analyzer.h" + #include "mojo/public/cpp/bindings/remote.h" @@ -63,7 +62,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer { void Timeout(); @@ -101,5 +68,17 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services safe_browsing::SevenZipAnalyzer seven_zip_analyzer_; #if BUILDFLAG(IS_MAC) safe_browsing::dmg::DMGAnalyzer dmg_analyzer_; +diff --git a/chrome/utility/safe_browsing/BUILD.gn b/chrome/utility/safe_browsing/BUILD.gn +--- a/chrome/utility/safe_browsing/BUILD.gn ++++ b/chrome/utility/safe_browsing/BUILD.gn +@@ -31,8 +31,6 @@ source_set("safe_browsing") { + sources = [ + "archive_analyzer.cc", + "archive_analyzer.h", +- "rar_analyzer.cc", +- "rar_analyzer.h", + "seven_zip_analyzer.cc", + "seven_zip_analyzer.h", + "zip_analyzer.cc", -- 2.25.1 diff --git a/build/patches/Enable-Certificate-Transparency.patch b/build/patches/Enable-Certificate-Transparency.patch index f49b1cba..d58c49c9 100644 --- a/build/patches/Enable-Certificate-Transparency.patch +++ b/build/patches/Enable-Certificate-Transparency.patch @@ -24,22 +24,22 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -9139,6 +9139,11 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kWebMidiDescription, kOsAll, +@@ -9385,6 +9385,11 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kWebMidi)}, - #if BUILDFLAG(IS_ANDROID) + + #if BUILDFLAG(IS_CHROMEOS_ASH) + {"certificate-transparency-enabled", + flag_descriptions::kCTEnabledName, + flag_descriptions::kCTEnabledDescription, kOsAndroid, + FEATURE_VALUE_TYPE(features::kCertificateTransparencyAndroid)}, + - {"use-real-color-space-for-android-video", - flag_descriptions::kUseRealColorSpaceForAndroidVideoName, - flag_descriptions::kUseRealColorSpaceForAndroidVideoDescription, + {"dns-over-https-with-identifiers-reuse-old-policy", + flag_descriptions::kDnsOverHttpsWithIdentifiersReuseOldPolicyName, + flag_descriptions::kDnsOverHttpsWithIdentifiersReuseOldPolicyDescription, diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc -@@ -176,8 +176,8 @@ BASE_FEATURE(kWebUsbDeviceDetection, +@@ -168,8 +168,8 @@ BASE_FEATURE(kWebUsbDeviceDetection, #if BUILDFLAG(IS_ANDROID) // Enables Certificate Transparency on Android. BASE_FEATURE(kCertificateTransparencyAndroid, @@ -53,7 +53,7 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -7133,6 +7133,10 @@ const char kAutofillCreditCardUploadDescription[] = +@@ -7214,6 +7214,10 @@ const char kAutofillCreditCardUploadDescription[] = #endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) @@ -67,7 +67,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -4145,6 +4145,9 @@ extern const char kAutofillCreditCardUploadDescription[]; +@@ -4180,6 +4180,9 @@ extern const char kAutofillCreditCardUploadDescription[]; #endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) @@ -80,7 +80,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -928,7 +928,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( +@@ -916,7 +916,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { if (certificate_transparency_enabled_for_testing_.has_value()) return certificate_transparency_enabled_for_testing_.value(); @@ -88,7 +88,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows // TODO(carlosil): Figure out if we can/should remove the OFFICIAL_BUILD and // GOOGLE_CHROME_BRANDING checks now that enforcement does not rely on build // dates, and allow embedders to enforce. -@@ -942,9 +941,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { +@@ -930,9 +929,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { #else return true; #endif // BUILDFLAG(IS_ANDROID) @@ -116,7 +116,7 @@ diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sc diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -997,11 +997,7 @@ BASE_FEATURE(kSchedulerConfiguration, +@@ -1032,11 +1032,7 @@ BASE_FEATURE(kSchedulerConfiguration, // Controls whether SCT audit reports are queued and the rate at which they // should be sampled. Default sampling rate is 1/10,000 certificates. @@ -167,7 +167,7 @@ diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -2579,7 +2579,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2593,7 +2593,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( // TransportSecurityState. Since no requests have been made yet, safe to do // this even after the call to Build(). diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index a98caba3..ad633336 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -93,9 +93,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/cc/base/features.cc b/cc/base/features.cc --- a/cc/base/features.cc +++ b/cc/base/features.cc -@@ -40,6 +40,10 @@ BASE_FEATURE(kAvoidRasterDuringElasticOverscroll, - "AvoidRasterDuringElasticOverscroll", +@@ -36,6 +36,10 @@ BASE_FEATURE(kSynchronizedScrolling, base::FEATURE_ENABLED_BY_DEFAULT); + #endif +BASE_FEATURE(kMoveTopToolbarToBottom, + "MoveTopToolbarToBottom", @@ -107,10 +107,10 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc diff --git a/cc/base/features.h b/cc/base/features.h --- a/cc/base/features.h +++ b/cc/base/features.h -@@ -20,6 +20,7 @@ CC_BASE_EXPORT BASE_DECLARE_FEATURE(kSynchronizedScrolling); - // that resets the scale at the end. When enabled, this aovids recomputing - // raster scale during elastic overscroll. - CC_BASE_EXPORT BASE_DECLARE_FEATURE(kAvoidRasterDuringElasticOverscroll); +@@ -14,6 +14,7 @@ namespace features { + CC_BASE_EXPORT BASE_DECLARE_FEATURE(kAnimatedImageResume); + CC_BASE_EXPORT extern bool IsImpulseScrollAnimationEnabled(); + CC_BASE_EXPORT BASE_DECLARE_FEATURE(kSynchronizedScrolling); +CC_BASE_EXPORT BASE_DECLARE_FEATURE(kMoveTopToolbarToBottom); // When enabled, the double tap to zoom will be disabled when the viewport @@ -141,7 +141,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -4305,6 +4305,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) { +@@ -4318,6 +4318,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) { if (scroll_delta.IsZero()) return false; @@ -164,7 +164,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ /** The mediator implements the logic to interact with the surfaces and caller. */ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.OnClickListener, StartSurface.OnTabSelectingListener, BackPressHandler, -@@ -1311,6 +1314,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. +@@ -1304,6 +1307,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. } private void setTopMargin(int topMargin) { @@ -407,7 +407,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -@@ -50,6 +51,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; +@@ -49,6 +50,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; import org.chromium.ui.widget.ViewLookupCachingFrameLayout; @@ -417,7 +417,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; -@@ -100,6 +104,74 @@ public class TabListCoordinator +@@ -98,6 +102,74 @@ public class TabListCoordinator private ItemTouchHelper mItemTouchHelper; private OnItemTouchListener mOnItemTouchListener; @@ -492,7 +492,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * Construct a coordinator for UI that shows a list of tabs. * @param mode Modes of showing the list of tabs. Can be used in GRID or STRIP. -@@ -249,6 +321,12 @@ public class TabListCoordinator +@@ -246,6 +318,12 @@ public class TabListCoordinator if (mMode == TabListMode.GRID) { GridLayoutManager gridLayoutManager = new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT); @@ -504,17 +504,17 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser + } mRecyclerView.setLayoutManager(gridLayoutManager); mMediator.registerOrientationListener(gridLayoutManager); - mMediator.updateSpanCount(gridLayoutManager, -@@ -505,6 +583,9 @@ public class TabListCoordinator - } + mMediator.updateSpanCount( +@@ -507,6 +585,9 @@ public class TabListCoordinator + void prepareTabSwitcherView() { registerLayoutChangeListener(); mRecyclerView.prepareTabSwitcherView(); + if (mRecyclerView.getLayoutManager() instanceof GridLayoutManagerDockBottom) { + ((GridLayoutManagerDockBottom)mRecyclerView.getLayoutManager()).ResetTopPosition(); + } - mMediator.prepareTabSwitcherView(); mMediator.registerOnScrolledListener(mRecyclerView); } + diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java @@ -597,7 +597,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher; import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities; import org.chromium.chrome.browser.tab.Tab; -@@ -497,11 +498,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -500,11 +501,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView updateTopControlsProperties(); mContainerViewModel.set( BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight()); @@ -620,7 +620,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser if (backPressManager != null && BackPressManager.isEnabled()) { assert !mIsStartSurfaceEnabled || mIsStartSurfaceRefactorEnabled; backPressManager.addHandler(this, BackPressHandler.Type.TAB_SWITCHER); -@@ -624,6 +636,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView +@@ -627,6 +639,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView final int contentOffset = mBrowserControlsStateProvider.getContentOffset(); mContainerViewModel.set(TOP_MARGIN, contentOffset); @@ -634,7 +634,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java -@@ -19,6 +19,14 @@ import org.chromium.components.browser_ui.accessibility.PageZoomUtils; +@@ -18,6 +18,14 @@ import org.chromium.components.browser_ui.accessibility.PageZoomUtils; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.content_public.browser.BrowserContextHandle; @@ -648,8 +648,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s + /** The Chrome implementation of AccessibilitySettingsDelegate. */ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySettingsDelegate { - private static final String READER_MODE_SELECTED_HISTOGRAM = -@@ -35,6 +43,12 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting + private static class AccessibilityTabSwitcherDelegate implements BooleanPreferenceDelegate { +@@ -31,6 +39,12 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting public void setEnabled(boolean value) {} } @@ -660,9 +660,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s + } + private static class ReaderForAccessibilityDelegate implements BooleanPreferenceDelegate { - @Override - public boolean isEnabled() { -@@ -87,6 +101,44 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting + private final Profile mProfile; + +@@ -96,6 +110,44 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting return new ForceTabletUIDelegate(); } @@ -720,7 +720,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv /** * A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder} * and associated classes. -@@ -767,6 +770,16 @@ public abstract class ChromeActivity +@@ -768,6 +771,16 @@ public abstract class ChromeActivity int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { controlContainer.initWithToolbar(toolbarLayoutId); @@ -740,18 +740,18 @@ 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/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java -@@ -104,6 +104,7 @@ public class ChromeCachedFlags { - ChromeFeatureList.sInstanceSwitcher, - ChromeFeatureList.sInstantStart, - ChromeFeatureList.sInterestFeedV2, +@@ -72,6 +72,7 @@ public class ChromeCachedFlags { + BrandingController.BRANDING_CADENCE_MS, + ChromeFeatureList.sAllowUserCertificates, + BrandingController.MAX_BLANK_TOOLBAR_TIMEOUT_MS, + ChromeFeatureList.sMoveTopToolbarToBottom, - ChromeFeatureList.sOmniboxMatchToolbarAndStatusBarColor, - ChromeFeatureList.sOmniboxModernizeVisualUpdate, - ChromeFeatureList.sOmniboxMostVisitedTilesAddRecycledViewPool, + BrandingController.USE_TEMPORARY_STORAGE, + BrandingController.ANIMATE_TOOLBAR_ICON_TRANSITION, ChimeFeatures.ALWAYS_REGISTER, + DeviceClassManager.GTS_ACCESSIBILITY_SUPPORT, diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java -@@ -89,6 +89,8 @@ import org.chromium.ui.base.WindowAndroid; +@@ -90,6 +90,8 @@ import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.mojom.VirtualKeyboardMode; import org.chromium.ui.resources.ResourceManager; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; @@ -760,7 +760,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp import java.util.ArrayList; import java.util.HashSet; -@@ -329,6 +331,10 @@ public class CompositorViewHolder extends FrameLayout +@@ -332,6 +334,10 @@ public class CompositorViewHolder extends FrameLayout @Override public void setCurrentTouchEventOffsets(float top) { EventForwarder forwarder = getEventForwarder(); @@ -771,7 +771,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp if (forwarder != null) forwarder.setCurrentTouchEventOffsets(0, top); } -@@ -903,6 +909,9 @@ public class CompositorViewHolder extends FrameLayout +@@ -906,6 +912,9 @@ public class CompositorViewHolder extends FrameLayout int keyboardInset = mApplicationBottomInsetSupplier != null ? mApplicationBottomInsetSupplier.get().webContentsHeightInset : 0; @@ -784,7 +784,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java -@@ -44,6 +44,8 @@ import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.Sw +@@ -43,6 +43,8 @@ import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.Sw import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; @@ -793,7 +793,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo import java.util.List; -@@ -254,7 +256,10 @@ public class LayoutManagerChrome +@@ -253,7 +255,10 @@ public class LayoutManagerChrome @Override public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) { @@ -805,7 +805,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } @Override -@@ -504,9 +509,11 @@ public class LayoutManagerChrome +@@ -477,9 +482,11 @@ public class LayoutManagerChrome private static final float SWIPE_RANGE_DEG = 25; private final boolean mSupportSwipeDown; @@ -818,7 +818,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } @Override -@@ -538,6 +545,9 @@ public class LayoutManagerChrome +@@ -511,6 +518,9 @@ public class LayoutManagerChrome && mScrollDirection == ScrollDirection.DOWN) { RecordUserAction.record("MobileToolbarSwipeOpenStackView"); showLayout(LayoutType.TAB_SWITCHER, true); @@ -828,7 +828,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } else if (mScrollDirection == ScrollDirection.LEFT || mScrollDirection == ScrollDirection.RIGHT) { startShowing(mToolbarSwipeLayout, true); -@@ -584,6 +594,8 @@ public class LayoutManagerChrome +@@ -557,6 +567,8 @@ public class LayoutManagerChrome direction = ScrollDirection.RIGHT; } else if (swipeAngle < 270 + SWIPE_RANGE_DEG && swipeAngle > 270 - SWIPE_RANGE_DEG) { direction = ScrollDirection.DOWN; @@ -837,7 +837,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo } return direction; -@@ -597,7 +609,7 @@ public class LayoutManagerChrome +@@ -570,7 +582,7 @@ public class LayoutManagerChrome return false; } @@ -849,7 +849,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/compositor/layouts/LayoutManagerChromeTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java -@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer; +@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer; import org.chromium.chrome.features.start_surface.StartSurface; import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; @@ -857,12 +857,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo import java.util.concurrent.Callable; -@@ -83,7 +84,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome { - mStartSurfaceSupplier = startSurfaceSupplier; +@@ -86,7 +87,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome { mTabSwitcherSupplier = tabSwitcherSupplier; mTabStripLayoutHelperManager = new StripLayoutHelperManager(host.getContext(), host, this, -- mHost.getLayoutRenderHost(), () -> mLayerTitleCache, lifecycleDispatcher); -+ mHost.getLayoutRenderHost(), () -> mLayerTitleCache, lifecycleDispatcher, + mHost.getLayoutRenderHost(), +- () -> mLayerTitleCache, tabModelStartupInfoSupplier, lifecycleDispatcher); ++ () -> mLayerTitleCache, tabModelStartupInfoSupplier, lifecycleDispatcher, + /*browserControlsManagerSupplier*/ () -> getBrowserControlsManager()); mScrimCoordinator = scrimCoordinator; mCreateStartSurfaceCallable = delayedStartSurfaceCallable; @@ -909,7 +909,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/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java -@@ -498,7 +498,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate +@@ -503,7 +503,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate // position 0 is on the left. Account for that in the offset calculation. boolean isRtl = LocalizationUtils.isLayoutRtl(); boolean useUnadjustedScrollOffset = isRtl != isLeft; @@ -921,7 +921,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java -@@ -57,6 +57,9 @@ import org.chromium.ui.base.LocalizationUtils; +@@ -59,6 +59,9 @@ import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.PageTransition; import org.chromium.ui.resources.ResourceManager; import org.chromium.url.GURL; @@ -931,7 +931,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import java.util.List; -@@ -128,9 +131,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa +@@ -150,9 +153,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa private final String mDefaultTitle; private final Supplier mLayerTitleCacheSupplier; @@ -945,7 +945,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over if (mModelSelectorButton.onDown(x, y)) return; getActiveStripLayoutHelper().onDown(time(), x, y, fromMouse, buttons); } -@@ -148,12 +155,14 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa +@@ -170,12 +177,14 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa @Override public void drag(float x, float y, float dx, float dy, float tx, float ty) { @@ -960,7 +960,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over long time = time(); if (mModelSelectorButton.click(x, y)) { mModelSelectorButton.handleClick(time); -@@ -164,11 +173,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa +@@ -186,11 +195,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa @Override public void fling(float x, float y, float velocityX, float velocityY) { @@ -974,26 +974,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over getActiveStripLayoutHelper().onLongPress(time(), x, y); } -@@ -225,7 +236,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa - public StripLayoutHelperManager(Context context, LayoutManagerHost managerHost, +@@ -248,7 +259,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa LayoutUpdateHost updateHost, LayoutRenderHost renderHost, Supplier layerTitleCacheSupplier, + ObservableSupplier tabModelStartupInfoSupplier, - ActivityLifecycleDispatcher lifecycleDispatcher) { + ActivityLifecycleDispatcher lifecycleDispatcher, + Supplier browserControlsManagerSupplier) { mUpdateHost = updateHost; mLayerTitleCacheSupplier = layerTitleCacheSupplier; mTabStripTreeProvider = new TabStripSceneLayer(context); -@@ -314,6 +326,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa +@@ -343,6 +355,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa context, managerHost, updateHost, renderHost, false, mModelSelectorButton); mIncognitoHelper = new StripLayoutHelper( context, managerHost, updateHost, renderHost, true, mModelSelectorButton); + mBrowserControlsManagerSupplier = browserControlsManagerSupplier; + mDpToPx = context.getResources().getDisplayMetrics().density; - onContextChanged(context); - } -@@ -399,9 +413,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa + if (tabModelStartupInfoSupplier != null) { + if (tabModelStartupInfoSupplier.hasValue()) { +@@ -443,9 +457,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa Tab selectedTab = mTabModelSelector.getCurrentModel().getTabAt( mTabModelSelector.getCurrentModel().index()); int selectedTabId = selectedTab == null ? TabModel.INVALID_TAB_INDEX : selectedTab.getId(); @@ -1008,7 +1008,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over return mTabStripTreeProvider; } -@@ -437,7 +455,17 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa +@@ -481,7 +499,17 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa mIncognitoHelper.onSizeChanged( mWidth, mHeight, orientationChanged, LayoutManagerImpl.time()); @@ -1065,7 +1065,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen /** * A SceneLayer to render a tab stack. * TODO(changwan): change layouts to share one instance of this. -@@ -83,6 +86,12 @@ public class TabListSceneLayer extends SceneLayer { +@@ -81,6 +84,12 @@ public class TabListSceneLayer extends SceneLayer { TabListSceneLayerJni.get().beginBuildingFrame(mNativePtr, TabListSceneLayer.this); @@ -1078,9 +1078,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen // TODO(crbug.com/1070281): Use Supplier to get viewport and forward it to native, then // updateLayer can become obsolete. TabListSceneLayerJni.get().updateLayer(mNativePtr, TabListSceneLayer.this, tabListBgColor, -@@ -117,6 +126,11 @@ public class TabListSceneLayer extends SceneLayer { - contentOffset = browserControls.getContentOffset(); - } +@@ -110,6 +119,11 @@ public class TabListSceneLayer extends SceneLayer { + boolean useIncognitoColors = t.isIncognito(); + int defaultThemeColor = ChromeColors.getDefaultThemeColor(context, useIncognitoColors); + if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + toolbarYOffset = 0; @@ -1089,12 +1089,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen + // TODO(dtrainor, clholgat): remove "* dpToPx" once the native part fully supports dp. TabListSceneLayerJni.get().putTabLayer(mNativePtr, TabListSceneLayer.this, t.getId(), - relatedTabIds, mUseAdditionalIds, R.id.control_container, + R.id.control_container, R.drawable.tabswitcher_border_frame_shadow, diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java -@@ -22,6 +22,8 @@ import org.chromium.chrome.browser.layouts.scene_layer.SceneLayer; - import org.chromium.chrome.browser.layouts.scene_layer.SceneOverlayLayer; +@@ -22,6 +22,8 @@ import org.chromium.chrome.browser.layouts.scene_layer.SceneOverlayLayer; + import org.chromium.chrome.browser.tasks.tab_management.TabUiFeatureUtilities; import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.resources.ResourceManager; +import org.chromium.chrome.browser.flags.ChromeFeatureList; @@ -1102,7 +1102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen /** * The Java component of what is basically a CC Layer that manages drawing the Tab Strip (which is -@@ -77,9 +79,18 @@ public class TabStripSceneLayer extends SceneOverlayLayer { +@@ -75,9 +77,18 @@ public class TabStripSceneLayer extends SceneOverlayLayer { */ public void pushAndUpdateStrip(StripLayoutHelperManager layoutHelper, LayerTitleCache layerTitleCache, ResourceManager resourceManager, @@ -1244,7 +1244,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/Chr 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 -@@ -100,6 +100,8 @@ import org.chromium.content_public.browser.NavigationEntry; +@@ -106,6 +106,8 @@ import org.chromium.content_public.browser.NavigationEntry; import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.mojom.WindowOpenDisposition; @@ -1253,7 +1253,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. import java.util.List; -@@ -556,10 +558,15 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -574,10 +576,15 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide // + topControlsDistanceToRest| will give the margin for the current animation frame. final int topControlsDistanceToRest = mBrowserControlsStateProvider.getContentOffset() - mBrowserControlsStateProvider.getTopControlsHeight(); @@ -1271,7 +1271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) { layoutParams.topMargin = topMargin; -@@ -579,7 +586,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -597,7 +604,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide * strip. */ private int getToolbarExtraYOffset() { @@ -1351,7 +1351,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsP diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java -@@ -80,6 +80,11 @@ import org.chromium.ui.base.WindowDelegate; +@@ -84,6 +84,11 @@ import org.chromium.ui.base.WindowDelegate; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.url.GURL; @@ -1363,7 +1363,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import java.lang.ref.WeakReference; /** Queries the user's default search engine and shows autocomplete suggestions. */ -@@ -206,6 +211,12 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -210,6 +215,12 @@ public class SearchActivity extends AsyncInitializationActivity mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById( R.id.search_location_bar); mAnchorView = mContentView.findViewById(R.id.toolbar); @@ -1376,7 +1376,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se updateAnchorViewLayout(); // Create status bar color controller and assign to search activity. -@@ -231,7 +242,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -235,7 +246,7 @@ public class SearchActivity extends AsyncInitializationActivity getOnBackPressedDispatcher().addCallback(this, backPressManager.getCallback()); } // clang-format off @@ -1388,7 +1388,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se 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 -@@ -311,6 +311,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -318,6 +318,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity if (fragment instanceof INeedSnackbarManager) { ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager); } @@ -1487,7 +1487,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mControlContainer.removeOnLayoutChangeListener(mLayoutChangeListener); mLayoutChangeListener = null; } -@@ -1327,13 +1332,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -1325,13 +1330,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve return ((LocationBarCoordinator) mLocationBar).getUrlBarTextWithoutAutocomplete(); } @@ -1515,7 +1515,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mScrimCoordinator, mOmniboxFocusStateSupplier, mBottomSheetController, mActivityLifecycleDispatcher, mIsWarmOnResumeSupplier, mTabModelSelector, mTabContentManager, mCompositorViewHolder, -@@ -1341,8 +1358,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -1339,8 +1356,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve mLayoutStateProviderSupplier, mSnackbarManager); var bottomControlsCoordinator = new BottomControlsCoordinator(mActivity, mWindowAndroid, mLayoutManager, mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer, @@ -1527,7 +1527,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar mBottomControlsCoordinatorSupplier.set(bottomControlsCoordinator); bottomControlsCoordinator.getHandleBackPressChangedSupplier().addObserver( (x) -> { onBackPressStateChanged(); }); -@@ -2155,6 +2173,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -2154,6 +2172,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve private void setControlContainerTopMargin(int margin) { final ViewGroup.MarginLayoutParams layoutParams = ((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams()); @@ -1617,7 +1617,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu 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 -@@ -7637,6 +7637,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7863,6 +7863,11 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWindowsScrollingPersonalityDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWindowsScrollingPersonality)}, @@ -1632,7 +1632,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc --- a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc +++ b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc -@@ -18,6 +18,7 @@ +@@ -17,6 +17,7 @@ #include "ui/android/resources/nine_patch_resource.h" #include "ui/android/resources/resource_manager_impl.h" #include "ui/gfx/geometry/transform.h" @@ -1640,7 +1640,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer using base::android::JavaParamRef; using base::android::JavaRef; -@@ -85,8 +86,10 @@ void TabStripSceneLayer::SetContentTree( +@@ -84,8 +85,10 @@ void TabStripSceneLayer::SetContentTree( content_tree_ = content_tree; if (content_tree) { layer()->InsertChild(content_tree->layer(), 0); @@ -1653,8 +1653,8 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer } } } -@@ -119,13 +122,18 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env, - jboolean should_readd_background, +@@ -117,13 +120,18 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env, + jfloat y_offset, jint background_color) { gfx::RectF content(0, y_offset, width, height); - layer()->SetPosition(gfx::PointF(0, y_offset)); @@ -1672,8 +1672,8 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer - if (content_tree_) + if (content_tree_ && !base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom)) content_tree_->layer()->SetPosition(gfx::PointF(0, -y_offset)); + } - // Make sure tab strip changes are committed after rotating the device. diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java @@ -1716,7 +1716,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -1875,6 +1875,10 @@ const char kImprovedKeyboardShortcutsDescription[] = +@@ -1867,6 +1867,10 @@ const char kImprovedKeyboardShortcutsDescription[] = "Ensure keyboard shortcuts work consistently with international keyboard " "layouts and deprecate legacy shortcuts."; @@ -1730,7 +1730,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -1055,6 +1055,9 @@ extern const char kIgnoreSyncEncryptionKeysLongMissingDescription[]; +@@ -1044,6 +1044,9 @@ extern const char kIgnoreSyncEncryptionKeysLongMissingDescription[]; extern const char kImprovedKeyboardShortcutsName[]; extern const char kImprovedKeyboardShortcutsDescription[]; @@ -1751,7 +1751,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows using base::android::ConvertJavaStringToUTF8; using base::android::ConvertUTF8ToJavaString; -@@ -53,3 +54,20 @@ static ScopedJavaLocalRef JNI_CachedFeatureFlags_GetAdBlockFiltersURL(J +@@ -52,3 +53,20 @@ static ScopedJavaLocalRef JNI_CachedFeatureFlags_GetAdBlockFiltersURL(J static void JNI_CachedFeatureFlags_SetAdBlockFiltersURL(JNIEnv* env, const JavaParamRef& url) { g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL, base::android::ConvertJavaStringToUTF8(env, url)); } @@ -1775,15 +1775,15 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows 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 -@@ -12,6 +12,7 @@ - #include "base/android/jni_string.h" - #include "base/containers/flat_map.h" +@@ -10,6 +10,7 @@ + + #include "base/android/feature_map.h" #include "base/feature_list.h" +#include "cc/base/features.h" - #include "base/metrics/field_trial_params.h" #include "base/no_destructor.h" - #include "base/strings/string_piece_forward.h" -@@ -262,6 +263,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + #include "chrome/browser/browser_features.h" + #include "chrome/browser/feature_guide/notifications/feature_notification_guide_service.h" +@@ -246,6 +247,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kInstantStart, &kLensCameraAssistedSearch, &kLensOnQuickActionSearchWidget, @@ -1794,8 +1794,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java -@@ -120,6 +120,23 @@ public class CachedFeatureFlags { - SharedPreferencesManager.getInstance().writeBoolean(preferenceName, isEnabledInNative); +@@ -139,6 +139,23 @@ public class CachedFeatureFlags { + CachedFeatureFlagsJni.get().isNetworkServiceWarmUpEnabled()); } + /** @@ -1816,9 +1816,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f + } + /** - * Forces a feature to be enabled or disabled for testing. - * -@@ -430,6 +447,7 @@ public class CachedFeatureFlags { + * @return whether warming up network service is enabled. + */ +@@ -326,6 +343,7 @@ public class CachedFeatureFlags { @NativeMethods interface Natives { @@ -1829,7 +1829,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -377,6 +377,8 @@ public abstract class ChromeFeatureList { +@@ -304,6 +304,8 @@ public abstract class ChromeFeatureList { "MessagesForAndroidPermissionUpdate"; public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid"; @@ -1838,19 +1838,19 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant"; public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = "NotificationPermissionBottomSheet"; -@@ -637,6 +639,8 @@ public abstract class ChromeFeatureList { +@@ -553,6 +555,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sInterestFeedV2 = new CachedFlag(INTEREST_FEED_V2, true); - public static final CachedFlag sLensCameraAssistedSearch = - new CachedFlag(LENS_CAMERA_ASSISTED_SEARCH, true); + public static final CachedFlag sOmniboxMatchToolbarAndStatusBarColor = + new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false); + public static final CachedFlag sMoveTopToolbarToBottom = + new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); - public static final CachedFlag sOmahaMinSdkVersionAndroid = - new CachedFlag(OMAHA_MIN_SDK_VERSION_ANDROID, false); - public static final CachedFlag sOmniboxMatchToolbarAndStatusBarColor = + public static final CachedFlag sOmniboxModernizeVisualUpdate = + new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false); + public static final CachedFlag sOmniboxMostVisitedTilesAddRecycledViewPool = 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 -@@ -1757,7 +1757,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1830,7 +1830,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, #if BUILDFLAG(IS_ANDROID) registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault, @@ -2041,7 +2041,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/UrlBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java -@@ -27,6 +27,9 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; +@@ -26,6 +26,9 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -2051,7 +2051,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** * Coordinates the interactions with the UrlBar text component. */ -@@ -241,7 +244,13 @@ public class UrlBarCoordinator implements UrlBarEditingTextStateProvider, UrlFoc +@@ -235,7 +238,13 @@ public class UrlBarCoordinator implements UrlBarEditingTextStateProvider, UrlFoc // to show or hide keyboard anyway. This may happen when we schedule keyboard hide, and // receive a second request to hide the keyboard instantly. if (showKeyboard) { @@ -2069,7 +2069,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/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 -@@ -59,6 +59,8 @@ import org.chromium.ui.modelutil.LazyConstructionPropertyMcp; +@@ -61,6 +61,8 @@ import org.chromium.ui.modelutil.LazyConstructionPropertyMcp; import org.chromium.ui.modelutil.MVCListAdapter; import org.chromium.ui.modelutil.MVCListAdapter.ModelList; import org.chromium.ui.modelutil.PropertyModel; @@ -2078,7 +2078,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import java.util.ArrayList; import java.util.List; -@@ -81,6 +83,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC +@@ -83,6 +85,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC private OneshotSupplierImpl mAdapterSupplier = new OneshotSupplierImpl<>(); private PreWarmingRecycledViewPool mRecycledViewPool; @@ -2086,7 +2086,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public AutocompleteCoordinator(@NonNull ViewGroup parent, @NonNull AutocompleteControllerProvider controllerProvider, -@@ -105,6 +108,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC +@@ -108,6 +111,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC PropertyModel listModel = new PropertyModel(SuggestionListProperties.ALL_KEYS); ModelList listItems = new ModelList(); @@ -2094,7 +2094,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow listModel.set(SuggestionListProperties.EMBEDDER, dropdownEmbedder); listModel.set(SuggestionListProperties.VISIBLE, false); listModel.set(SuggestionListProperties.SUGGESTION_MODELS, listItems); -@@ -165,7 +169,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC +@@ -168,7 +172,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC public void inflate() { OmniboxSuggestionsDropdown dropdown; try (StrictModeContext ignored = StrictModeContext.allowDiskReads()) { @@ -2103,7 +2103,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } dropdown.getViewGroup().setClipToPadding(false); -@@ -174,6 +178,16 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC +@@ -177,6 +181,16 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC ViewGroup container = (ViewGroup) ((ViewStub) mParent.getRootView().findViewById( R.id.omnibox_results_container_stub)) .inflate(); @@ -2123,7 +2123,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/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java -@@ -55,6 +55,9 @@ import org.chromium.ui.modelutil.PropertyModel; +@@ -59,6 +59,9 @@ import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.mojom.WindowOpenDisposition; import org.chromium.url.GURL; @@ -2133,7 +2133,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; -@@ -967,7 +970,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, +@@ -984,7 +987,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, @Override public void onSuggestionDropdownScroll() { mSuggestionsListScrolled = true; @@ -2155,17 +2155,17 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow +import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.omnibox.OmniboxFeatures; import org.chromium.chrome.browser.omnibox.R; - import org.chromium.chrome.browser.ui.theme.BrandedColorScheme; -@@ -128,6 +130,7 @@ class DropdownItemViewInfoListManager { - GroupSection currentSection; - boolean useModernVisuals = OmniboxFeatures.shouldShowModernizeVisualUpdate(mContext); + import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; +@@ -126,6 +128,7 @@ class DropdownItemViewInfoListManager { + OmniboxFeatures.shouldShowModernizeVisualUpdate(mContext); + boolean previousItemWasHeader = false; + boolean toolbarToBottom = ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled(); for (int i = 0; i < mSourceViewInfoList.size(); i++) { final DropdownItemViewInfo item = mSourceViewInfoList.get(i); final PropertyModel model = item.model; -@@ -143,11 +146,13 @@ class DropdownItemViewInfoListManager { - var topMargin = applyRounding ? groupTopMargin : suggestionVerticalMargin; +@@ -147,18 +150,22 @@ class DropdownItemViewInfoListManager { + } var bottomMargin = applyRounding ? groupBottomMargin : suggestionVerticalMargin; - model.set(DropdownCommonProperties.BG_TOP_CORNER_ROUNDED, applyRounding); @@ -2174,13 +2174,11 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow + DropdownCommonProperties.BG_TOP_CORNER_ROUNDED, applyRounding); // Do not have margin for the first suggestion, otherwise the first suggestion will // have a big gap with the Omnibox. - if (useModernVisuals) { -- model.set(DropdownCommonProperties.TOP_MARGIN, -+ model.set(toolbarToBottom ? DropdownCommonProperties.BOTTOM_MARGIN : DropdownCommonProperties.TOP_MARGIN, - previousItem == null - ? getSuggestionListTopMargin(item.processor.getViewTypeId()) - : topMargin); -@@ -155,8 +160,10 @@ class DropdownItemViewInfoListManager { +- model.set(DropdownCommonProperties.TOP_MARGIN, ++ model.set(toolbarToBottom ? DropdownCommonProperties.BOTTOM_MARGIN : DropdownCommonProperties.TOP_MARGIN, + previousItem == null + ? getSuggestionListTopMargin(item.processor.getViewTypeId()) + : topMargin); if (previousItem != null) { previousItem.model.set( @@ -2190,13 +2188,13 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow + DropdownCommonProperties.BG_TOP_CORNER_ROUNDED : + DropdownCommonProperties.BG_BOTTOM_CORNER_ROUNDED, applyRounding); + previousItem.model.set(toolbarToBottom ? DropdownCommonProperties.TOP_MARGIN : DropdownCommonProperties.BOTTOM_MARGIN, bottomMargin); + previousItem.model.set(DropdownCommonProperties.SHOW_DIVIDER, !applyRounding); } - previousItem = item; diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java -@@ -40,6 +40,9 @@ import org.chromium.ui.base.ViewUtils; +@@ -41,6 +41,9 @@ import org.chromium.ui.base.ViewUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -2206,7 +2204,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** A widget for showing a list of omnibox suggestions. */ public class OmniboxSuggestionsDropdown extends RecyclerView { private static final long DEFERRED_INITIAL_SHRINKING_LAYOUT_FROM_IME_DURATION_MS = 300; -@@ -209,7 +212,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { +@@ -210,7 +213,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { * Constructs a new list designed for containing omnibox suggestions. * @param context Context used for contained views. */ @@ -2216,7 +2214,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow super(context, null, android.R.attr.dropDownListViewStyle); setFocusable(true); setFocusableInTouchMode(true); -@@ -219,13 +223,25 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { +@@ -220,13 +224,25 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { setItemAnimator(null); mLayoutScrollListener = new SuggestionLayoutScrollListener(context); @@ -2243,9 +2241,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow ViewCompat.setPaddingRelative(this, 0, 0, 0, paddingBottom); mStandardBgColor = shouldShowModernizeVisualUpdate -@@ -363,11 +379,15 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { +@@ -364,11 +380,15 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { try (TraceEvent tracing = TraceEvent.scoped("OmniboxSuggestionsList.Measure"); - TimingMetric metric = SuggestionsMetrics.recordSuggestionListMeasureTime()) { + TimingMetric metric = OmniboxMetrics.recordSuggestionListMeasureTime()) { OmniboxAlignment omniboxAlignment = mEmbedder.getCurrentAlignment(); - maybeUpdateLayoutParams(omniboxAlignment.top); + int top = omniboxAlignment.top; @@ -2290,7 +2288,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1674,6 +1674,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1681,6 +1681,12 @@ Your Google account may have other forms of browsing history like searches and a Force Tablet Mode diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index a98c581b..b8a3acaf 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -62,7 +62,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2373,6 +2373,7 @@ static_library("browser") { +@@ -2394,6 +2394,7 @@ static_library("browser") { "//services/device/public/cpp/geolocation", "//services/device/public/cpp/serial:switches", "//services/device/public/cpp/usb", @@ -82,7 +82,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #include "base/allocator/buildflags.h" #endif -@@ -3661,6 +3663,20 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3876,6 +3878,20 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebrtcUseMinMaxVEADimensionsName, flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)}, @@ -106,7 +106,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -251,6 +251,7 @@ source_set("browser") { +@@ -250,6 +250,7 @@ source_set("browser") { "//third_party/libyuv", "//third_party/re2", "//third_party/sqlite", @@ -117,7 +117,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -206,6 +206,7 @@ +@@ -210,6 +210,7 @@ #include "url/gurl.h" #include "url/origin.h" @@ -125,7 +125,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content #if BUILDFLAG(IS_ANDROID) #include "base/android/child_process_binding_types.h" #include "content/browser/android/java_interfaces_impl.h" -@@ -3368,6 +3369,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3443,6 +3444,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBreakpad, switches::kDisableDatabases, switches::kDisableFileSystem, @@ -158,7 +158,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. #if BUILDFLAG(IS_ANDROID) #include "base/android/build_info.h" #endif -@@ -539,6 +541,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -553,6 +555,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( if (!command_line.HasSwitch(switches::kDisableYUVImageDecoding) && base::FeatureList::IsEnabled( blink::features::kDecodeLossyWebPImagesToYUV)) { @@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "base/notreached.h" #include "base/ranges/algorithm.h" #include "base/task/single_thread_task_runner.h" -@@ -843,6 +844,17 @@ Document::Document(const DocumentInit& initializer, +@@ -842,6 +843,17 @@ Document::Document(const DocumentInit& initializer, : nullptr), data_(MakeGarbageCollected(GetExecutionContext())) { DCHECK(agent_); @@ -214,7 +214,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution)) script_runner_delayer_->Activate(); -@@ -2291,6 +2303,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2286,6 +2298,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { #endif } @@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h --- a/third_party/blink/renderer/core/dom/document.h +++ b/third_party/blink/renderer/core/dom/document.h -@@ -517,6 +517,10 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -528,6 +528,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -243,7 +243,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/ AtomicString visibilityState() const; bool IsPageVisible() const; bool hidden() const; -@@ -2380,6 +2384,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2417,6 +2421,9 @@ class CORE_EXPORT Document : public ContainerNode, base::ElapsedTimer start_time_; @@ -256,7 +256,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc -@@ -2072,6 +2072,7 @@ void Element::ClientQuads(Vector& quads) const { +@@ -2073,6 +2073,7 @@ void Element::ClientQuads(Vector& quads) const { quads.push_back(element_layout_object->LocalToAbsoluteQuad( gfx::QuadF(element_layout_object->ObjectBoundingBox()))); } @@ -264,7 +264,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ return; } -@@ -2080,6 +2081,10 @@ void Element::ClientQuads(Vector& quads) const { +@@ -2081,6 +2082,10 @@ void Element::ClientQuads(Vector& quads) const { element_layout_object->IsBR()) { element_layout_object->AbsoluteQuads(quads); } @@ -275,7 +275,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ } DOMRectList* Element::getClientRects() { -@@ -2122,6 +2127,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const { +@@ -2123,6 +2128,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const { DCHECK(element_layout_object); GetDocument().AdjustRectForScrollAndAbsoluteZoom(result, *element_layout_object); @@ -288,7 +288,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc --- a/third_party/blink/renderer/core/dom/range.cc +++ b/third_party/blink/renderer/core/dom/range.cc -@@ -1607,6 +1607,12 @@ DOMRectList* Range::getClientRects() const { +@@ -1618,6 +1618,12 @@ DOMRectList* Range::getClientRects() const { Vector quads; GetBorderAndTextQuads(quads); @@ -301,7 +301,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re return MakeGarbageCollected(quads); } -@@ -1742,7 +1748,11 @@ gfx::RectF Range::BoundingRect() const { +@@ -1753,7 +1759,11 @@ gfx::RectF Range::BoundingRect() const { // If all rects are empty, return the first rect. if (result.IsEmpty() && !quads.empty()) @@ -326,8 +326,8 @@ diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creat #include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" @@ -209,6 +210,10 @@ CanvasAsyncBlobCreator::CanvasAsyncBlobCreator( - std::min(info.height(), max_dimension)); - src_data_.reset(info, src_data_.addr(), src_data_.rowBytes()); + src_data_.reset(info, src_data_.addr(), src_data_.rowBytes()); + } } + if (RuntimeEnabledFeatures::FingerprintingCanvasImageDataNoiseEnabled()) { + StaticBitmapImage::ShuffleSubchannelColorData(src_data_.writable_addr(), @@ -470,15 +470,15 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -34,6 +34,7 @@ - #include "third_party/blink/renderer/platform/bindings/string_resource.h" +@@ -40,6 +40,7 @@ #include "third_party/blink/renderer/platform/graphics/bitmap_image.h" + #include "third_party/blink/renderer/platform/graphics/filters/paint_filter_builder.h" #include "third_party/blink/renderer/platform/graphics/graphics_context.h" +#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h" #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h" #include "third_party/blink/renderer/platform/graphics/stroke_data.h" #include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h" -@@ -2125,6 +2126,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -2145,6 +2146,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc -@@ -956,9 +956,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) { +@@ -942,9 +942,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) { TextDirection direction = ToTextDirection(GetState().GetDirection(), canvas()); @@ -520,7 +520,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscre #include "base/trace_event/trace_event.h" #include "third_party/blink/public/common/features.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_union_gpucanvascontext_imagebitmaprenderingcontext_offscreencanvasrenderingcontext2d_webgl2renderingcontext_webglrenderingcontext.h" -@@ -759,9 +760,15 @@ TextMetrics* OffscreenCanvasRenderingContext2D::measureText( +@@ -747,9 +748,15 @@ TextMetrics* OffscreenCanvasRenderingContext2D::measureText( TextDirection direction = ToTextDirection(GetState().GetDirection()); @@ -540,7 +540,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscre diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1642,7 +1642,9 @@ component("platform") { +@@ -1650,7 +1650,9 @@ component("platform") { "//third_party/blink/renderer:non_test_config", ] @@ -551,7 +551,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re allow_circular_includes_from = [ "//third_party/blink/renderer/platform/blob", -@@ -1713,6 +1715,7 @@ component("platform") { +@@ -1722,6 +1724,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", @@ -795,7 +795,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2001,6 +2001,15 @@ +@@ -2034,6 +2034,15 @@ status: {"Android": "test", "default": "stable"}, base_feature: "none", }, diff --git a/build/patches/Remove-SMS-integration.patch b/build/patches/Remove-SMS-integration.patch index d8206659..43bdd785 100644 --- a/build/patches/Remove-SMS-integration.patch +++ b/build/patches/Remove-SMS-integration.patch @@ -5,11 +5,11 @@ Subject: Remove SMS integration License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../browser/language/AppLocaleUtils.java | 42 ----------------- - .../content/browser/sms/SmsProviderGms.java | 27 ++--------- + .../content/browser/sms/SmsProviderGms.java | 25 +--------- .../browser/sms/SmsUserConsentReceiver.java | 47 ++----------------- .../browser/sms/SmsVerificationReceiver.java | 43 ++++------------- .../content/browser/sms/Wrappers.java | 27 +---------- - 5 files changed, 16 insertions(+), 170 deletions(-) + 5 files changed, 15 insertions(+), 169 deletions(-) diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java @@ -76,7 +76,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.base.annotations.CalledByNative; -@@ -45,17 +42,11 @@ public class SmsProviderGms { +@@ -43,17 +40,11 @@ public class SmsProviderGms { @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) public SmsProviderGms(long smsProviderGmsAndroid, @GmsBackend int backend, @@ -95,7 +95,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm if (mBackend == GmsBackend.AUTO || mBackend == GmsBackend.USER_CONSENT) { mUserConsentReceiver = new SmsUserConsentReceiver(this, mContext); } -@@ -87,12 +78,7 @@ public class SmsProviderGms { +@@ -85,12 +76,7 @@ public class SmsProviderGms { @CalledByNative private static SmsProviderGms create(long smsProviderGmsAndroid, @GmsBackend int backend) { Log.d(TAG, "Creating SmsProviderGms"); @@ -109,7 +109,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm } @CalledByNative -@@ -181,13 +167,6 @@ public class SmsProviderGms { +@@ -179,13 +165,6 @@ public class SmsProviderGms { } public Wrappers.SmsRetrieverClientWrapper getClient() { @@ -123,13 +123,6 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm return mClient; } -@@ -209,4 +188,4 @@ public class SmsProviderGms { - void onCancel(long nativeSmsProviderGms); - void onNotAvailable(long nativeSmsProviderGms); - } --} -\ No newline at end of file -+} diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java b/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java --- a/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java +++ b/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index 56727790..ad1ef568 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -65,11 +65,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../instance_id/InstanceIDBridge.java | 47 +- .../media_router/browser/android/BUILD.gn | 9 - .../media_router/BrowserMediaRouter.java | 18 +- - .../media_router/CastSessionUtil.java | 35 -- .../components/media_router/MediaSink.java | 44 +- .../media_router/MediaStatusBridge.java | 40 +- - .../caf/BaseNotificationController.java | 48 -- - .../caf/BaseSessionController.java | 100 +--- + .../caf/BaseNotificationController.java | 53 -- + .../caf/BaseSessionController.java | 100 +-- .../caf/CafBaseMediaRouteProvider.java | 103 +--- .../caf/CafMediaRouteProvider.java | 16 - .../media_router/caf/CafMessageHandler.java | 97 +-- @@ -88,7 +87,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../signin/AccountRenameChecker.java | 16 - components/webauthn/android/BUILD.gn | 9 - .../webauthn/AuthenticatorImpl.java | 83 +-- - .../webauthn/Fido2ApiCallHelper.java | 23 +- + .../webauthn/Fido2ApiCallHelper.java | 21 - .../push_messaging/push_messaging_manager.cc | 2 +- content/public/android/BUILD.gn | 4 - content/test/BUILD.gn | 4 - @@ -98,17 +97,17 @@ 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 | 557 +----------------- + third_party/android_deps/BUILD.gn | 570 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- weblayer/browser/java/BUILD.gn | 1 - weblayer/public/java/BUILD.gn | 1 - - 79 files changed, 98 insertions(+), 1941 deletions(-) + 78 files changed, 97 insertions(+), 1923 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 -@@ -20,10 +20,6 @@ +@@ -21,10 +21,6 @@ android:icon="@$PACKAGE:drawable/icon_webview" android:label="Android System WebView" android:multiArch="true"> @@ -119,7 +118,7 @@ diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest. # DIFF-ANCHOR: ea1a94af # DIFF-ANCHOR: b7cc06e9 @@ -130,7 +129,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 -@@ -204,14 +204,6 @@ if (current_toolchain == default_toolchain) { +@@ -270,14 +270,6 @@ if (current_toolchain == default_toolchain) { ":chrome_public_apk_template_resources", ":update_proto_java", ":usage_stats_proto_java", @@ -145,7 +144,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:jni_java", "//cc:cc_java", "//cc/mojom:mojom_java", -@@ -512,14 +504,23 @@ if (current_toolchain == default_toolchain) { +@@ -575,14 +567,23 @@ if (current_toolchain == default_toolchain) { "//services/shape_detection:shape_detection_java", "//services/shape_detection/public/mojom:mojom_java", "//skia/public/mojom:mojom_java", @@ -172,7 +171,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//third_party/android_deps:protobuf_lite_runtime_java", "//third_party/android_media:android_media_java", "//third_party/android_swipe_refresh:android_swipe_refresh_java", -@@ -790,11 +791,6 @@ if (current_toolchain == default_toolchain) { +@@ -855,11 +856,6 @@ if (current_toolchain == default_toolchain) { ":chrome_java", ":chrome_jni_headers", ":delegate_public_impl_java", @@ -184,9 +183,9 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java_test_support", "//base:base_java_test_support_uncommon", "//base:base_junit_test_support", -@@ -1357,13 +1353,6 @@ if (current_toolchain == default_toolchain) { - ":chrome_app_java_resources", +@@ -1436,13 +1432,6 @@ if (current_toolchain == default_toolchain) { ":chrome_test_util_java", + ":critical_persisted_tab_data_flatbuffer_test_v1_java", ":delegate_public_impl_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", @@ -198,7 +197,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_java_test_support_uncommon", -@@ -2244,7 +2233,6 @@ if (current_toolchain == default_toolchain) { +@@ -2327,7 +2316,6 @@ if (current_toolchain == default_toolchain) { ] deps = [ ":chrome_java", @@ -206,7 +205,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:jni_java", -@@ -2337,7 +2325,6 @@ if (current_toolchain == default_toolchain) { +@@ -2424,7 +2412,6 @@ if (current_toolchain == default_toolchain) { # is in a DFM. android_library("base_module_java") { sources = [ @@ -214,7 +213,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", -@@ -2353,8 +2340,6 @@ if (current_toolchain == default_toolchain) { +@@ -2440,8 +2427,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", @@ -223,7 +222,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", -@@ -2379,17 +2364,11 @@ if (current_toolchain == default_toolchain) { +@@ -2466,17 +2451,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", @@ -241,7 +240,7 @@ 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", -@@ -2403,7 +2382,6 @@ if (current_toolchain == default_toolchain) { +@@ -2490,7 +2469,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", @@ -249,7 +248,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/androidx:androidx_collection_collection_java", "//ui/android:ui_no_recycler_view_java", -@@ -2422,7 +2400,6 @@ if (current_toolchain == default_toolchain) { +@@ -2509,7 +2487,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. @@ -260,7 +259,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 -@@ -16,7 +16,6 @@ chrome_java_sources = [ +@@ -15,7 +15,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java", "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java", "java/src/org/chromium/chrome/browser/ChromeApplicationImpl.java", @@ -268,7 +267,7 @@ 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", -@@ -986,10 +985,6 @@ chrome_java_sources = [ +@@ -988,10 +987,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", @@ -316,7 +315,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -801,16 +796,6 @@ by a child template that "extends" this file. +@@ -790,16 +785,6 @@ by a child template that "extends" this file. @@ -333,7 +332,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro @@ -360,7 +359,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1047,20 +1012,10 @@ by a child template that "extends" this file. +@@ -1036,20 +1001,10 @@ by a child template that "extends" this file. @@ -381,7 +380,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1292,12 +1247,6 @@ by a child template that "extends" this file. +@@ -1281,12 +1236,6 @@ by a child template that "extends" this file. {% endif %} @@ -890,9 +889,9 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p ":test_support_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", + "pwd_migration:junit", "//base:base_java", "//base:base_java_test_support", - "//base:base_java_test_support_uncommon", diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java @@ -976,8 +975,8 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom - import org.chromium.base.Callback; import org.chromium.base.metrics.RecordHistogram; - import org.chromium.base.supplier.ObservableSupplier; -@@ -417,21 +414,6 @@ public class PasswordManagerHelper { + import org.chromium.base.supplier.Supplier; +@@ -415,21 +412,6 @@ public class PasswordManagerHelper { } public static void launchGmsUpdate(Context context) { @@ -999,7 +998,7 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom } @VisibleForTesting -@@ -518,7 +500,7 @@ public class PasswordManagerHelper { +@@ -516,7 +498,7 @@ public class PasswordManagerHelper { RecordHistogram.recordEnumeratedHistogram(kGetIntentErrorHistogram, CredentialManagerError.API_ERROR, CredentialManagerError.COUNT); @@ -1065,7 +1064,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 -@@ -259,8 +259,6 @@ static_library("ui") { +@@ -357,8 +357,6 @@ static_library("ui") { "webui/flags/flags_ui.h", "webui/flags/flags_ui_handler.cc", "webui/flags/flags_ui_handler.h", @@ -1074,7 +1073,7 @@ 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", -@@ -496,7 +494,6 @@ static_library("ui") { +@@ -594,7 +592,6 @@ static_library("ui") { "//components/feedback/redaction_tool", "//components/find_in_page", "//components/flags_ui", @@ -1085,7 +1084,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java --- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java +++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java -@@ -185,12 +185,8 @@ public class SigninFirstRunMediator +@@ -189,12 +189,8 @@ public class SigninFirstRunMediator boolean isSigninDisabledByPolicy = false; boolean isMetricsReportingDisabledByPolicy = false; if (hasPolicies) { @@ -1103,7 +1102,7 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/webauthn/sheet_models.cc --- a/chrome/browser/ui/webauthn/sheet_models.cc +++ b/chrome/browser/ui/webauthn/sheet_models.cc -@@ -191,12 +191,7 @@ bool AuthenticatorMechanismSelectorSheetModel::IsManageDevicesButtonVisible() +@@ -192,12 +192,7 @@ bool AuthenticatorMechanismSelectorSheetModel::IsManageDevicesButtonVisible() const { // If any phones are shown then also show a button that goes to the settings // page to manage them. @@ -1120,7 +1119,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 -@@ -43,7 +43,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" @@ -1128,7 +1127,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" -@@ -773,8 +772,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -462,8 +461,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIFlagsHost) return &NewWebUI; @@ -1140,7 +1139,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 -@@ -1169,10 +1169,6 @@ void AuthenticatorRequestDialogModel::PopulateMechanisms() { +@@ -1150,10 +1150,6 @@ void AuthenticatorRequestDialogModel::PopulateMechanisms() { if (cable_ui_type_) { switch (*cable_ui_type_) { case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_2ND_FACTOR: @@ -1154,7 +1153,7 @@ diff --git a/chrome/browser/webauthn/authenticator_request_dialog_model.cc b/chr diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauthn/cablev2_devices.cc --- a/chrome/browser/webauthn/cablev2_devices.cc +++ b/chrome/browser/webauthn/cablev2_devices.cc -@@ -349,6 +349,9 @@ void AddPairing(Profile* profile, std::unique_ptr pairing) { +@@ -352,6 +352,9 @@ void AddPairing(Profile* profile, std::unique_ptr pairing) { // This is called when doing a QR-code pairing with a phone and the phone // sends long-term pairing information during the handshake. The pairing // information is saved in preferences for future operations. @@ -1513,7 +1512,7 @@ diff --git a/components/media_router/browser/android/BUILD.gn b/components/media ] } -@@ -145,9 +139,6 @@ robolectric_library("junit") { +@@ -146,9 +140,6 @@ robolectric_library("junit") { deps = [ ":java", ":test_support_java", @@ -1558,56 +1557,6 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } }; -diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java ---- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java -+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java -@@ -4,9 +4,6 @@ - - package org.chromium.components.media_router; - --import com.google.android.gms.cast.CastDevice; --import com.google.android.gms.cast.RemoteMediaPlayer; -- - import org.chromium.components.browser_ui.media.MediaNotificationInfo; - import org.chromium.services.media_session.MediaMetadata; - -@@ -18,36 +15,4 @@ public class CastSessionUtil { - - // The value is borrowed from the Android Cast SDK code to match their behavior. - public static final double MIN_VOLUME_LEVEL_DELTA = 1e-7; -- -- /** -- * Builds a MediaMetadata from the given CastDevice and MediaPlayer, and sets it on the builder -- */ -- public static void setNotificationMetadata(MediaNotificationInfo.Builder builder, -- CastDevice castDevice, RemoteMediaPlayer mediaPlayer) { -- MediaMetadata notificationMetadata = new MediaMetadata("", "", ""); -- builder.setMetadata(notificationMetadata); -- -- if (castDevice != null) notificationMetadata.setTitle(castDevice.getFriendlyName()); -- -- if (mediaPlayer == null) return; -- -- com.google.android.gms.cast.MediaInfo info = mediaPlayer.getMediaInfo(); -- if (info == null) return; -- -- com.google.android.gms.cast.MediaMetadata metadata = info.getMetadata(); -- if (metadata == null) return; -- -- String title = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE); -- if (title != null) notificationMetadata.setTitle(title); -- -- String artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ARTIST); -- if (artist == null) { -- artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_ARTIST); -- } -- if (artist != null) notificationMetadata.setArtist(artist); -- -- String album = -- metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_TITLE); -- if (album != null) notificationMetadata.setAlbum(album); -- } - } diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java @@ -1877,13 +1826,18 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** Called when media metadata updated. */ -@@ -90,30 +72,6 @@ public abstract class BaseNotificationController +@@ -92,35 +74,6 @@ public abstract class BaseNotificationController mNotificationBuilder.setMetadata(notificationMetadata); if (!mSessionController.isConnected()) return; - - CastDevice castDevice = mSessionController.getSession().getCastDevice(); -- if (castDevice != null) notificationMetadata.setTitle(castDevice.getFriendlyName()); +- if (castDevice != null) { +- String friendlyName = castDevice.getFriendlyName(); +- if (friendlyName != null && !friendlyName.isEmpty()) { +- notificationMetadata.setTitle(friendlyName); +- } +- } - - RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient(); - @@ -1894,7 +1848,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - if (metadata == null) return; - - String title = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE); -- if (title != null) notificationMetadata.setTitle(title); +- if (title != null && !title.isEmpty()) notificationMetadata.setTitle(title); - - String artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ARTIST); - if (artist == null) { @@ -1908,7 +1862,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } ///////////////////////////////////////////////////////////////////////////////////////////// -@@ -121,16 +79,10 @@ public abstract class BaseNotificationController +@@ -128,16 +81,10 @@ public abstract class BaseNotificationController @Override public void onPlay(int actionSource) { @@ -3060,7 +3014,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/ "//base:base_java", "//base:jni_java", "//build/android:build_java", -@@ -74,7 +66,6 @@ android_library("test_support_java") { +@@ -84,7 +76,6 @@ android_library("test_support_java") { source_set("android") { sources = [ @@ -3079,7 +3033,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut import org.chromium.base.metrics.RecordHistogram; import org.chromium.blink.mojom.Authenticator; import org.chromium.blink.mojom.AuthenticatorStatus; -@@ -53,9 +52,6 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -52,9 +51,6 @@ public final class AuthenticatorImpl implements Authenticator { /** The payment information to be added to the "clientDataJson". */ private PaymentOptions mPayment; @@ -3089,7 +3043,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut private MakeCredential_Response mMakeCredentialCallback; private GetAssertion_Response mGetAssertionCallback; // A queue is used to store pending IsUserVerifyingPlatformAuthenticatorAvailable request -@@ -64,9 +60,6 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -63,9 +59,6 @@ public final class AuthenticatorImpl implements Authenticator { // situation does not matter because all pending requests will return the same value. private Queue> mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue = new LinkedList<>(); @@ -3099,9 +3053,9 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut /** * Builds the Authenticator service implementation. -@@ -91,20 +84,6 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -86,20 +79,6 @@ public final class AuthenticatorImpl implements Authenticator { + mRenderFrameHost = renderFrameHost; - mSupportLevel = supportLevel; mOrigin = mRenderFrameHost.getLastCommittedOrigin(); - - mGmsCorePackageVersion = PackageUtils.getPackageVersion(GMSCORE_PACKAGE_NAME); @@ -3116,11 +3070,11 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut - return sFido2CredentialRequestOverrideForTesting; - } - -- return new Fido2CredentialRequest(mIntentSender, mSupportLevel); +- return new Fido2CredentialRequest(mIntentSender); } /** -@@ -134,17 +113,9 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -129,17 +108,9 @@ public final class AuthenticatorImpl implements Authenticator { mMakeCredentialCallback = callback; mIsOperationPending = true; @@ -3140,7 +3094,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -158,15 +129,8 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -153,15 +124,8 @@ public final class AuthenticatorImpl implements Authenticator { mGetAssertionCallback = callback; mIsOperationPending = true; @@ -3158,7 +3112,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -178,15 +142,8 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -173,15 +137,8 @@ public final class AuthenticatorImpl implements Authenticator { callback.call(isUvpaa); }; @@ -3176,7 +3130,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } /** -@@ -195,7 +152,7 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -190,7 +147,7 @@ public final class AuthenticatorImpl implements Authenticator { * version. */ public boolean isGetMatchingCredentialIdsSupported() { @@ -3185,7 +3139,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } /** -@@ -209,32 +166,13 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -204,32 +161,13 @@ public final class AuthenticatorImpl implements Authenticator { */ public void getMatchingCredentialIds(String relyingPartyId, byte[][] credentialIds, boolean requireThirdPartyPayment, GetMatchingCredentialIdsResponseCallback callback) { @@ -3220,7 +3174,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -246,8 +184,6 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -241,8 +179,6 @@ public final class AuthenticatorImpl implements Authenticator { if (!mIsOperationPending || mGetAssertionCallback == null) { return; } @@ -3229,7 +3183,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } /** -@@ -297,7 +233,6 @@ public final class AuthenticatorImpl implements Authenticator { +@@ -292,7 +228,6 @@ public final class AuthenticatorImpl implements Authenticator { mIsOperationPending = false; mMakeCredentialCallback = null; mGetAssertionCallback = null; @@ -3256,10 +3210,10 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut return sInstance; } - -- public void invokeFido2GetCredentials(String relyingPartyId, int supportLevel, +- public void invokeFido2GetCredentials(String relyingPartyId, - OnSuccessListener> successCallback, - OnFailureListener failureCallback) { -- Fido2ApiCall call = new Fido2ApiCall(ContextUtils.getApplicationContext(), supportLevel); +- Fido2ApiCall call = new Fido2ApiCall(ContextUtils.getApplicationContext()); - Parcel args = call.start(); - Fido2ApiCall.WebAuthnCredentialDetailsListResult result = - new Fido2ApiCall.WebAuthnCredentialDetailsListResult(); @@ -3272,9 +3226,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut - task.addOnSuccessListener(successCallback); - task.addOnFailureListener(failureCallback); - } --} -\ No newline at end of file -+} + } diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc --- a/content/browser/push_messaging/push_messaging_manager.cc +++ b/content/browser/push_messaging/push_messaging_manager.cc @@ -3304,7 +3256,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 -@@ -3291,10 +3291,6 @@ if (is_android) { +@@ -3311,10 +3311,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3318,7 +3270,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 -@@ -489,9 +489,6 @@ if (is_android) { +@@ -519,9 +519,6 @@ if (is_android) { "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java", ] deps = [ @@ -3392,7 +3344,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn --- a/services/device/geolocation/BUILD.gn +++ b/services/device/geolocation/BUILD.gn -@@ -164,10 +164,6 @@ if (is_android) { +@@ -165,10 +165,6 @@ if (is_android) { deps = [ ":geolocation_jni_headers", @@ -3406,7 +3358,7 @@ diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/ diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn --- a/services/shape_detection/BUILD.gn +++ b/services/shape_detection/BUILD.gn -@@ -115,8 +115,6 @@ if (is_android) { +@@ -116,8 +116,6 @@ if (is_android) { ] deps = [ @@ -3442,7 +3394,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. } # TODO(crbug.com/1366370) Remove this once all depencencies are updated to -@@ -961,199 +952,6 @@ if (!limit_android_deps) { +@@ -975,212 +966,6 @@ if (!limit_android_deps) { ] } @@ -3450,6 +3402,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_auth_java") { - aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-20.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_auth_api_phone_java", - ":google_play_services_auth_base_java", @@ -3465,6 +3418,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_auth_api_phone_java") { - aar_path = "libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-18.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_auth_api_phone/com_google_android_gms_play_services_auth_api_phone.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3476,6 +3430,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_auth_base_java") { - aar_path = "libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-18.0.2.aar" - info_path = "libs/com_google_android_gms_play_services_auth_base/com_google_android_gms_play_services_auth_base.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3488,6 +3443,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_base_java") { - aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-18.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_basement_java", - ":google_play_services_tasks_java", @@ -3503,6 +3459,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_basement_java") { - 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" +- enable_bytecode_checks = false - deps = [ - "//third_party/androidx:androidx_collection_collection_java", - "//third_party/androidx:androidx_core_core_java", @@ -3528,6 +3485,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_cast_java") { - aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3542,6 +3500,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_cast_framework_java") { - aar_path = "libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cast_framework/com_google_android_gms_play_services_cast_framework.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3560,6 +3519,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_gcm_java") { - aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3575,6 +3535,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_iid_java") { - aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3589,6 +3550,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_instantapps_java") { - aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3600,6 +3562,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_location_java") { - aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-19.0.1.aar" - info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3612,6 +3575,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_tasks_java") { - 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" +- enable_bytecode_checks = false - deps = [ ":google_play_services_basement_java" ] - } - @@ -3619,6 +3583,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_vision_java") { - aar_path = "libs/com_google_android_gms_play_services_vision/play-services-vision-20.1.3.aar" - info_path = "libs/com_google_android_gms_play_services_vision/com_google_android_gms_play_services_vision.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3630,6 +3595,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_vision_common_java") { - aar_path = "libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-19.1.3.aar" - info_path = "libs/com_google_android_gms_play_services_vision_common/com_google_android_gms_play_services_vision_common.info" +- enable_bytecode_checks = false - deps = [ - ":google_play_services_base_java", - ":google_play_services_basement_java", @@ -3638,11 +3604,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ":google_play_services_phenotype_java", - ] - } -- + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. android_aar_prebuilt("com_google_android_material_material_java") { - aar_path = -@@ -1199,64 +997,6 @@ if (!limit_android_deps) { +@@ -1225,62 +1010,6 @@ if (!limit_android_deps) { ] } @@ -3650,6 +3615,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - 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" +- enable_bytecode_checks = false - deps = [ - ":com_google_android_play_core_common_java", - ":google_play_services_basement_java", @@ -3661,6 +3627,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_firebase_firebase_iid_java") { - aar_path = "libs/com_google_firebase_firebase_iid/firebase-iid-21.0.1.aar" - info_path = "libs/com_google_firebase_firebase_iid/com_google_firebase_firebase_iid.info" +- enable_bytecode_checks = false - deps = [ - ":google_firebase_firebase_common_java", - ":google_firebase_firebase_components_java", @@ -3681,6 +3648,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_firebase_firebase_messaging_java") { - aar_path = "libs/com_google_firebase_firebase_messaging/firebase-messaging-21.0.1.aar" - info_path = "libs/com_google_firebase_firebase_messaging/com_google_firebase_firebase_messaging.info" +- enable_bytecode_checks = false - deps = [ - ":google_android_datatransport_transport_api_java", - ":google_firebase_firebase_common_java", @@ -3698,22 +3666,17 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - "//third_party/androidx:androidx_collection_collection_java", - "//third_party/androidx:androidx_core_core_java", - ] -- -- # We removed the datatransport dependency to reduce binary size. -- # The library works without it as it's only used for logging. -- enable_bytecode_checks = false - } -- + # 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" -@@ -1573,19 +1313,6 @@ if (!limit_android_deps) { +@@ -1614,19 +1343,6 @@ if (!limit_android_deps) { is_robolectric = true } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - java_prebuilt("org_robolectric_shadows_playservices_java") { -- jar_path = "libs/org_robolectric_shadows_playservices/shadows-playservices-4.8.1.jar" +- jar_path = "libs/org_robolectric_shadows_playservices/shadows-playservices-4.10.3.jar" - output_name = "org_robolectric_shadows_playservices" - enable_bytecode_checks = false - testonly = true @@ -3726,8 +3689,8 @@ 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" -@@ -1946,288 +1673,6 @@ if (!limit_android_deps) { + jar_path = "libs/org_robolectric_utils/utils-4.10.3.jar" +@@ -2006,290 +1722,6 @@ if (!limit_android_deps) { deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] } @@ -3735,6 +3698,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_clearcut_java") { - aar_path = "libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_clearcut/com_google_android_gms_play_services_clearcut.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3755,6 +3719,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_cloud_messaging_java") { - aar_path = "libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-16.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cloud_messaging/com_google_android_gms_play_services_cloud_messaging.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3772,6 +3737,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_flags_java") { - aar_path = "libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_flags/com_google_android_gms_play_services_flags.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3789,6 +3755,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_phenotype_java") { - aar_path = "libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_phenotype/com_google_android_gms_play_services_phenotype.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3808,6 +3775,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_places_placereport_java") { - aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_places_placereport/com_google_android_gms_play_services_places_placereport.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3822,6 +3790,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_play_services_stats_java") { - aar_path = "libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3839,6 +3808,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - 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" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3853,6 +3823,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - jar_path = "libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar" - output_name = "com_google_firebase_firebase_annotations" - supports_android = true +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3867,6 +3838,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - aar_path = - "libs/com_google_firebase_firebase_common/firebase-common-19.5.0.aar" - info_path = "libs/com_google_firebase_firebase_common/com_google_firebase_firebase_common.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3879,16 +3851,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ":google_play_services_basement_java", - ":google_play_services_tasks_java", - ] -- -- # Ignore missing kotlin.KotlinVersion definition in -- # com.google.firebase.platforminfo.KotlinDetector. -- enable_bytecode_checks = false - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("google_firebase_firebase_components_java") { - aar_path = "libs/com_google_firebase_firebase_components/firebase-components-16.1.0.aar" - info_path = "libs/com_google_firebase_firebase_components/com_google_firebase_firebase_components.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3900,9 +3869,6 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ":google_firebase_firebase_annotations_java", - "//third_party/androidx:androidx_annotation_annotation_java", - ] -- -- # Can't find com.google.firebase.components.Component$ComponentType. -- enable_bytecode_checks = false - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. @@ -3910,6 +3876,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - jar_path = "libs/com_google_firebase_firebase_encoders/firebase-encoders-16.1.0.jar" - output_name = "com_google_firebase_firebase_encoders" - supports_android = true +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3927,6 +3894,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_firebase_firebase_encoders_json_java") { - aar_path = "libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-17.1.0.aar" - info_path = "libs/com_google_firebase_firebase_encoders_json/com_google_firebase_firebase_encoders_json.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3944,6 +3912,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_firebase_firebase_iid_interop_java") { - aar_path = "libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.0.0.aar" - info_path = "libs/com_google_firebase_firebase_iid_interop/com_google_firebase_firebase_iid_interop.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3961,6 +3930,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - android_aar_prebuilt("google_firebase_firebase_installations_java") { - aar_path = "libs/com_google_firebase_firebase_installations/firebase-installations-16.3.5.aar" - info_path = "libs/com_google_firebase_firebase_installations/com_google_firebase_firebase_installations.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3974,15 +3944,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ":google_firebase_firebase_installations_interop_java", - ":google_play_services_tasks_java", - ] -- -- # Can't find com.google.auto.value.AutoValue$Builder. -- enable_bytecode_checks = false - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("google_firebase_firebase_installations_interop_java") { - aar_path = "libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-16.0.1.aar" - info_path = "libs/com_google_firebase_firebase_installations_interop/com_google_firebase_firebase_installations_interop.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -3994,15 +3962,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ":google_firebase_firebase_annotations_java", - ":google_play_services_tasks_java", - ] -- -- # Can't find com.google.auto.value.AutoValue$Builder. -- enable_bytecode_checks = false - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("google_firebase_firebase_measurement_connector_java") { - aar_path = "libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-18.0.0.aar" - info_path = "libs/com_google_firebase_firebase_measurement_connector/com_google_firebase_firebase_measurement_connector.info" +- enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to - # //third_party/android_deps/build.gradle. @@ -4012,10 +3978,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ] - deps = [ ":google_play_services_basement_java" ] - } -- + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("com_squareup_javawriter_java") { - jar_path = "libs/com_squareup_javawriter/javawriter-2.1.1.jar" diff --git a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn --- a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn +++ b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn @@ -4074,7 +4039,7 @@ diff --git a/weblayer/browser/java/BUILD.gn b/weblayer/browser/java/BUILD.gn diff --git a/weblayer/public/java/BUILD.gn b/weblayer/public/java/BUILD.gn --- a/weblayer/public/java/BUILD.gn +++ b/weblayer/public/java/BUILD.gn -@@ -140,7 +140,6 @@ android_library("java") { +@@ -139,7 +139,6 @@ android_library("java") { "//weblayer/browser/java:interfaces_java", # TODO(rayankans): Figure out why this isn't being inherited from //weblayer/browser/java. diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch index f086794e..71513a81 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -4,30 +4,29 @@ Subject: Remove voice recognition integration License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../start_surface/StartSurfaceMediator.java | 15 +-- - .../features/tasks/TasksSurfaceMediator.java | 4 - - .../init/ProcessInitializationHandler.java | 5 - - .../browser/metrics/UmaSessionStats.java | 19 --- - .../chrome/browser/ntp/NewTabPage.java | 41 +------ - .../browser/ntp/search/SearchBoxMediator.java | 29 +---- - .../browser/searchwidget/SearchActivity.java | 8 +- - .../SearchActivityLocationBarLayout.java | 42 +------ - .../browser/toolbar/ToolbarManager.java | 6 - - .../chrome/browser/ui/RootUiCoordinator.java | 23 +--- - chrome/browser/ui/android/omnibox/BUILD.gn | 2 - - .../chrome/browser/omnibox/LocationBar.java | 6 - - .../omnibox/LocationBarCoordinator.java | 13 --- - .../browser/omnibox/LocationBarMediator.java | 109 +----------------- - .../chrome/browser/omnibox/OmniboxStub.java | 8 -- - .../suggestions/AutocompleteController.java | 21 ---- - .../suggestions/AutocompleteCoordinator.java | 8 -- - .../suggestions/AutocompleteMediator.java | 9 -- - 18 files changed, 11 insertions(+), 357 deletions(-) + .../start_surface/StartSurfaceMediator.java | 15 +------ + .../features/tasks/TasksSurfaceMediator.java | 4 -- + .../browser/metrics/UmaSessionStats.java | 19 -------- + .../chrome/browser/ntp/NewTabPage.java | 41 +---------------- + .../browser/ntp/search/SearchBoxMediator.java | 1 - + .../browser/searchwidget/SearchActivity.java | 8 +--- + .../SearchActivityLocationBarLayout.java | 42 +----------------- + .../browser/toolbar/ToolbarManager.java | 6 --- + .../chrome/browser/ui/RootUiCoordinator.java | 23 +--------- + chrome/browser/ui/android/omnibox/BUILD.gn | 1 - + .../chrome/browser/omnibox/LocationBar.java | 6 --- + .../omnibox/LocationBarCoordinator.java | 13 ------ + .../browser/omnibox/LocationBarMediator.java | 44 +------------------ + .../chrome/browser/omnibox/OmniboxStub.java | 8 ---- + .../suggestions/AutocompleteController.java | 21 --------- + .../suggestions/AutocompleteCoordinator.java | 8 ---- + .../suggestions/AutocompleteMediator.java | 9 ---- + 17 files changed, 9 insertions(+), 260 deletions(-) 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 -@@ -74,7 +74,6 @@ import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; +@@ -73,7 +73,6 @@ import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; @@ -45,7 +44,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ updateLensVisibility(); // This is for Instant Start when overview is already visible while the omnibox, Feed -@@ -525,13 +523,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. +@@ -518,13 +516,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. } }); mPropertyModel.set(VOICE_SEARCH_BUTTON_CLICK_LISTENER, v -> { @@ -59,7 +58,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ }); mPropertyModel.set(LENS_BUTTON_CLICK_LISTENER, v -> { -@@ -1387,10 +1378,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. +@@ -1380,10 +1371,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. // incorrect state if check synchronously. ThreadUtils.postOnUiThread(() -> { if (mOmniboxStub != null) { @@ -91,28 +90,6 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/ } }); -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 -@@ -66,7 +66,6 @@ import org.chromium.chrome.browser.metrics.WebApkUninstallUmaTracker; - import org.chromium.chrome.browser.notifications.channels.ChannelsUpdater; - import org.chromium.chrome.browser.ntp.FeedPositionUtils; - import org.chromium.chrome.browser.offlinepages.measurements.OfflineMeasurementsBackgroundTask; --import org.chromium.chrome.browser.omnibox.voice.AssistantVoiceSearchService; - import org.chromium.chrome.browser.optimization_guide.OptimizationGuideBridgeFactory; - import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; - import org.chromium.chrome.browser.photo_picker.DecoderService; -@@ -437,10 +436,6 @@ public class ProcessInitializationHandler { - deferredStartupHandler.addDeferredTask( - () -> OfflineMeasurementsBackgroundTask.clearPersistedDataFromPrefs()); - deferredStartupHandler.addDeferredTask(() -> QueryTileUtils.isQueryTilesEnabledOnNTP()); -- deferredStartupHandler.addDeferredTask( -- () -- -> AssistantVoiceSearchService.reportStartupUserEligibility( -- ContextUtils.getApplicationContext())); - deferredStartupHandler.addDeferredTask(() -> { - GlobalAppLocaleController.getInstance().maybeSetupLocaleManager(); - GlobalAppLocaleController.getInstance().recordOverrideLanguageMetrics(); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java --- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java @@ -152,7 +129,7 @@ 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 -@@ -56,7 +56,6 @@ import org.chromium.chrome.browser.native_page.ContextMenuManager; +@@ -59,7 +59,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; @@ -160,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileKey; -@@ -109,8 +108,7 @@ import java.util.List; +@@ -115,8 +114,7 @@ import java.util.List; */ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvider, TemplateUrlServiceObserver, @@ -170,7 +147,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. -@@ -142,7 +140,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -147,7 +145,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide protected boolean mSearchProviderHasLogo; protected OmniboxStub mOmniboxStub; @@ -178,7 +155,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; -@@ -226,8 +223,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -235,8 +232,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide @Override public boolean isVoiceSearchEnabled() { @@ -188,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -235,21 +231,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -244,21 +240,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide if (mIsDestroyed) return; FeedReliabilityLogger feedReliabilityLogger = mFeedSurfaceProvider.getReliabilityLogger(); @@ -210,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -736,12 +717,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -754,12 +735,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -223,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -752,11 +727,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -770,11 +745,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide } } @@ -235,7 +212,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); -@@ -775,9 +745,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -793,9 +763,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide mLastShownTimeNs = System.nanoTime(); RecordUserAction.record("MobileNTPShown"); SuggestionsMetrics.recordSurfaceVisible(); @@ -245,7 +222,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. */ -@@ -785,7 +752,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -803,7 +770,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide RecordHistogram.recordMediumTimesHistogram("NewTabPage.TimeSpent", (System.nanoTime() - mLastShownTimeNs) / TimeUtils.NANOSECONDS_PER_MILLISECOND); SuggestionsMetrics.recordSurfaceHidden(); @@ -253,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } /** -@@ -884,9 +850,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide +@@ -902,9 +868,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide } mFeedSurfaceProvider.destroy(); mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); @@ -266,65 +243,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java -@@ -21,7 +21,6 @@ import org.chromium.chrome.browser.lens.LensQueryParams; - import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; - import org.chromium.chrome.browser.lifecycle.DestroyObserver; - import org.chromium.chrome.browser.lifecycle.NativeInitObserver; --import org.chromium.chrome.browser.omnibox.voice.AssistantVoiceSearchService; - import org.chromium.chrome.browser.preferences.SharedPreferencesManager; - import org.chromium.chrome.browser.profiles.Profile; - import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; -@@ -38,14 +37,13 @@ import java.util.ArrayList; - import java.util.List; +@@ -78,7 +78,6 @@ class SearchBoxMediator implements DestroyObserver, NativeInitObserver { - class SearchBoxMediator -- implements DestroyObserver, NativeInitObserver, AssistantVoiceSearchService.Observer { -+ implements DestroyObserver, NativeInitObserver { - private final Context mContext; - private final PropertyModel mModel; - private final ViewGroup mView; - private final List mVoiceSearchClickListeners = new ArrayList<>(); - private final List mLensClickListeners = new ArrayList<>(); - private ActivityLifecycleDispatcher mActivityLifecycleDispatcher; -- private AssistantVoiceSearchService mAssistantVoiceSearchService; - - /** Constructor. */ - SearchBoxMediator(Context context, PropertyModel model, ViewGroup view) { -@@ -72,11 +70,6 @@ class SearchBoxMediator - - @Override - public void onDestroy() { -- if (mAssistantVoiceSearchService != null) { -- mAssistantVoiceSearchService.destroy(); -- mAssistantVoiceSearchService = null; -- } -- - if (mActivityLifecycleDispatcher != null) { - mActivityLifecycleDispatcher.unregister(this); - mActivityLifecycleDispatcher = null; -@@ -85,26 +78,6 @@ class SearchBoxMediator - - @Override - public void onFinishNativeInitialization() { -- Profile profile = Profile.getLastUsedRegularProfile(); -- mAssistantVoiceSearchService = new AssistantVoiceSearchService(mContext, -- ExternalAuthUtils.getInstance(), TemplateUrlServiceFactory.getForProfile(profile), -- GSAState.getInstance(), this, SharedPreferencesManager.getInstance(), -- IdentityServicesProvider.get().getIdentityManager(profile), -- AccountManagerFacadeProvider.getInstance()); -- onAssistantVoiceSearchServiceChanged(); -- } -- -- @Override -- public void onAssistantVoiceSearchServiceChanged() { -- // Potential race condition between destroy and the observer, see crbug.com/1055274. -- if (mAssistantVoiceSearchService == null) return; -- -- Drawable drawable = mAssistantVoiceSearchService.getCurrentMicDrawable(); -- mModel.set(SearchBoxProperties.VOICE_SEARCH_DRAWABLE, drawable); -- -- ColorStateList colorStateList = mAssistantVoiceSearchService.getButtonColorStateList( -- BrandedColorScheme.APP_DEFAULT, mContext); + ColorStateList colorStateList = + ThemeUtils.getThemedToolbarIconTint(mContext, BrandedColorScheme.APP_DEFAULT); - mModel.set(SearchBoxProperties.VOICE_SEARCH_COLOR_STATE_LIST, colorStateList); } @@ -332,15 +254,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/Sear diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java -@@ -51,7 +51,6 @@ import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils; - import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; +@@ -52,7 +52,6 @@ import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.omnibox.suggestions.base.HistoryClustersProcessor.OpenHistoryClustersDelegate; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; + import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; + import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; - import org.chromium.chrome.browser.profiles.Profile; - import org.chromium.chrome.browser.tab.Tab; -@@ -377,14 +376,12 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -399,14 +398,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); @@ -356,7 +278,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se RecordUserAction.record("SearchWidget.WidgetSelected"); getActivityDelegate().onFinishDeferredInitialization(); -@@ -455,8 +452,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -477,8 +474,7 @@ public class SearchActivity extends AsyncInitializationActivity if (isFromQuickActionSearchWidget()) { recordQuickActionSearchType(searchType); } @@ -475,15 +397,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java -@@ -87,7 +87,6 @@ import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils; +@@ -86,7 +86,6 @@ import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegate; + import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; - import org.chromium.chrome.browser.omnibox.suggestions.ActionChipsDelegate; import org.chromium.chrome.browser.omnibox.suggestions.base.HistoryClustersProcessor.OpenHistoryClustersDelegate; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures; -@@ -2121,11 +2120,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -2120,11 +2119,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve return mLocationBar.getOmniboxStub(); } @@ -498,16 +420,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -91,8 +91,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; +@@ -93,8 +93,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; - import org.chromium.chrome.browser.omnibox.suggestions.ActionChipsDelegate; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.omnibox.suggestions.base.HistoryClustersProcessor.OpenHistoryClustersDelegate; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceInteractionSource; import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; - import org.chromium.chrome.browser.preferences.SharedPreferencesManager; - import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController; -@@ -276,7 +274,6 @@ public class RootUiCoordinator + import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; + import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; +@@ -280,7 +278,6 @@ public class RootUiCoordinator protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); protected Supplier mStartSurfaceParentTabSupplier; @Nullable @@ -515,7 +437,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi private MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; -@@ -561,9 +558,6 @@ public class RootUiCoordinator +@@ -568,9 +565,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { @@ -525,7 +447,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mToolbarManager.destroy(); mToolbarManager = null; } -@@ -1112,19 +1106,11 @@ public class RootUiCoordinator +@@ -1126,19 +1120,11 @@ public class RootUiCoordinator new VoiceToolbarButtonController.VoiceSearchDelegate() { @Override public boolean isVoiceSearchEnabled() { @@ -546,7 +468,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi } }; TranslateToolbarButtonController translateToolbarButtonController = -@@ -1197,13 +1183,6 @@ public class RootUiCoordinator +@@ -1239,13 +1225,6 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } @@ -557,17 +479,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi - mMicStateObserver = voiceToolbarButtonController::updateMicButtonState; - voiceRecognitionHandler.addObserver(mMicStateObserver); - } + mToolbarManagerOneshotSupplier.set(mToolbarManager); } } - 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 -@@ -132,8 +132,6 @@ android_library("java") { +@@ -136,7 +136,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", -- "java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java", - "java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java", ] @@ -598,7 +519,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.AutocompleteDelegate; +@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.base.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; @@ -635,57 +556,32 @@ 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/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -51,8 +51,6 @@ import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; +@@ -50,7 +50,6 @@ import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; --import org.chromium.chrome.browser.omnibox.voice.AssistantVoiceSearchService; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; - import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; -@@ -89,8 +87,7 @@ import java.util.function.BooleanSupplier; - * currently, migration of this logic out of LocationBarLayout is in progress. - */ - class LocationBarMediator -- implements LocationBarDataProvider.Observer, OmniboxStub, VoiceRecognitionHandler.Delegate, -- VoiceRecognitionHandler.Observer, AssistantVoiceSearchService.Observer, -+ implements LocationBarDataProvider.Observer, OmniboxStub, - UrlBarDelegate, OnKeyListener, ComponentCallbacks, - TemplateUrlService.TemplateUrlServiceObserver, BackPressHandler { - private static final int ICON_FADE_ANIMATION_DURATION_MS = 150; -@@ -150,10 +147,7 @@ class LocationBarMediator + import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; +@@ -144,7 +143,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; - private VoiceRecognitionHandler mVoiceRecognitionHandler; private final LocationBarDataProvider mLocationBarDataProvider; -- private final OneshotSupplierImpl -- mAssistantVoiceSearchServiceSupplier = new OneshotSupplierImpl<>(); private StatusCoordinator mStatusCoordinator; private AutocompleteCoordinator mAutocompleteCoordinator; - private OmniboxPrerender mOmniboxPrerender; -@@ -220,9 +214,6 @@ class LocationBarMediator +@@ -212,8 +210,6 @@ class LocationBarMediator mLocationBarDataProvider.addObserver(this); mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate; mLocaleManager = localeManager; -- mVoiceRecognitionHandler = new VoiceRecognitionHandler( -- this, mAssistantVoiceSearchServiceSupplier, profileSupplier); +- mVoiceRecognitionHandler = new VoiceRecognitionHandler(this, profileSupplier); - mVoiceRecognitionHandler.addObserver(this); mProfileSupplier = profileSupplier; mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile)); mPrivacyPreferencesManager = privacyPreferencesManager; -@@ -258,9 +249,6 @@ class LocationBarMediator - } - - /*package */ void destroy() { -- if (mAssistantVoiceSearchServiceSupplier.get() != null) { -- mAssistantVoiceSearchServiceSupplier.get().destroy(); -- } - if (mTemplateUrlServiceSupplier.hasValue()) { - mTemplateUrlServiceSupplier.get().removeObserver(this); - } -@@ -268,8 +256,6 @@ class LocationBarMediator +@@ -256,8 +252,6 @@ class LocationBarMediator mAutocompleteCoordinator = null; mUrlCoordinator = null; mPrivacyPreferencesManager = null; @@ -694,21 +590,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -326,13 +312,6 @@ class LocationBarMediator - mOmniboxPrerender = new OmniboxPrerender(); - mTemplateUrlServiceSupplier.onAvailable((templateUrlService) -> { - templateUrlService.addObserver(this); -- mAssistantVoiceSearchServiceSupplier.set(new AssistantVoiceSearchService(mContext, -- ExternalAuthUtils.getInstance(), templateUrlService, GSAState.getInstance(), -- LocationBarMediator.this, SharedPreferencesManager.getInstance(), -- IdentityServicesProvider.get().getIdentityManager( -- Profile.getLastUsedRegularProfile()), -- AccountManagerFacadeProvider.getInstance())); -- onAssistantVoiceSearchServiceChanged(); - }); - - mLocationBarLayout.onFinishNativeInitialization(); -@@ -383,17 +362,6 @@ class LocationBarMediator +@@ -363,11 +357,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -716,29 +598,11 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow - VoiceRecognitionHandler voiceRecognitionHandler) { - mVoiceRecognitionHandler = voiceRecognitionHandler; - } -- -- /* package */ void setAssistantVoiceSearchServiceForTesting( -- AssistantVoiceSearchService assistantVoiceSearchService) { -- mAssistantVoiceSearchServiceSupplier.set(assistantVoiceSearchService); -- onAssistantVoiceSearchServiceChanged(); -- } - /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -402,11 +370,6 @@ class LocationBarMediator - sLastCachedIsLensOnOmniboxEnabled = null; - } - -- /* package */ OneshotSupplier -- getAssistantVoiceSearchServiceSupplierForTesting() { -- return mAssistantVoiceSearchServiceSupplier; -- } -- - /* package */ void setIsUrlBarFocusedWithoutAnimationsForTesting( - boolean isUrlBarFocusedWithoutAnimations) { - mUrlFocusedWithoutAnimations = isUrlBarFocusedWithoutAnimations; -@@ -601,8 +564,6 @@ class LocationBarMediator +@@ -570,8 +559,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(false, false); RecordUserAction.record("MobileOmniboxVoiceSearch"); @@ -747,36 +611,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** package */ void lensButtonClicked(View view) { -@@ -954,28 +915,6 @@ class LocationBarMediator - } - } - -- @VisibleForTesting -- /* package */ void updateAssistantVoiceSearchDrawableAndColors() { -- AssistantVoiceSearchService assistantVoiceSearchService = -- mAssistantVoiceSearchServiceSupplier.get(); -- if (assistantVoiceSearchService == null) return; -- -- mLocationBarLayout.setMicButtonTint( -- assistantVoiceSearchService.getButtonColorStateList(mBrandedColorScheme, mContext)); -- mLocationBarLayout.setMicButtonDrawable( -- assistantVoiceSearchService.getCurrentMicDrawable()); -- } -- -- @VisibleForTesting -- /* package */ void updateLensButtonColors() { -- AssistantVoiceSearchService assistantVoiceSearchService = -- mAssistantVoiceSearchServiceSupplier.get(); -- if (assistantVoiceSearchService == null) return; -- -- mLocationBarLayout.setLensButtonTint( -- assistantVoiceSearchService.getButtonColorStateList(mBrandedColorScheme, mContext)); -- } -- - /** - * Update visuals to use a correct color scheme depending on the primary color. - */ -@@ -1062,8 +1001,7 @@ class LocationBarMediator +@@ -1023,8 +1010,7 @@ class LocationBarMediator private boolean shouldShowMicButton() { if (shouldShowDeleteButton()) return false; @@ -786,17 +621,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1258,9 +1196,6 @@ class LocationBarMediator - public void onPrimaryColorChanged() { +@@ -1220,7 +1206,6 @@ class LocationBarMediator // This method needs to be called first as it computes |mBrandedColorScheme|. updateBrandedColorScheme(); -- + - updateAssistantVoiceSearchDrawableAndColors(); -- updateLensButtonColors(); + updateLensButtonColors(); } - @Override -@@ -1346,16 +1281,6 @@ class LocationBarMediator +@@ -1307,16 +1292,6 @@ class LocationBarMediator } } @@ -813,12 +646,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1371,37 +1296,10 @@ class LocationBarMediator - return mUrlHasFocus; - } - -- @Override - public void clearOmniboxFocus() { +@@ -1337,23 +1312,6 @@ class LocationBarMediator setUrlBarFocus(/*shouldBeFocused=*/false, /*pastedText=*/null, OmniboxFocusReason.UNFOCUS); } @@ -827,14 +655,6 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow - mLocationBarLayout.notifyVoiceRecognitionCanceled(); - } - -- // AssistantVoiceSearchService.Observer implementation. -- -- @Override -- public void onAssistantVoiceSearchServiceChanged() { -- updateAssistantVoiceSearchDrawableAndColors(); -- updateLensButtonColors(); -- } -- - // VoiceRecognitionHandler.Delegate implementation. - - @Override @@ -847,28 +667,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow - updateButtonVisibility(); - } - -- @Override + @Override public void setSearchQuery(String query) { if (TextUtils.isEmpty(query)) return; - -@@ -1420,17 +1318,14 @@ class LocationBarMediator - mUrlCoordinator.setKeyboardVisibility(true, false); - } - -- @Override - public LocationBarDataProvider getLocationBarDataProvider() { - return mLocationBarDataProvider; - } - -- @Override - public AutocompleteCoordinator getAutocompleteCoordinator() { - return mAutocompleteCoordinator; - } - -- @Override - public WindowAndroid getWindowAndroid() { - return mWindowAndroid; - } diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java @@ -905,7 +706,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; -@@ -260,24 +259,6 @@ public class AutocompleteController implements Destroyable { +@@ -261,24 +260,6 @@ public class AutocompleteController implements Destroyable { completedLength, webContents); } @@ -930,7 +731,7 @@ 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. -@@ -369,8 +350,6 @@ public class AutocompleteController implements Destroyable { +@@ -370,8 +351,6 @@ public class AutocompleteController implements Destroyable { long nativeAutocompleteControllerAndroid, int matchIndex, long elapsedTimeSinceInputChange, String newQueryText, String[] newQueryParams); Tab getMatchingTabForSuggestion(long nativeAutocompleteControllerAndroid, int matchIndex); @@ -950,7 +751,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; -@@ -315,13 +314,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC +@@ -318,13 +317,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC mRecycledViewPool.onNativeInitialized(); } @@ -967,15 +768,15 @@ 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/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java -@@ -33,7 +33,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On - import org.chromium.chrome.browser.omnibox.suggestions.SuggestionsMetrics.RefineActionUsage; +@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionFactoryImpl; import org.chromium.chrome.browser.omnibox.suggestions.base.HistoryClustersProcessor.OpenHistoryClustersDelegate; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -374,14 +373,6 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, +@@ -385,14 +384,6 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, mShouldPreventOmniboxAutocomplete = prevent; } diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch index 53fe173b..415e2915 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -34,7 +34,7 @@ The feature is controlled by a feature flag (default enabled) 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 -@@ -7805,6 +7805,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8043,6 +8043,11 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(paint_preview::kPaintPreviewDemo)}, #endif // BUILDFLAG(ENABLE_PAINT_PREVIEW) && BUILDFLAG(IS_ANDROID) @@ -49,7 +49,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc -@@ -7125,6 +7125,12 @@ const char kPaintPreviewDemoDescription[] = +@@ -7206,6 +7206,12 @@ const char kPaintPreviewDemoDescription[] = "previews."; #endif // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID) @@ -65,7 +65,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h -@@ -4136,6 +4136,9 @@ extern const char kPaintPreviewDemoName[]; +@@ -4171,6 +4171,9 @@ extern const char kPaintPreviewDemoName[]; extern const char kPaintPreviewDemoDescription[]; #endif // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID) @@ -92,7 +92,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h -@@ -924,6 +924,9 @@ BLINK_COMMON_EXPORT extern const base::FeatureParam< +@@ -968,6 +968,9 @@ BLINK_COMMON_EXPORT extern const base::FeatureParam< // base url inheritance behavior from https://crbug.com/1356658. BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kNewBaseUrlInheritanceBehavior); @@ -140,7 +140,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc --- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc +++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc -@@ -1692,7 +1692,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { +@@ -1709,7 +1709,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { ComputedStyleBuilder builder = CreateComputedStyleBuilder(); builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical); @@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_part diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1034,7 +1034,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { +@@ -1039,7 +1039,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { page_popup_ = WebPagePopupImpl::Create( std::move(popup_widget_host), std::move(widget_host), std::move(widget_receiver), this, agent_group_scheduler, @@ -238,19 +238,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -1530,6 +1530,11 @@ int LocalDOMWindow::outerHeight() const { - if (!page) - return 0; - -+ // If screen is emulated and this frame is remote cross-origin -+ // return innerHeight -+ if (page->IsScreenEmulated() && frame->IsCrossOriginToOutermostMainFrame()) -+ return innerHeight(); -+ - ChromeClient& chrome_client = page->GetChromeClient(); - if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) { - return static_cast( -@@ -1555,6 +1560,11 @@ int LocalDOMWindow::outerWidth() const { +@@ -1516,6 +1516,11 @@ int LocalDOMWindow::outerHeight() const { if (!page) return 0; @@ -262,7 +250,19 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p ChromeClient& chrome_client = page->GetChromeClient(); if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) { return static_cast( -@@ -1743,7 +1753,8 @@ double LocalDOMWindow::devicePixelRatio() const { +@@ -1541,6 +1546,11 @@ int LocalDOMWindow::outerWidth() const { + if (!page) + return 0; + ++ // If screen is emulated and this frame is remote cross-origin ++ // return innerHeight ++ if (page->IsScreenEmulated() && frame->IsCrossOriginToOutermostMainFrame()) ++ return innerHeight(); ++ + ChromeClient& chrome_client = page->GetChromeClient(); + if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) { + return static_cast( +@@ -1729,7 +1739,8 @@ double LocalDOMWindow::devicePixelRatio() const { if (!GetFrame()) return 0.0; @@ -272,7 +272,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p } void LocalDOMWindow::scrollBy(double x, double y) const { -@@ -2301,6 +2312,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2284,6 +2295,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, if (!completed_url.IsEmpty() || result.new_window) result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -297,8 +297,8 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -1364,6 +1364,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio( - return gfx::SizeF(result_width, result_height); +@@ -1376,6 +1376,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio( + return gfx::SizeF(inline_size, block_size); } +void LocalFrame::SetPageZoomFactorBaseValue(float factor) { @@ -308,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ void LocalFrame::SetPageZoomFactor(float factor) { SetPageAndTextZoomFactors(factor, text_zoom_factor_); } -@@ -1503,12 +1507,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { +@@ -1515,12 +1519,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { return mojo_handler_->GetDevicePosture(); } @@ -330,7 +330,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -403,13 +403,14 @@ class CORE_EXPORT LocalFrame final +@@ -409,13 +409,14 @@ class CORE_EXPORT LocalFrame final void SetInViewSourceMode(bool = true); void SetPageZoomFactor(float); @@ -347,7 +347,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b // Informs the local root's document and its local descendant subtree that a // media query value changed. -@@ -1015,6 +1016,7 @@ class CORE_EXPORT LocalFrame final +@@ -1023,6 +1024,7 @@ class CORE_EXPORT LocalFrame final unsigned hidden_ : 1; float page_zoom_factor_; @@ -453,7 +453,7 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -@@ -1694,6 +1694,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1713,6 +1713,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( if (auto* device_emulator = DeviceEmulator()) { device_emulator->UpdateVisualProperties(visual_properties); @@ -543,7 +543,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re namespace blink { -@@ -878,7 +882,79 @@ void Page::UpdateAcceleratedCompositingSettings() { +@@ -882,7 +886,79 @@ void Page::UpdateAcceleratedCompositingSettings() { } } @@ -626,9 +626,9 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h --- a/third_party/blink/renderer/core/page/page.h +++ b/third_party/blink/renderer/core/page/page.h -@@ -420,6 +420,9 @@ class CORE_EXPORT Page final : public GarbageCollected, - return *v8_compile_hints_; - } +@@ -432,6 +432,9 @@ class CORE_EXPORT Page final : public GarbageCollected, + // in. + const base::UnguessableToken& CoopRelatedGroupToken(); + void CalculateEmulatedScreenSetting(LocalFrame* frame, bool force = false); + bool IsScreenEmulated() { return is_screen_emulated; } @@ -636,7 +636,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren private: friend class ScopedPagePauser; -@@ -563,6 +566,10 @@ class CORE_EXPORT Page final : public GarbageCollected, +@@ -575,6 +578,10 @@ class CORE_EXPORT Page final : public GarbageCollected, // browser side FrameTree has the FrameTree::Type of kFencedFrame. bool is_fenced_frame_tree_ = false; @@ -650,7 +650,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1818,8 +1818,8 @@ +@@ -1875,8 +1875,8 @@ // as a speculative site compatibility measure, because web authors may // assume that screen dimensions match window.innerWidth/innerHeight while // a page is fullscreen, but that is not always true. crbug.com/1367416 diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index 674ca530..e21e3f4d 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/common/BUILD.gn | 2 - chrome/common/chrome_features.cc | 4 +- .../google_accounts_private_api_util.cc | 1 + - .../url_loader_throttle_provider_impl.cc | 10 - + .../url_loader_throttle_provider_impl.cc | 11 - chrome/test/BUILD.gn | 1 - components/domain_reliability/BUILD.gn | 5 +- .../domain_reliability/bake_in_configs.py | 2 +- @@ -58,12 +58,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../webid/identity_url_loader_throttle.cc | 2 +- net/base/url_util.cc | 21 -- services/network/network_context.cc | 2 +- - 51 files changed, 55 insertions(+), 788 deletions(-) + 51 files changed, 55 insertions(+), 789 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -974,10 +974,6 @@ static_library("browser") { +@@ -990,10 +990,6 @@ static_library("browser") { "page_load_metrics/observers/foreground_duration_ukm_observer.h", "page_load_metrics/observers/formfill_page_load_metrics_observer.cc", "page_load_metrics/observers/formfill_page_load_metrics_observer.h", @@ -74,7 +74,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/histogram_suffixes.cc", "page_load_metrics/observers/histogram_suffixes.h", "page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer.cc", -@@ -1860,7 +1856,6 @@ static_library("browser") { +@@ -1882,7 +1878,6 @@ static_library("browser") { "//chrome/browser/autofill", "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -82,7 +82,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/profiling_host", # TODO(crbug.com/1335199): break this dep when favicon is in its own target -@@ -1884,7 +1879,6 @@ static_library("browser") { +@@ -1906,7 +1901,6 @@ static_library("browser") { public_deps = [ "//base", @@ -90,19 +90,19 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/headless", "//chrome/common", "//chrome/common:buildflags", -@@ -7461,8 +7455,6 @@ static_library("browser") { +@@ -7539,8 +7533,6 @@ static_library("browser") { "supervised_user/kids_chrome_management/kids_profile_manager.h", "supervised_user/supervised_user_browser_utils.cc", "supervised_user/supervised_user_browser_utils.h", - "supervised_user/supervised_user_google_auth_navigation_throttle.cc", - "supervised_user/supervised_user_google_auth_navigation_throttle.h", - "supervised_user/supervised_user_interstitial.cc", - "supervised_user/supervised_user_interstitial.h", "supervised_user/supervised_user_interstitial_tab_closer.cc", + "supervised_user/supervised_user_interstitial_tab_closer.h", + "supervised_user/supervised_user_metrics_service_factory.cc", diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browser/android/metrics/uma_session_stats.cc --- a/chrome/browser/android/metrics/uma_session_stats.cc +++ b/chrome/browser/android/metrics/uma_session_stats.cc -@@ -210,16 +210,6 @@ static void JNI_UmaSessionStats_ChangeMetricsReportingConsent( +@@ -257,16 +257,6 @@ static void JNI_UmaSessionStats_ChangeMetricsReportingConsent( jint called_from) { UpdateMetricsPrefsOnPermissionChange( consent, static_cast(called_from)); @@ -159,7 +159,7 @@ diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/br diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1108,7 +1108,6 @@ BrowserProcessImpl::component_updater() { +@@ -1120,7 +1120,6 @@ BrowserProcessImpl::component_updater() { std::make_unique(); std::string brand; @@ -170,7 +170,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -2930,7 +2930,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2907,7 +2907,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( switches::kForcePNaClSubzero, #endif switches::kForceUIDirection, @@ -178,7 +178,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch switches::kJavaScriptHarmony, switches::kEnableExperimentalWebAssemblyFeatures, embedder_support::kOriginTrialDisabledFeatures, -@@ -5036,12 +5035,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -4932,12 +4931,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( &throttles); #endif @@ -191,7 +191,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch if (auto* throttle_manager = subresource_filter::ContentSubresourceFilterThrottleManager:: FromNavigationHandle(*handle)) { -@@ -5603,25 +5596,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -5499,25 +5492,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( } #endif @@ -266,7 +266,7 @@ diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/brows 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 -@@ -802,7 +802,6 @@ static_library("extensions") { +@@ -798,7 +798,6 @@ static_library("extensions") { "//chrome/browser/devtools", "//chrome/browser/extensions:cws_item_service_proto", "//chrome/browser/favicon", @@ -383,7 +383,7 @@ diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/c 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 -@@ -607,7 +607,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { +@@ -623,7 +623,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { } bool ChromeMetricsServiceClient::GetBrand(std::string* brand_code) { @@ -519,7 +519,7 @@ diff --git a/chrome/browser/metrics/metrics_reporting_state.cc b/chrome/browser/ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -734,7 +734,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -722,7 +722,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { variations::UpdateCorsExemptHeaderForVariations(network_context_params); @@ -600,7 +600,7 @@ diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metri diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc --- a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc +++ b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -126,8 +126,6 @@ void PageLoadMetricsEmbedder::RegisterEmbedderObservers( +@@ -121,8 +121,6 @@ void PageLoadMetricsEmbedder::RegisterEmbedderObservers( tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); @@ -623,7 +623,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin diff --git a/chrome/browser/search_engines/ui_thread_search_terms_data.cc b/chrome/browser/search_engines/ui_thread_search_terms_data.cc --- a/chrome/browser/search_engines/ui_thread_search_terms_data.cc +++ b/chrome/browser/search_engines/ui_thread_search_terms_data.cc -@@ -32,10 +32,6 @@ UIThreadSearchTermsData::UIThreadSearchTermsData() { +@@ -33,10 +33,6 @@ UIThreadSearchTermsData::UIThreadSearchTermsData() { std::string UIThreadSearchTermsData::GoogleBaseURLValue() const { DCHECK(!BrowserThread::IsThreadInitialized(BrowserThread::UI) || BrowserThread::CurrentlyOn(BrowserThread::UI)); @@ -637,7 +637,7 @@ diff --git a/chrome/browser/search_engines/ui_thread_search_terms_data.cc b/chro 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 -@@ -410,7 +410,6 @@ static_library("ui") { +@@ -508,7 +508,6 @@ static_library("ui") { "//chrome/browser/companion/core", "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -648,7 +648,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc --- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc +++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc -@@ -576,11 +576,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { +@@ -580,11 +580,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { // chrome-untrusted://new-tab-page for other external content and resources. // NOTE: Use caution when overriding content security policies as that cean // lead to subtle security bugs such as https://crbug.com/1251541. @@ -686,7 +686,7 @@ diff --git a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc b/chrome/b diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -129,8 +129,6 @@ static_library("common_lib") { +@@ -130,8 +130,6 @@ static_library("common_lib") { "content_restriction.h", "crash_keys.cc", "crash_keys.h", @@ -698,14 +698,14 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -1525,8 +1525,8 @@ BASE_FEATURE(kUseWebAppDBInsteadOfExternalPrefs, +@@ -1560,8 +1560,8 @@ BASE_FEATURE(kUseWebAppDBInsteadOfExternalPrefs, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kWebAuthFlowInBrowserTab, - "WebAuthFlowInBrowserTab", -- base::FeatureState::FEATURE_DISABLED_BY_DEFAULT); +- base::FeatureState::FEATURE_ENABLED_BY_DEFAULT); + "WebAuthFlowInBrowserTab", // disable by default -+ base::FeatureState::FEATURE_DISABLED_BY_DEFAULT); // in bromite ++ base::FeatureState::FEATURE_ENABLED_BY_DEFAULT); // in bromite const base::FeatureParam::Option web_auth_flow_modes[] = { {WebAuthFlowInBrowserTabMode::kNewTab, "new_tab"}, @@ -723,7 +723,7 @@ diff --git a/chrome/renderer/google_accounts_private_api_util.cc b/chrome/render diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/renderer/url_loader_throttle_provider_impl.cc --- a/chrome/renderer/url_loader_throttle_provider_impl.cc +++ b/chrome/renderer/url_loader_throttle_provider_impl.cc -@@ -187,16 +187,6 @@ URLLoaderThrottleProviderImpl::CreateThrottles( +@@ -187,17 +187,6 @@ URLLoaderThrottleProviderImpl::CreateThrottles( } #endif @@ -732,7 +732,8 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende - client_data_header, -#endif -#if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS) -- /*bound_session_request_throttled_listener=*/nullptr, +- chrome_content_renderer_client_->GetChromeObserver() +- ->CreateBoundSessionRequestThrottledListener(), -#endif - chrome_content_renderer_client_->GetChromeObserver() - ->GetDynamicParams())); @@ -743,7 +744,7 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6021,7 +6021,6 @@ test("unit_tests") { +@@ -6177,7 +6177,6 @@ test("unit_tests") { "//chrome/browser/favicon", "//chrome/browser/feature_guide/notifications:unit_tests", "//chrome/browser/first_party_sets", @@ -1632,7 +1633,7 @@ diff --git a/net/base/url_util.cc b/net/base/url_util.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -2629,7 +2629,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2643,7 +2643,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( } #endif // BUILDFLAG(IS_CT_SUPPORTED)