From 619a988257be122b89cbeefa71b1cb4496768fb6 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 5 Aug 2023 13:31:40 +0200 Subject: [PATCH] v116 patches --- ...le-find-bad-constructs-external-repo.patch | 4 +- .../00Add-a-flag-to-disable-GamePad-API.patch | 6 +- .../00Add-setting-to-clear-data-on-exit.patch | 36 ++-- ...d-setting-to-invert-tap-and-long-tap.patch | 68 +++---- ...ays-open-browser-controls-in-new-tab.patch | 4 +- ...ORS-Preflight-Cache-on-clearing-data.patch | 2 +- ...ress-libchrome-to-free-up-some-space.patch | 2 +- build/patches/00Cromite-Branding.patch | 8 +- ...0Deprecate-Data-URL-in-SVGUseElement.patch | 13 +- .../patches/00Disable-Component-Updates.patch | 2 +- ...ble-Compression-Dictionary-Transport.patch | 2 +- build/patches/00Disable-FedCm.patch | 4 +- ...-FirstPartySets-and-StorageAccessAPI.patch | 2 +- build/patches/00Disable-GSA-by-default.patch | 4 +- ...0Disable-GetInstalledRelatedApps-API.patch | 4 +- .../00Disable-PrivateStateTokens-API.patch | 2 +- build/patches/00Disable-WebGPU.patch | 14 +- build/patches/00Disable-csp-reports.patch | 4 +- ...ble-remote-altsvc-for-h3-connections.patch | 2 +- ...isable-speechSynthesis-getVoices-API.patch | 18 +- ...le-Document-Open-Inheritance-Removal.patch | 29 ++- ...ct-the-entire-FrameTree-like-desktop.patch | 4 +- ...00Eyeo-Adblock-Remove-Privacy-Issues.patch | 22 +-- .../00Fonts-fingerprinting-mitigation.patch | 54 +++--- build/patches/00Internal-firewall.patch | 28 +-- ...00Keep-Side-Panel-Companion-disabled.patch | 15 +- .../patches/00Keyboard-protection-flag.patch | 10 +- ...ing-attributes-in-some-html-elements.patch | 26 +-- .../00Partition-HSTS-cache-by-NAK.patch | 30 ++-- ...ning-all-cookies-by-top-frame-domain.patch | 8 +- .../00Remove-ChromiumNetworkAdapter.patch | 4 +- ...xperimental-relative-c---abi-vtables.patch | 2 +- ...t-for-device-memory-and-cpu-recovery.patch | 8 +- .../00Restore-LastTabStandingTracker.patch | 14 +- ...Show-warnings-on-downloads-over-HTTP.patch | 2 +- ...-Add-a-log-to-track-strange-behavior.patch | 2 +- ...e-kAutomaticLazyFrameLoadingToEmbeds.patch | 2 +- ...O-AImageReader-CFI-crash-mitigations.patch | 2 +- ...ADDTO-Add-AllowUserCertificates-flag.patch | 2 +- ...ADDTO-Add-a-proxy-configuration-page.patch | 2 +- ...O-Add-bookmark-import-export-actions.patch | 12 +- ...TO-Experimental-user-scripts-support.patch | 36 ++-- ...DDTO-Remove-binary-blob-integrations.patch | 2 +- ...TO-Restore-Search-Ready-Omnibox-flag.patch | 2 +- ...Revert-flags--remove-num-raster-thre.patch | 4 +- .../00WIN-Disable-TabHoverCard-images.patch | 2 +- build/patches/00WIN-Disable-first-run.patch | 2 +- build/patches/00WIN-Disable-sharing-hub.patch | 27 ++- ...able-Network-Service-Sandbox-and-CIG.patch | 2 +- build/patches/00WIN-enable-pdf-plugin.patch | 2 +- ...um-data-to-enable-install-extensions.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 16 +- build/patches/00add-browser-policy.patch | 4 +- ...ot-block-build-incompatible-profiles.patch | 4 +- build/patches/00v113-temp-fix-build.patch | 2 +- .../AImageReader-CFI-crash-mitigations.patch | 22 +-- .../Add-AllowUserCertificates-flag.patch | 22 +-- .../Add-IsCleartextPermitted-flag.patch | 10 +- .../Add-a-proxy-configuration-page.patch | 26 +-- .../Add-an-always-incognito-mode.patch | 102 +++++------ build/patches/Add-autoplay-site-setting.patch | 2 +- .../Add-bookmark-import-export-actions.patch | 68 +++---- ...dd-custom-tab-intents-privacy-option.patch | 14 +- build/patches/Add-exit-menu-item.patch | 6 +- ...g-for-omnibox-autocomplete-filtering.patch | 2 +- .../Add-flag-for-save-data-header.patch | 8 +- ...nfigure-maximum-connections-per-host.patch | 8 +- ...ontrol-video-playback-resume-feature.patch | 10 +- .../Add-flag-to-disable-IPv6-probes.patch | 16 +- ...-to-disable-external-intent-requests.patch | 6 +- .../Add-flag-to-disable-vibration.patch | 10 +- ...-switch-for-unsupported-clangd-flags.patch | 13 +- ...Add-lifetime-options-for-permissions.patch | 58 +++--- .../Add-menu-item-to-bookmark-all-tabs.patch | 22 +-- .../Add-menu-item-to-view-source.patch | 6 +- .../Add-option-to-force-tablet-UI.patch | 12 +- ...-to-not-persist-tabs-across-sessions.patch | 10 +- .../Add-option-to-use-home-page-as-NTP.patch | 6 +- build/patches/Add-site-engagement-flag.patch | 8 +- ...-support-for-ISupportHelpAndFeedback.patch | 4 +- build/patches/Add-webGL-site-setting.patch | 2 +- build/patches/Add-webRTC-site-settings.patch | 4 +- ...ow-building-without-enable_reporting.patch | 26 +-- ...ow-building-without-supervised-users.patch | 18 +- .../Allow-playing-audio-in-background.patch | 4 +- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 32 ++-- ...Block-gateway-attacks-via-websockets.patch | 10 +- .../Block-qjz9zk-or-trk-requests.patch | 6 +- .../Bookmarks-select-all-menu-entry.patch | 6 +- build/patches/Bromite-auto-updater.patch | 60 +++---- .../Bromite-subresource-adblocker.patch | 34 ++-- build/patches/Client-hints-overrides.patch | 20 +-- .../Content-settings-infrastructure.patch | 155 ++++++++-------- ...ctionary-suggestions-for-the-Omnibox.patch | 2 +- ...ble-Accessibility-service-by-default.patch | 4 +- .../patches/Disable-AsyncDNS-by-default.patch | 2 +- ...DRM-media-origin-IDs-preprovisioning.patch | 2 +- ...le-NTP-remote-suggestions-by-default.patch | 6 +- build/patches/Disable-PrivacyGuide.patch | 8 +- build/patches/Disable-TLS-resumption.patch | 20 +-- .../patches/Disable-all-predictors-code.patch | 14 +- build/patches/Disable-all-promo-dialogs.patch | 2 +- build/patches/Disable-crash-reporting.patch | 4 +- ...Disable-fetching-of-all-field-trials.patch | 12 +- ...-lock-icon-in-address-bar-by-default.patch | 2 +- .../patches/Disable-plugins-enumeration.patch | 2 +- build/patches/Disable-safety-check.patch | 39 ++-- ...isable-some-signed-exchange-features.patch | 4 +- .../Disable-text-fragments-by-default.patch | 30 ++-- .../Disable-third-party-origin-trials.patch | 18 +- build/patches/Disable-various-metrics.patch | 8 +- .../Do-not-build-API-keys-infobar.patch | 2 +- .../Do-not-compile-QR-code-sharing.patch | 27 +-- .../Do-not-hide-component-extensions.patch | 2 +- .../patches/Do-not-link-with-libatomic.patch | 2 +- build/patches/DoH-improvements.patch | 2 +- .../Enable-Certificate-Transparency.patch | 14 +- build/patches/Enable-ECH-by-default.patch | 4 +- build/patches/Enable-HEVC-by-default.patch | 2 +- ...able-PermuteTLSExtensions-by-default.patch | 2 +- ...e-darken-websites-checkbox-in-themes.patch | 4 +- ...fwrapv-in-Clang-for-non-UBSan-builds.patch | 2 +- .../Enable-native-Android-autofill.patch | 86 ++++----- .../Enable-network-isolation-features.patch | 4 +- ...-prefetch-privacy-changes-by-default.patch | 6 +- build/patches/Enable-share-intent.patch | 32 ++-- ...ble-third-party-storage-partitioning.patch | 2 +- .../Experimental-user-scripts-support.patch | 52 +++--- ...story-number-of-days-privacy-setting.patch | 22 +-- ...prove-plain-text-rendering-on-mobile.patch | 9 +- ...number-of-autocomplete-matches-to-10.patch | 4 +- ...ripts-for-AMP-tracking-ads-and-video.patch | 12 +- build/patches/JIT-site-settings.patch | 2 +- ...-allow-screenshots-in-Incognito-mode.patch | 2 +- build/patches/Logcat-crash-reports-UI.patch | 2 +- .../patches/Modify-default-preferences.patch | 22 +-- .../Move-navigation-bar-to-bottom.patch | 169 +++++++++--------- ...nt-settings-back-to-privacy-settings.patch | 8 +- .../Multiple-fingerprinting-mitigations.patch | 54 +++--- build/patches/OpenSearch-miscellaneous.patch | 6 +- .../patches/Override-Navigator-Language.patch | 4 +- .../Partition-Blink-memory-cache.patch | 14 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 24 +-- ...e-introduce-override_build_timestamp.patch | 2 +- ...ders-in-DoH-requests-to-bare-minimum.patch | 6 +- ...referrals-in-cross-origin-navigation.patch | 16 +- build/patches/Remove-help-menu-item.patch | 2 +- ...Remove-voice-recognition-integration.patch | 105 ++++++----- ...ndow-name-on-cross-origin-navigation.patch | 4 +- .../Restore-Search-Ready-Omnibox-flag.patch | 22 +-- .../Restore-Simplified-NTP-launch.patch | 34 ++-- ...-button-in-top-toolbar-customization.patch | 13 +- .../Restore-offline-indicator-v2-flag.patch | 20 +-- ...Delete-block-external-form-redirects.patch | 18 +- ...emove-disable-pull-to-refresh-effect.patch | 6 +- ...vert-flags-remove-num-raster-threads.patch | 10 +- ...l-of-execution-context-address-space.patch | 20 +-- ...tings-for-cookies-javascript-and-ads.patch | 8 +- .../Switch-to-fstack-protector-strong.patch | 2 +- build/patches/Timezone-customization.patch | 24 +-- .../Use-4-tile-rows-never-show-logo.patch | 6 +- build/patches/Use-dummy-DFM-installer.patch | 2 +- build/patches/User-agent-customization.patch | 52 +++--- .../Viewport-Protection-Site-Setting.patch | 10 +- build/patches/Viewport-Protection-flag.patch | 64 +++---- build/patches/Welcome-screen.patch | 22 +-- build/patches/autofill-miscellaneous.patch | 20 +-- build/patches/bromite-build-utils.patch | 6 +- ...build-remove-calling-untrusted-hooks.patch | 6 +- .../disable-WebView-variations-support.patch | 4 +- ...IPv6-connectivity-probes-to-RIPE-DNS.patch | 2 +- .../enable-ftrivial-auto-var-init-zero.patch | 2 +- .../kill-Location-fall-back-to-system.patch | 2 +- build/patches/kill-Vision.patch | 2 +- ...net-cert-increase-default-key-length.patch | 2 +- ...le-fetching-of-languages-from-server.patch | 4 +- ...hromium-Disable-Network-Time-Tracker.patch | 2 +- ...gled-chromium-Disable-profile-avatar.patch | 2 +- ...romium-Disable-translate-integration.patch | 2 +- ...chromium-Disable-webRTC-log-uploader.patch | 6 +- ...RTC-do-not-expose-local-IP-addresses.patch | 2 +- ...iew-Hard-no-to-persistent-histograms.patch | 6 +- 182 files changed, 1387 insertions(+), 1363 deletions(-) diff --git a/build/patches/00114-temp-disable-find-bad-constructs-external-repo.patch b/build/patches/00114-temp-disable-find-bad-constructs-external-repo.patch index ce216973..40324b0f 100644 --- a/build/patches/00114-temp-disable-find-bad-constructs-external-repo.patch +++ b/build/patches/00114-temp-disable-find-bad-constructs-external-repo.patch @@ -12,7 +12,7 @@ Subject: 114 temp disable find_bad_constructs external repo diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -5128,6 +5128,7 @@ if (enable_java_templates && is_android) { +@@ -4950,6 +4950,7 @@ if (enable_java_templates && is_android) { _module_build_config = _module.build_config _module_build_config_target = _module.build_config_target _module_target_name = get_label_info(_module_target, "name") @@ -34,7 +34,7 @@ diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1634,6 +1634,7 @@ component("net") { +@@ -1653,6 +1653,7 @@ component("net") { configs -= [ "//build/config/compiler:default_optimization" ] configs += [ "//build/config/compiler:optimize_max" ] } diff --git a/build/patches/00Add-a-flag-to-disable-GamePad-API.patch b/build/patches/00Add-a-flag-to-disable-GamePad-API.patch index ca03fada..0c39632d 100644 --- a/build/patches/00Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/00Add-a-flag-to-disable-GamePad-API.patch @@ -13,8 +13,8 @@ Adds restrict-gamepad-access flag (default active) to disable GamePad API. diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -6657,9 +6657,9 @@ - "expiry_milestone": 120 +@@ -6837,9 +6837,9 @@ + "expiry_milestone": 117 }, { - "name": "restrict-gamepad-access", @@ -28,7 +28,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js 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 -@@ -2882,7 +2882,7 @@ const char kReduceAcceptLanguageDescription[] = +@@ -2981,7 +2981,7 @@ const char kReduceAcceptLanguageDescription[] = const char kRestrictGamepadAccessName[] = "Restrict gamepad access"; const char kRestrictGamepadAccessDescription[] = 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 b1b3e553..6cc845b9 100644 --- a/build/patches/00Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/00Add-setting-to-clear-data-on-exit.patch @@ -33,7 +33,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 -@@ -292,6 +292,7 @@ chrome_java_sources = [ +@@ -289,6 +289,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", @@ -44,7 +44,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 -@@ -138,6 +138,7 @@ import org.chromium.chrome.browser.profiles.ProfileManager; +@@ -140,6 +140,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; @@ -52,7 +52,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; -@@ -1318,7 +1319,11 @@ public class ChromeTabbedActivity extends ChromeActivity Clear browsing data @@ -266,9 +266,9 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager. + if (profile_->GetPrefs()->GetBoolean(browsing_data::prefs::kDeleteSiteSettingsAtStart)) + data_types.Append(browsing_data::policy_data_types::kSiteSettingsName); - if (IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref( - profile_, browsing_data::prefs::kClearBrowsingDataOnExitList))) { -@@ -426,6 +443,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() { + if (!data_types.empty() && + IsConditionSatisfiedForBrowsingDataRemoval(GetSyncTypesForPolicyPref( +@@ -427,6 +444,7 @@ void ChromeBrowsingDataLifetimeManager::StartScheduledBrowsingDataRemoval() { bool ChromeBrowsingDataLifetimeManager:: IsConditionSatisfiedForBrowsingDataRemoval( const syncer::UserSelectableTypeSet sync_types) { @@ -279,7 +279,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager. 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 -@@ -421,6 +421,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -419,6 +419,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( delete_end_, CreateTaskCompletionClosure(TracingDataType::kHistory), &history_task_tracker_); } @@ -289,7 +289,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. if (ClipboardRecentContent::GetInstance()) ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); -@@ -471,7 +474,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -469,7 +472,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS | prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY); } @@ -299,7 +299,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. // The saved Autofill profiles and credit cards can include the origin from // which these profiles and credit cards were learned. These are a form of // history, so clear them as well. -@@ -492,7 +497,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -490,7 +495,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (data_manager) data_manager->Refresh(); } @@ -309,10 +309,10 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. base::ThreadPool::PostTaskAndReply( FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()}, base::BindOnce( -@@ -578,9 +585,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( - CreateTaskCompletionClosure(TracingDataType::kExploreSites)); +@@ -565,9 +572,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( } - #endif + + device_event_log::Clear(delete_begin_, delete_end_); + } + if ((remove_mask & constants::DATA_TYPE_HISTORY) && may_delete_history) { @@ -326,7 +326,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 -@@ -497,6 +497,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -500,6 +500,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::PREF_TYPE_NUMBER; @@ -418,7 +418,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 -@@ -285,6 +285,50 @@ +@@ -284,6 +284,50 @@ disabled="[[clearingInProgress_]]" no-set-pref> @@ -472,7 +472,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 -@@ -202,6 +202,7 @@ export class SettingsClearBrowsingDataDialogElement extends +@@ -194,6 +194,7 @@ export class SettingsClearBrowsingDataDialogElement extends value: () => [loadTimeData.getString('basicPageTitle'), loadTimeData.getString('advancedPageTitle'), @@ -483,7 +483,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 -@@ -1547,6 +1547,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1582,6 +1582,9 @@ Your Google account may have other forms of browsing history like searches and a Basic @@ -496,7 +496,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 -@@ -1716,6 +1716,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -1771,6 +1771,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, diff --git a/build/patches/00Add-setting-to-invert-tap-and-long-tap.patch b/build/patches/00Add-setting-to-invert-tap-and-long-tap.patch index 1c3a6f33..2c153ca4 100644 --- a/build/patches/00Add-setting-to-invert-tap-and-long-tap.patch +++ b/build/patches/00Add-setting-to-invert-tap-and-long-tap.patch @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java -@@ -243,6 +243,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -240,6 +240,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { if (mParams.isAnchor()) { ModelList linkGroup = new ModelList(); @@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl()) && UrlUtilities.isAcceptedScheme(mParams.getUrl())) { if (mMode == ContextMenuMode.NORMAL) { -@@ -601,6 +604,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -598,6 +601,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { ShareHelper.shareDirectly( params, ShareHelper.getLastShareComponentName(), getProfile(), false); }); @@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM 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 -@@ -7874,6 +7874,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7917,6 +7917,11 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kMoveTopToolbarToBottomDescription, kOsAndroid, FEATURE_VALUE_TYPE(features::kMoveTopToolbarToBottom)}, @@ -157,7 +157,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java --- a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java +++ b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java -@@ -109,6 +109,8 @@ public interface ContextMenuItemDelegate { +@@ -111,6 +111,8 @@ public interface ContextMenuItemDelegate { */ void onOpenImageUrl(GURL url, Referrer referrer); @@ -169,7 +169,7 @@ diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/con 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 -@@ -1880,6 +1880,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom"; +@@ -1970,6 +1970,10 @@ const char kMoveTopToolbarToBottomName[] = "Move top toolbar to bottom"; const char kMoveTopToolbarToBottomDescription[] = "Move the top toolbar to the bottom."; @@ -183,7 +183,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 -@@ -1053,6 +1053,9 @@ extern const char kImprovedKeyboardShortcutsDescription[]; +@@ -1104,6 +1104,9 @@ extern const char kImprovedKeyboardShortcutsDescription[]; extern const char kMoveTopToolbarToBottomName[]; extern const char kMoveTopToolbarToBottomDescription[]; @@ -196,7 +196,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 -@@ -310,6 +310,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -314,6 +314,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kTabGroupsContinuationAndroid, &kTabGroupsForTablets, &kDiscoverFeedMultiColumn, @@ -207,7 +207,7 @@ 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/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 -@@ -306,6 +306,8 @@ public abstract class ChromeFeatureList { +@@ -312,6 +312,8 @@ public abstract class ChromeFeatureList { public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; @@ -216,7 +216,7 @@ 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"; -@@ -557,6 +559,8 @@ public abstract class ChromeFeatureList { +@@ -571,6 +573,8 @@ public abstract class ChromeFeatureList { new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false); public static final CachedFlag sMoveTopToolbarToBottom = new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -225,7 +225,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sOmniboxModernizeVisualUpdate = new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false); public static final CachedFlag sOmniboxMostVisitedTilesAddRecycledViewPool = -@@ -675,6 +679,7 @@ public abstract class ChromeFeatureList { +@@ -693,6 +697,7 @@ public abstract class ChromeFeatureList { sTabStripRedesign, sTabStripStartupRefactoring, sTabletToolbarReordering, @@ -236,7 +236,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f 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 -@@ -1714,6 +1714,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1749,6 +1749,12 @@ Your Google account may have other forms of browsing history like searches and a Move toolbar to bottom @@ -249,7 +249,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -2715,6 +2721,9 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Open in new Chrome tab @@ -331,8 +331,8 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -1031,6 +1031,10 @@ BASE_FEATURE(kScopeMemoryCachePerContext, - "ScopeMemoryCachePerContext", +@@ -217,6 +217,10 @@ BASE_FEATURE(kBackgroundResourceFetch, + "BackgroundResourceFetch", base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kShowAlwaysContextMenuOnLinks, @@ -345,9 +345,9 @@ 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 -@@ -434,6 +434,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kScopeMemoryCachePerContext); +@@ -127,6 +127,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackForwardCacheWithKeepaliveRequest); - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kEnablePenetratingImageSelection); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBackgroundResourceFetch); +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kShowAlwaysContextMenuOnLinks); + @@ -357,7 +357,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc --- a/third_party/blink/renderer/core/html/html_anchor_element.cc +++ b/third_party/blink/renderer/core/html/html_anchor_element.cc -@@ -55,6 +55,7 @@ +@@ -59,6 +59,7 @@ #include "third_party/blink/renderer/core/loader/ping_loader.h" #include "third_party/blink/renderer/core/navigation_api/navigation_api.h" #include "third_party/blink/renderer/core/page/chrome_client.h" @@ -365,16 +365,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third #include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" -@@ -425,7 +426,7 @@ void HTMLAnchorElement::SendPings(const KURL& destination_url) const { - } - } - --void HTMLAnchorElement::HandleClick(Event& event) { -+void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) { - event.SetDefaultHandled(); - - LocalDOMWindow* window = GetDocument().domWindow(); -@@ -566,6 +567,15 @@ void HTMLAnchorElement::HandleClick(Event& event) { +@@ -489,6 +490,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, /*element=*/this)); } @@ -390,10 +381,19 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third Frame* target_frame = frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame; +@@ -508,7 +518,7 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request, + } + } + +-void HTMLAnchorElement::HandleClick(Event& event) { ++void HTMLAnchorElement::HandleClick(Event& event, bool do_not_show_context_menu) { + event.SetDefaultHandled(); + + LocalDOMWindow* window = GetDocument().domWindow(); diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h --- a/third_party/blink/renderer/core/html/html_anchor_element.h +++ b/third_party/blink/renderer/core/html/html_anchor_element.h -@@ -98,6 +98,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { +@@ -101,6 +101,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { void SendPings(const KURL& destination_url) const; void Trace(Visitor*) const override; @@ -401,10 +401,10 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_ protected: void ParseAttribute(const AttributeModificationParams&) override; -@@ -119,7 +120,6 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { - bool IsInteractiveContent() const final; - InsertionNotificationRequest InsertedInto(ContainerNode&) override; - void RemovedFrom(ContainerNode&) override; +@@ -127,7 +128,6 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils { + bool is_trusted, + base::TimeTicks platform_time_stamp, + KURL); - void HandleClick(Event&); unsigned link_relations_ : 31; @@ -428,7 +428,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ #include "third_party/blink/renderer/core/paint/timing/paint_timing.h" #include "third_party/blink/renderer/core/probe/core_probes.h" #include "third_party/blink/renderer/core/style/content_data.h" -@@ -719,6 +721,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( +@@ -718,6 +720,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( } } @@ -511,7 +511,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Clear any previously set cached results if we are resetting the hit test // result. image_selection_cached_result_ = nullptr; -@@ -776,11 +788,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -790,11 +802,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, data.form_renderer_id = GetFormRendererId(result); data.field_renderer_id = GetFieldRendererId(result); diff --git a/build/patches/00Always-open-browser-controls-in-new-tab.patch b/build/patches/00Always-open-browser-controls-in-new-tab.patch index c8499113..2f654fa3 100644 --- a/build/patches/00Always-open-browser-controls-in-new-tab.patch +++ b/build/patches/00Always-open-browser-controls-in-new-tab.patch @@ -27,8 +27,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.tabmodel.document.TabDelegate; @@ -204,6 +206,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { @Override - public void onOpenInNewTab( - GURL url, Referrer referrer, boolean navigateToTab, @Nullable Impression impression) { + public void onOpenInNewTab(GURL url, Referrer referrer, boolean navigateToTab, + @Nullable AdditionalNavigationParams additionalNavigationParams) { + TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true); RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); 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 f06d6446..4e669f71 100644 --- a/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/00Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -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 -@@ -1041,6 +1041,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1059,6 +1059,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time, base::BindOnce(&NetworkContext::OnHttpCacheCleared, base::Unretained(this), std::move(callback)))); diff --git a/build/patches/00Compress-libchrome-to-free-up-some-space.patch b/build/patches/00Compress-libchrome-to-free-up-some-space.patch index aa20f7df..51fc6c9a 100644 --- a/build/patches/00Compress-libchrome-to-free-up-some-space.patch +++ b/build/patches/00Compress-libchrome-to-free-up-some-space.patch @@ -11,7 +11,7 @@ see https://bugs.chromium.org/p/chromium/issues/detail?id=1383210 diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni -@@ -636,6 +636,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -632,6 +632,7 @@ template("chrome_common_apk_or_module_tmpl") { [ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ] loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ] library_always_compress += [ "libchrome_crashpad_handler.so" ] diff --git a/build/patches/00Cromite-Branding.patch b/build/patches/00Cromite-Branding.patch index 5839d0eb..e78757ec 100644 --- a/build/patches/00Cromite-Branding.patch +++ b/build/patches/00Cromite-Branding.patch @@ -9168,7 +9168,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings. diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -252,7 +252,7 @@ +@@ -255,7 +255,7 @@ Change @@ -13122,7 +13122,7 @@ e)fqMZZ`3a)Ds&5H diff --git a/build/patches/00Deprecate-Data-URL-in-SVGUseElement.patch b/build/patches/00Deprecate-Data-URL-in-SVGUseElement.patch index ff19ba8d..0f180832 100644 --- a/build/patches/00Deprecate-Data-URL-in-SVGUseElement.patch +++ b/build/patches/00Deprecate-Data-URL-in-SVGUseElement.patch @@ -3,21 +3,20 @@ Date: Mon, 5 Jun 2023 17:02:33 +0000 Subject: Deprecate Data URL in SVGUseElement --- - .../blink/renderer/platform/runtime_enabled_features.json5 | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) + .../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) 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 -@@ -2944,9 +2944,8 @@ - status: "stable", +@@ -2965,8 +2965,8 @@ + base_feature: "none", }, { - name: "RemoveDataUrlInSvgUse", - status: "experimental", -- base_feature: "none", -+ name: "RemoveDataUrlInSvgUse", // enabled by default -+ status: "stable", ++ name: "RemoveDataUrlInSvgUse", // enabled ++ status: "stable", // by default }, { name: "RemoveLegacySizeComputation", diff --git a/build/patches/00Disable-Component-Updates.patch b/build/patches/00Disable-Component-Updates.patch index 575d74f0..18312835 100644 --- a/build/patches/00Disable-Component-Updates.patch +++ b/build/patches/00Disable-Component-Updates.patch @@ -33,7 +33,7 @@ diff --git a/components/component_updater/component_installer.cc b/components/co diff --git a/components/component_updater/component_updater_service.cc b/components/component_updater/component_updater_service.cc --- a/components/component_updater/component_updater_service.cc +++ b/components/component_updater/component_updater_service.cc -@@ -521,7 +521,7 @@ std::unique_ptr ComponentUpdateServiceFactory( +@@ -520,7 +520,7 @@ std::unique_ptr ComponentUpdateServiceFactory( // Register prefs required by the component update service. void RegisterComponentUpdateServicePrefs(PrefRegistrySimple* registry) { // The component updates are enabled by default, if the preference is not set. diff --git a/build/patches/00Disable-Compression-Dictionary-Transport.patch b/build/patches/00Disable-Compression-Dictionary-Transport.patch index cd9314cc..0c86c39c 100644 --- a/build/patches/00Disable-Compression-Dictionary-Transport.patch +++ b/build/patches/00Disable-Compression-Dictionary-Transport.patch @@ -9,7 +9,7 @@ Subject: Disable Compression Dictionary Transport 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 -@@ -677,16 +677,16 @@ +@@ -669,16 +669,16 @@ status: "experimental", }, { diff --git a/build/patches/00Disable-FedCm.patch b/build/patches/00Disable-FedCm.patch index 69da4dae..c628db28 100644 --- a/build/patches/00Disable-FedCm.patch +++ b/build/patches/00Disable-FedCm.patch @@ -10,7 +10,7 @@ Subject: Disable FedCm 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 -@@ -395,7 +395,7 @@ BASE_FEATURE(kExtraSafelistedRequestHeadersForOutOfBlinkCors, +@@ -389,7 +389,7 @@ BASE_FEATURE(kExtraSafelistedRequestHeadersForOutOfBlinkCors, // by the flag in RuntimeEnabledFeatures on the blink side. See also // the use of kSetOnlyIfOverridden in content/child/runtime_features.cc. // We enable it here by default to support use in origin trials. @@ -22,7 +22,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c 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 -@@ -1574,7 +1574,7 @@ +@@ -1589,7 +1589,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/00Disable-FirstPartySets-and-StorageAccessAPI.patch b/build/patches/00Disable-FirstPartySets-and-StorageAccessAPI.patch index 16c1d409..3aea3daa 100644 --- a/build/patches/00Disable-FirstPartySets-and-StorageAccessAPI.patch +++ b/build/patches/00Disable-FirstPartySets-and-StorageAccessAPI.patch @@ -22,7 +22,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr 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 -@@ -474,9 +474,9 @@ BASE_FEATURE(kWebIdentityMDocs, +@@ -469,9 +469,9 @@ BASE_FEATURE(kWebIdentityMDocs, base::FEATURE_DISABLED_BY_DEFAULT); // Enables usage of First Party Sets to determine cookie availability. diff --git a/build/patches/00Disable-GSA-by-default.patch b/build/patches/00Disable-GSA-by-default.patch index 112acad8..3077c8b8 100644 --- a/build/patches/00Disable-GSA-by-default.patch +++ b/build/patches/00Disable-GSA-by-default.patch @@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils 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 -@@ -678,8 +678,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations, +@@ -676,8 +676,8 @@ BASE_FEATURE(kContextMenuGoogleLensSearchOptimizations, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kContextMenuSearchWithGoogleLens, @@ -89,7 +89,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse BASE_FEATURE(kContextMenuShopWithGoogleLens, "ContextMenuShopWithGoogleLens", -@@ -760,8 +760,8 @@ BASE_FEATURE(kOfflineIndicatorV2, +@@ -758,8 +758,8 @@ BASE_FEATURE(kOfflineIndicatorV2, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kExperimentsForAgsa, diff --git a/build/patches/00Disable-GetInstalledRelatedApps-API.patch b/build/patches/00Disable-GetInstalledRelatedApps-API.patch index 5050673d..6709f74e 100644 --- a/build/patches/00Disable-GetInstalledRelatedApps-API.patch +++ b/build/patches/00Disable-GetInstalledRelatedApps-API.patch @@ -34,7 +34,7 @@ diff --git a/content/browser/installedapp/installed_app_provider_impl_win.cc b/c 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 -@@ -573,12 +573,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction, +@@ -568,12 +568,12 @@ BASE_FEATURE(kInnerFrameCompositorSurfaceEviction, base::FEATURE_ENABLED_BY_DEFAULT); // guard this // Kill switch for the GetInstalledRelatedApps API. @@ -52,7 +52,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c 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 -@@ -2050,9 +2050,9 @@ +@@ -2075,9 +2075,9 @@ name: "FingerprintingCanvasImageDataNoise", }, { diff --git a/build/patches/00Disable-PrivateStateTokens-API.patch b/build/patches/00Disable-PrivateStateTokens-API.patch index 6d189e88..dab9a58b 100644 --- a/build/patches/00Disable-PrivateStateTokens-API.patch +++ b/build/patches/00Disable-PrivateStateTokens-API.patch @@ -9,7 +9,7 @@ Subject: Disable PrivateStateTokens API diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -147,12 +147,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb, +@@ -154,12 +154,12 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb, // in bromite // set, and handling their responses, according to the protocol. // (See https://github.com/WICG/trust-token-api.) BASE_FEATURE(kPrivateStateTokens, diff --git a/build/patches/00Disable-WebGPU.patch b/build/patches/00Disable-WebGPU.patch index d9e56612..52e0eb7f 100644 --- a/build/patches/00Disable-WebGPU.patch +++ b/build/patches/00Disable-WebGPU.patch @@ -10,19 +10,19 @@ Subject: Disable WebGPU diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc +++ b/gpu/config/gpu_finch_features.cc -@@ -267,7 +267,7 @@ BASE_FEATURE(kEnableDrDcVulkan, - BASE_FEATURE(kWebGPUService, - "WebGPUService", +@@ -273,7 +273,7 @@ BASE_FEATURE(kEnableDrDcVulkan, + // Enable WebGPU on gpu service side only. This is used with origin trial and + // enabled by default on supported platforms. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) -- base::FEATURE_ENABLED_BY_DEFAULT -+ base::FEATURE_DISABLED_BY_DEFAULT +-#define WEBGPU_ENABLED base::FEATURE_ENABLED_BY_DEFAULT ++#define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT #else - base::FEATURE_DISABLED_BY_DEFAULT + #define WEBGPU_ENABLED base::FEATURE_DISABLED_BY_DEFAULT #endif 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 -@@ -3962,7 +3962,7 @@ +@@ -3973,7 +3973,7 @@ // Note that this isn't enough to enable WebGPU and that access to // WebGPU is further gated on the "WebGPUService" feature exposing GPU // process access to WebGPU to the renderer process. diff --git a/build/patches/00Disable-csp-reports.patch b/build/patches/00Disable-csp-reports.patch index ba96e64c..d212b8e1 100644 --- a/build/patches/00Disable-csp-reports.patch +++ b/build/patches/00Disable-csp-reports.patch @@ -25,13 +25,13 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party if (!ping_url.ProtocolIsInHTTPFamily()) return; -@@ -139,6 +141,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame, +@@ -140,6 +142,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame, void PingLoader::SendViolationReport(ExecutionContext* execution_context, const KURL& report_url, scoped_refptr report) { + if ((true)) return; ResourceRequest request(report_url); request.SetHttpMethod(http_names::kPOST); - request.SetHTTPContentType("application/csp-report"); + request.SetHTTPContentType(AtomicString("application/csp-report")); -- 2.25.1 diff --git a/build/patches/00Disable-remote-altsvc-for-h3-connections.patch b/build/patches/00Disable-remote-altsvc-for-h3-connections.patch index 1354d6c5..5fec33ce 100644 --- a/build/patches/00Disable-remote-altsvc-for-h3-connections.patch +++ b/build/patches/00Disable-remote-altsvc-for-h3-connections.patch @@ -50,7 +50,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre diff --git a/net/quic/quic_context.h b/net/quic/quic_context.h --- a/net/quic/quic_context.h +++ b/net/quic/quic_context.h -@@ -176,7 +176,7 @@ struct NET_EXPORT QuicParams { +@@ -177,7 +177,7 @@ struct NET_EXPORT QuicParams { bool allow_server_migration = false; // If true, allows QUIC to use alternative services with a different // hostname from the origin. diff --git a/build/patches/00Disable-speechSynthesis-getVoices-API.patch b/build/patches/00Disable-speechSynthesis-getVoices-API.patch index e69059c1..5d1cb170 100644 --- a/build/patches/00Disable-speechSynthesis-getVoices-API.patch +++ b/build/patches/00Disable-speechSynthesis-getVoices-API.patch @@ -23,7 +23,7 @@ Require: Timezone-customization.patch 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 -@@ -7444,6 +7444,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7460,6 +7460,11 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kFileHandlingIconsDescription, kOsDesktop, FEATURE_VALUE_TYPE(blink::features::kFileHandlingIcons)}, @@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -1585,7 +1585,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( +@@ -1594,7 +1594,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( std::unique_ptr ChromeContentRendererClient::CreateSpeechRecognitionClient( content::RenderFrame* render_frame) { @@ -88,7 +88,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc -@@ -840,7 +840,7 @@ const base::FeatureParam kMediaFoundationClearKeyCdmPathForTesting{ +@@ -865,7 +865,7 @@ const base::FeatureParam kMediaFoundationClearKeyCdmPathForTesting{ #endif // BUILDFLAG(IS_WIN) // Enables the Live Caption feature on supported devices. @@ -97,7 +97,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc // Controls whether a "Share this tab instead" button should be shown for // getDisplayMedia captures. Note: This flag does not control if the "Share this -@@ -877,9 +877,9 @@ BASE_FEATURE(kLiveCaptionRightClick, +@@ -902,9 +902,9 @@ BASE_FEATURE(kLiveCaptionRightClick, base::FEATURE_DISABLED_BY_DEFAULT); // Enable or disable Live Caption support for WebAudio. @@ -113,8 +113,8 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -1611,6 +1611,10 @@ BASE_FEATURE(kStylusPointerAdjustment, - "StylusPointerAdjustment", +@@ -657,6 +657,10 @@ BASE_FEATURE(kDirectCompositorThreadIpc, + "DirectCompositorThreadIpc", base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kDisableSpeechSynthesisVoiceList, @@ -127,9 +127,9 @@ 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 -@@ -823,6 +823,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAndroidExtendedKeyboardShortcuts); - // enabling functions like writing into a nearby input element. - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kStylusPointerAdjustment); +@@ -330,6 +330,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDesktopPWAsTabStripCustomizations); + // hopping through the IO thread first. + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDirectCompositorThreadIpc); +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDisableSpeechSynthesisVoiceList); + diff --git a/build/patches/00Enable-Document-Open-Inheritance-Removal.patch b/build/patches/00Enable-Document-Open-Inheritance-Removal.patch index 0b34c56e..5f03c59e 100644 --- a/build/patches/00Enable-Document-Open-Inheritance-Removal.patch +++ b/build/patches/00Enable-Document-Open-Inheritance-Removal.patch @@ -3,14 +3,14 @@ Date: Tue, 28 Mar 2023 15:43:18 +0000 Subject: Enable Document Open Inheritance Removal --- - .../blink/renderer/core/dom/document.cc | 51 ------------------- - .../platform/runtime_enabled_features.json5 | 3 +- - 2 files changed, 1 insertion(+), 53 deletions(-) + .../blink/renderer/core/dom/document.cc | 64 ------------------- + .../platform/runtime_enabled_features.json5 | 1 - + 2 files changed, 65 deletions(-) diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -3359,57 +3359,6 @@ void Document::open(LocalDOMWindow* entered_window, +@@ -3384,70 +3384,6 @@ void Document::open(LocalDOMWindow* entered_window, // https://chromestatus.com/metrics/feature/timeline/popularity/4375 CountUse(WebFeature::kDocumentOpenMutateSandbox); } @@ -38,11 +38,24 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink - // not considered to produce new documents. No IPCs are sent, it is as - // if it was a no-op. - // -- // TODO(https://crbug.com/1360795) Remove this +- // TODO(https://crbug.com/1360795) Remove this. Only Chrome implements +- // it. Safari/Firefox do not. - dom_window_->GetSecurityContext().SetSandboxFlags( - dom_window_->GetSecurityContext().GetSandboxFlags() | - entered_window->GetSandboxFlags()); +- } - +- // We would like to remove this block. See: +- // https://docs.google.com/document/d/1_89X4cNUab-PZE0iBDTKIftaQZsFbk7SbFmHbqY54os +- // +- // This is not specified. Only Webkit/Blink implement it. Gecko doesn't. +- // +- // 2023-06-02: Removal would impact 0.02% page load. +- // https://chromestatus.com/metrics/feature/timeline/popularity/4535 +- // We hope the document.domain deprecation is going to drive this number +- // down quickly: +- // https://developer.chrome.com/blog/document-domain-setter-deprecation/ +- if (!RuntimeEnabledFeatures::DocumentOpenOriginAliasRemovalEnabled()) { - dom_window_->GetSecurityContext().SetSecurityOrigin( - entered_window->GetMutableSecurityOrigin()); - @@ -71,13 +84,11 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink 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 -@@ -1419,8 +1419,7 @@ - }, +@@ -1438,7 +1438,6 @@ { name: "DocumentOpenSandboxInheritanceRemoval", -- status: "experimental", + status: "stable", - copied_from_base_feature_if: "overridden", -+ status: "stable", }, { name: "DocumentPictureInPictureAPI", diff --git a/build/patches/00Evict-the-entire-FrameTree-like-desktop.patch b/build/patches/00Evict-the-entire-FrameTree-like-desktop.patch index c22de042..9973b4bd 100644 --- a/build/patches/00Evict-the-entire-FrameTree-like-desktop.patch +++ b/build/patches/00Evict-the-entire-FrameTree-like-desktop.patch @@ -10,7 +10,7 @@ Subject: Evict the entire FrameTree like desktop diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc --- a/components/viz/common/features.cc +++ b/components/viz/common/features.cc -@@ -233,7 +233,7 @@ BASE_FEATURE(kRendererAllocatesImages, +@@ -231,7 +231,7 @@ BASE_FEATURE(kRendererAllocatesImages, // evicts itself. This differs from Destkop platforms which evict the entire // FrameTree along with the topmost viz::Surface. When this feature is enabled, // Android will begin also evicting the entire FrameTree. @@ -22,7 +22,7 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features. 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 -@@ -569,8 +569,8 @@ BASE_FEATURE(kInMemoryCodeCache, +@@ -564,8 +564,8 @@ BASE_FEATURE(kInMemoryCodeCache, // frames. Otherwise only toplevel frames and OOPIF are handled, and other // cases, e.g. PDF tiles are ignored. See https://crbug.com/1360351 for details. BASE_FEATURE(kInnerFrameCompositorSurfaceEviction, diff --git a/build/patches/00Eyeo-Adblock-Remove-Privacy-Issues.patch b/build/patches/00Eyeo-Adblock-Remove-Privacy-Issues.patch index 6a759ba1..b1f4b193 100644 --- a/build/patches/00Eyeo-Adblock-Remove-Privacy-Issues.patch +++ b/build/patches/00Eyeo-Adblock-Remove-Privacy-Issues.patch @@ -154,7 +154,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -163,8 +163,6 @@ static_library("browser") { +@@ -165,8 +165,6 @@ static_library("browser") { "adblock/adblock_content_browser_client.h", "adblock/adblock_controller_factory.cc", "adblock/adblock_controller_factory.h", @@ -817,7 +817,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/adblock/content_security_policy_injector_factory.h" #include "chrome/browser/adblock/element_hider_factory.h" #include "chrome/browser/adblock/resource_classification_runner_factory.h" -@@ -652,7 +651,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -683,7 +682,6 @@ void ChromeBrowserMainExtraPartsProfiles:: ExitTypeServiceFactory::GetInstance(); #endif adblock::AdblockControllerFactory::GetInstance(); @@ -836,7 +836,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc "appearance_page/appearance_fonts_page.ts", "appearance_page/appearance_page.ts", "appearance_page/home_url_input.ts", -@@ -375,6 +376,7 @@ build_webui("build") { +@@ -381,6 +382,7 @@ build_webui("build") { ts_composite = true ts_definitions = [ "//tools/typescript/definitions/autofill_private.d.ts", @@ -1389,7 +1389,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts -@@ -167,6 +167,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes { +@@ -176,6 +176,10 @@ function createBrowserSettingsRoutes(): SettingsRoutes { r.FONTS = r.APPEARANCE.createChild('/fonts'); } @@ -1425,7 +1425,7 @@ diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/reso diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html b/chrome/browser/resources/settings/settings_menu/settings_menu.html --- a/chrome/browser/resources/settings/settings_menu/settings_menu.html +++ b/chrome/browser/resources/settings/settings_menu/settings_menu.html -@@ -139,6 +139,11 @@ +@@ -134,6 +134,11 @@ $i18n{a11yPageTitle} @@ -1440,7 +1440,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -339,6 +339,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -345,6 +345,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } #endif @@ -1449,7 +1449,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc AdblockWebContentObserver::CreateForWebContents( web_contents, adblock::SubscriptionServiceFactory::GetForBrowserContext( -@@ -347,7 +349,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -353,7 +355,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents->GetBrowserContext()), adblock::SitekeyStorageFactory::GetForBrowserContext( web_contents->GetBrowserContext()), @@ -1518,9 +1518,9 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn import("//chromeos/ash/components/assistant/assistant.gni") -import("//components/adblock/features.gni") import("//components/captive_portal/core/features.gni") + import("//components/enterprise/buildflags/buildflags.gni") import("//components/feed/features.gni") - import("//components/lens/features.gni") -@@ -2569,10 +2568,6 @@ if (!is_android) { +@@ -2543,10 +2542,6 @@ if (!is_android) { sources += [ "../browser/chrome_for_testing/chrome_for_testing_info_bar_browsertest.cc" ] } @@ -8247,7 +8247,7 @@ new file mode 100755 diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc --- a/third_party/blink/renderer/core/css/style_engine.cc +++ b/third_party/blink/renderer/core/css/style_engine.cc -@@ -597,6 +597,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow( +@@ -600,6 +600,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow( } } @@ -8265,7 +8265,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/b diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h --- a/third_party/blink/renderer/core/css/style_engine.h +++ b/third_party/blink/renderer/core/css/style_engine.h -@@ -240,6 +240,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected, +@@ -242,6 +242,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected, const ComputedStyle* embedder_style) const; void ViewportStyleSettingChanged(); diff --git a/build/patches/00Fonts-fingerprinting-mitigation.patch b/build/patches/00Fonts-fingerprinting-mitigation.patch index 23d7ff22..4dcec6e6 100644 --- a/build/patches/00Fonts-fingerprinting-mitigation.patch +++ b/build/patches/00Fonts-fingerprinting-mitigation.patch @@ -32,9 +32,9 @@ fonts-fingerprint-mitigation flag, which is active by default. 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 -@@ -9992,6 +9992,11 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kClipboardUnsanitizedContentDescription, kOsAll, - FEATURE_VALUE_TYPE(blink::features::kClipboardUnsanitizedContent)}, +@@ -10012,6 +10012,11 @@ const FeatureEntry kFeatureEntries[] = { + kClipboardMaximumAgeVariations, + "ClipboardMaximumAge")}, + {"fonts-fingerprint-mitigation", + flag_descriptions::kFontsFingerprintMitigationName, @@ -47,7 +47,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 -@@ -135,6 +135,11 @@ const char kClipboardUnsanitizedContentDescription[] = +@@ -140,6 +140,11 @@ const char kClipboardUnsanitizedContentDescription[] = "Allows reading/writing unsanitized content from/to the clipboard. " "Currently, it is only applicable to HTML format. See crbug.com/1268679."; @@ -62,15 +62,15 @@ 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 -@@ -112,6 +112,9 @@ extern const char kClickToCallDescription[]; +@@ -115,6 +115,9 @@ extern const char kClickToCallDescription[]; extern const char kClipboardUnsanitizedContentName[]; extern const char kClipboardUnsanitizedContentDescription[]; +extern const char kFontsFingerprintMitigationName[]; +extern const char kFontsFingerprintMitigationDescription[]; + - extern const char kContentLanguagesInLanguagePickerName[]; - extern const char kContentLanguagesInLanguagePickerDescription[]; + extern const char kClipboardMaximumAgeName[]; + extern const char kClipboardMaximumAgeDescription[]; diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc @@ -84,7 +84,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c #if BUILDFLAG(IS_ANDROID) // Use chromim's implementation of selection magnifier built using surface -@@ -506,7 +506,7 @@ const base::FeatureParam +@@ -501,7 +501,7 @@ const base::FeatureParam // enables a font indexer on Android which we need to test in the field first. BASE_FEATURE(kFontSrcLocalMatching, "FontSrcLocalMatching", @@ -146,18 +146,18 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -151,7 +151,7 @@ BASE_FEATURE(kExcludeLowEntropyImagesFromLCP, - const base::FeatureParam kMinimumEntropyForLCP{ - &kExcludeLowEntropyImagesFromLCP, "min_bpp", 2}; +@@ -888,7 +888,7 @@ BASE_FEATURE(kFrequencyCappingForOverlayPopupDetection, + "FrequencyCappingForOverlayPopupDetection", + base::FEATURE_ENABLED_BY_DEFAULT); -BASE_FEATURE(kGMSCoreEmoji, "GMSCoreEmoji", base::FEATURE_ENABLED_BY_DEFAULT); +BASE_FEATURE(kGMSCoreEmoji, "GMSCoreEmoji", base::FEATURE_DISABLED_BY_DEFAULT); - // Enable defer commits to avoid flash of unstyled content, for same origin - // navigation only. -@@ -1619,6 +1619,10 @@ BASE_FEATURE(kClipboardUnsanitizedContent, - "ClipboardUnsanitizedContent", - base::FEATURE_DISABLED_BY_DEFAULT); + BASE_FEATURE(kGainmapHdrImages, + "GainmapHdrImages", +@@ -1837,6 +1837,10 @@ BASE_FEATURE(kWebRtcH264WithOpenH264FFmpeg, + base::FEATURE_ENABLED_BY_DEFAULT); + #endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS) +BASE_FEATURE(kFontsFingerprintMitigation, + "FontsFingerprintMitigation", @@ -169,20 +169,20 @@ 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 -@@ -840,6 +840,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCheckHTMLParserBudgetLessOften); - // it is only applicable to HTML format. See crbug.com/1268679. - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kClipboardUnsanitizedContent); +@@ -239,6 +239,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kClipboardUnsanitizedContent); + + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCompressParkableStrings); +// Filter the list of fonts allowing the use of only standard fonts +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFontsFingerprintMitigation); + - // Make RTCVideoEncoder::Encode() asynchronous. - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebRtcEncoderAsyncEncode); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kConsumeCodeCacheOffThread); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kContentCaptureConstantStreaming); 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 -@@ -724,6 +724,7 @@ component("platform") { +@@ -732,6 +732,7 @@ component("platform") { "fonts/simple_font_data.cc", "fonts/simple_font_data.h", "fonts/skia/font_cache_skia.cc", @@ -193,7 +193,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re diff --git a/third_party/blink/renderer/platform/fonts/font_cache.h b/third_party/blink/renderer/platform/fonts/font_cache.h --- a/third_party/blink/renderer/platform/fonts/font_cache.h +++ b/third_party/blink/renderer/platform/fonts/font_cache.h -@@ -355,7 +355,7 @@ class PLATFORM_EXPORT FontCache final { +@@ -342,7 +342,7 @@ class PLATFORM_EXPORT FontCache final { sk_sp CreateTypeface(const FontDescription&, const FontFaceCreationParams&, @@ -581,7 +581,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc --- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc +++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc -@@ -497,6 +497,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( +@@ -427,6 +427,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( sk_sp typeface; std::string name; @@ -589,7 +589,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (alternate_font_name == AlternateFontName::kLocalUniqueFace && RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) { -@@ -508,7 +509,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( +@@ -438,7 +439,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( return nullptr; } else { @@ -598,7 +598,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c // For a family match, Windows will always give us a valid pointer here, // even if the face name is non-existent. We have to double-check and see if -@@ -542,7 +543,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( +@@ -472,7 +473,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetWeight(variant_weight); typeface = @@ -607,7 +607,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (!typeface || !TypefacesMatchesFamily(typeface.get(), adjusted_name)) { return nullptr; -@@ -554,7 +555,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( +@@ -484,7 +485,7 @@ std::unique_ptr FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetStretch(variant_stretch); typeface = diff --git a/build/patches/00Internal-firewall.patch b/build/patches/00Internal-firewall.patch index f254f44d..c77253b8 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 -@@ -2439,6 +2439,7 @@ static_library("browser") { +@@ -2452,6 +2452,7 @@ static_library("browser") { "//third_party/ungoogled:switches", "//services/device/public/mojom", "//services/device/public/mojom:usb", @@ -64,15 +64,15 @@ 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 -@@ -199,6 +199,7 @@ +@@ -200,6 +200,7 @@ + #include "sandbox/policy/features.h" #include "sandbox/policy/switches.h" #include "services/device/public/cpp/device_features.h" - #include "services/device/public/cpp/serial/serial_switches.h" +#include "services/firewall/public/firewall_service.h" #include "services/media_session/public/cpp/features.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/network_switches.h" -@@ -8090,6 +8091,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8122,6 +8123,11 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(page_info::kPageInfoHideSiteSettings)}, #endif // !BUILDFLAG(IS_ANDROID) @@ -233,7 +233,7 @@ diff --git a/components/webapps/browser/android/webapk/webapk_icon_hasher.cc b/c diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1085,6 +1085,7 @@ component("net") { +@@ -1087,6 +1087,7 @@ component("net") { "//build:chromeos_buildflags", "//net/data/ssl/chrome_root_store:gen_root_store_inc", "//net/http:transport_security_state_generated_files", @@ -258,7 +258,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -239,6 +239,9 @@ URLRequestHttpJob::URLRequestHttpJob( +@@ -240,6 +240,9 @@ URLRequestHttpJob::URLRequestHttpJob( throttling_entry_ = manager->RegisterRequestUrl(request->url()); ResetTimer(); @@ -268,7 +268,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } URLRequestHttpJob::~URLRequestHttpJob() { -@@ -545,6 +548,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { +@@ -546,6 +549,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { void URLRequestHttpJob::StartTransactionInternal() { DCHECK(!override_response_headers_); @@ -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" -@@ -1537,6 +1538,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { +@@ -1555,6 +1556,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)); } -@@ -1549,6 +1553,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1567,6 +1571,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), -@@ -1561,6 +1576,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1579,6 +1594,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), -@@ -1575,6 +1601,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1593,6 +1619,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), -@@ -1586,6 +1627,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1604,6 +1645,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), -@@ -1651,6 +1706,24 @@ void NetworkContext::CreateWebSocket( +@@ -1669,6 +1724,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const absl::optional& throttling_profile_id) { @@ -1704,7 +1704,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc --- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc +++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc -@@ -678,23 +678,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag( +@@ -654,23 +654,150 @@ net::NetworkTrafficAnnotationTag URLLoader::Context::GetTrafficAnnotationTag( NOTREACHED(); [[fallthrough]]; diff --git a/build/patches/00Keep-Side-Panel-Companion-disabled.patch b/build/patches/00Keep-Side-Panel-Companion-disabled.patch index 36f3c0e9..189adfe1 100644 --- a/build/patches/00Keep-Side-Panel-Companion-disabled.patch +++ b/build/patches/00Keep-Side-Panel-Companion-disabled.patch @@ -9,16 +9,19 @@ Subject: Keep Side Panel Companion disabled diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companion/core/features.cc --- a/chrome/browser/companion/core/features.cc +++ b/chrome/browser/companion/core/features.cc -@@ -19,14 +19,14 @@ namespace features { - namespace internal { - // This differs from the search companion by providing a separate WebUI that - // contains untrusted content in an iframe. +@@ -23,17 +23,17 @@ namespace internal { + // `kSidePanelCompanion2`. This makes it possible for Companion to be + // enabled via multiple field trials (e.g., one that's session consistent, other + // that's permanent consistent). -BASE_FEATURE(kSidePanelCompanion, - "SidePanelCompanion", - base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kSidePanelCompanion, // keep + "SidePanelCompanion", // disabled + base::FEATURE_DISABLED_BY_DEFAULT); // in bromite + BASE_FEATURE(kSidePanelCompanion2, + "SidePanelCompanion2", + base::FEATURE_DISABLED_BY_DEFAULT); // Dynamically enables the search companion if the user has experiments // enabled. -BASE_FEATURE(kCompanionEnabledByObservingExpsNavigations, @@ -29,8 +32,8 @@ diff --git a/chrome/browser/companion/core/features.cc b/chrome/browser/companio + base::FEATURE_DISABLED_BY_DEFAULT); // in bromite } // namespace internal - } // namespace features -@@ -39,6 +39,7 @@ const char kDisableCheckUserPermissionsForCompanion[] = + // When search companion is enabled, show a context menu item that allows the +@@ -51,6 +51,7 @@ const char kDisableCheckUserPermissionsForCompanion[] = const char kForceCompanionPinnedState[] = "force-companion-pinned-state"; bool ShouldOverrideCheckingUserPermissionsForCompanion() { diff --git a/build/patches/00Keyboard-protection-flag.patch b/build/patches/00Keyboard-protection-flag.patch index 033d7c7b..d8e1985f 100644 --- a/build/patches/00Keyboard-protection-flag.patch +++ b/build/patches/00Keyboard-protection-flag.patch @@ -21,7 +21,7 @@ keyboard events. 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 -@@ -5092,6 +5092,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5080,6 +5080,9 @@ const FeatureEntry kFeatureEntries[] = { {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, @@ -34,7 +34,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 -@@ -3161,6 +3161,12 @@ const char kSystemKeyboardLockDescription[] = +@@ -3242,6 +3242,12 @@ const char kSystemKeyboardLockDescription[] = "keyboard shortcuts and have the events routed directly to the website " "when in fullscreen mode."; @@ -50,7 +50,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 -@@ -1784,6 +1784,9 @@ extern const char kSuppressToolbarCapturesDescription[]; +@@ -1833,6 +1833,9 @@ extern const char kSuppressToolbarCapturesDescription[]; extern const char kSystemKeyboardLockName[]; extern const char kSystemKeyboardLockDescription[]; @@ -244,7 +244,7 @@ diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc b/ui/events/k diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes/keyboard_code_conversion.cc --- a/ui/events/keycodes/keyboard_code_conversion.cc +++ b/ui/events/keycodes/keyboard_code_conversion.cc -@@ -293,16 +293,22 @@ int ModifierDomKeyToEventFlag(DomKey key) { +@@ -216,16 +216,22 @@ int ModifierDomKeyToEventFlag(DomKey key) { // DomKey::SYMBOL_LOCK } @@ -272,7 +272,7 @@ diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes diff --git a/ui/events/keycodes/keyboard_code_conversion.h b/ui/events/keycodes/keyboard_code_conversion.h --- a/ui/events/keycodes/keyboard_code_conversion.h +++ b/ui/events/keycodes/keyboard_code_conversion.h -@@ -111,7 +111,7 @@ EVENTS_BASE_EXPORT int ModifierDomKeyToEventFlag(DomKey key); +@@ -99,7 +99,7 @@ EVENTS_BASE_EXPORT int ModifierDomKeyToEventFlag(DomKey key); // Returns the physical DOM code along with a corresponding non-located // Windows-based key_code. diff --git a/build/patches/00Log-dangling-attributes-in-some-html-elements.patch b/build/patches/00Log-dangling-attributes-in-some-html-elements.patch index 48176154..7709a38f 100644 --- a/build/patches/00Log-dangling-attributes-in-some-html-elements.patch +++ b/build/patches/00Log-dangling-attributes-in-some-html-elements.patch @@ -24,7 +24,7 @@ under enable-log-dangling-attributes about flag 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 -@@ -5043,7 +5043,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5031,7 +5031,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebShareDescription, kOsWin | kOsCrOS | kOsMac, FEATURE_VALUE_TYPE(features::kWebShare)}, #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) @@ -39,7 +39,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -4480,6 +4480,14 @@ void Document::ProcessBaseElement() { +@@ -4512,6 +4512,14 @@ void Document::ProcessBaseElement() { KURL base_element_url; if (href) { String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href); @@ -54,7 +54,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (!stripped_href.empty()) base_element_url = KURL(FallbackBaseURL(), stripped_href); } -@@ -4498,6 +4506,14 @@ void Document::ProcessBaseElement() { +@@ -4530,6 +4538,14 @@ void Document::ProcessBaseElement() { !GetExecutionContext()->GetSecurityOrigin()->CanRequest( base_element_url)) { UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref); @@ -69,7 +69,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink } } -@@ -4517,6 +4533,8 @@ void Document::ProcessBaseElement() { +@@ -4549,6 +4565,8 @@ void Document::ProcessBaseElement() { if (target->Contains('<')) UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget); base_target_ = *target; @@ -81,7 +81,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/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 -@@ -2531,8 +2531,26 @@ void Element::StripScriptingAttributes( +@@ -2564,8 +2564,26 @@ void Element::StripScriptingAttributes( attribute_vector.Shrink(destination); } @@ -199,7 +199,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc --- a/third_party/blink/renderer/core/html/html_iframe_element.cc +++ b/third_party/blink/renderer/core/html/html_iframe_element.cc -@@ -167,6 +167,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute( +@@ -157,6 +157,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute( } } @@ -212,7 +212,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third void HTMLIFrameElement::ParseAttribute( const AttributeModificationParams& params) { const QualifiedName& name = params.name; -@@ -181,6 +187,16 @@ void HTMLIFrameElement::ParseAttribute( +@@ -171,6 +177,16 @@ void HTMLIFrameElement::ParseAttribute( } AtomicString old_name = name_; name_ = value; @@ -254,9 +254,9 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl #include "third_party/blink/renderer/core/frame/frame_client.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" #include "third_party/blink/renderer/core/frame/local_frame.h" -@@ -239,6 +242,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation( - LogDanglingMarkupHistogram(current_frame->GetDocument(), name); - } +@@ -210,6 +213,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation( + if (request.GetNavigationPolicy() != kNavigationPolicyCurrentTab) + return FindResult(current_frame, false); + if (ContainsNewLineAndLessThan(name)) { + // if the name contains a \n or <, the search is always deactivated @@ -277,7 +277,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl 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 -@@ -1493,8 +1493,8 @@ +@@ -1513,8 +1513,8 @@ // Experiment with preventing some instances of mutation XSS // by escaping "<" and ">" in attribute values. // See: crbug.com/1175016 @@ -287,8 +287,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "stable", }, { - // Non-standard API Event.path. Should be replaced by Event.composedPath. -@@ -2201,6 +2201,12 @@ + name: "EventTimingInteractionCount", +@@ -2212,6 +2212,12 @@ // Use LongAnimationFrameMonitor to emit longtask entries name: "LongTaskFromLongAnimationFrame" }, diff --git a/build/patches/00Partition-HSTS-cache-by-NAK.patch b/build/patches/00Partition-HSTS-cache-by-NAK.patch index ca7c05d1..1cd2fa60 100644 --- a/build/patches/00Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/00Partition-HSTS-cache-by-NAK.patch @@ -470,7 +470,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 -@@ -1343,7 +1343,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1336,7 +1336,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( @@ -506,7 +506,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -203,7 +203,7 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -204,7 +204,7 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { // Check for HSTS upgrade. TransportSecurityState* hsts = request->context()->transport_security_state(); @@ -515,7 +515,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque return std::make_unique( request, UpgradeSchemeToCryptographic(url), // Use status code 307 to preserve the method, so POST requests work. -@@ -992,7 +992,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { +@@ -993,7 +993,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { HttpResponseHeaders* headers = GetResponseHeaders(); std::string value; if (headers->EnumerateHeader(nullptr, "Strict-Transport-Security", &value)) @@ -524,7 +524,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } void URLRequestHttpJob::OnStartCompleted(int result) { -@@ -1062,7 +1062,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { +@@ -1063,7 +1063,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { TransportSecurityState* state = context->transport_security_state(); NotifySSLCertificateError( result, transaction_->GetResponseInfo()->ssl_info, @@ -536,7 +536,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 -@@ -1799,17 +1799,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -1817,17 +1817,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( std::move(callback).Run(); } @@ -559,7 +559,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(); -@@ -1819,10 +1821,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -1837,10 +1839,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, return; } @@ -572,7 +572,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont GetHSTSStateCallback callback) { base::Value::Dict result; -@@ -1858,10 +1860,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -1876,10 +1878,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( @@ -585,7 +585,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)); -@@ -1897,6 +1899,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -1915,6 +1917,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, } void NetworkContext::DeleteDynamicDataForHost( @@ -593,7 +593,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 = -@@ -1907,7 +1910,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -1925,7 +1928,7 @@ void NetworkContext::DeleteDynamicDataForHost( } std::move(callback).Run( @@ -602,7 +602,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont } void NetworkContext::EnableStaticKeyPinningForTesting( -@@ -1948,7 +1951,7 @@ void NetworkContext::PreconnectSockets( +@@ -1966,7 +1969,7 @@ void NetworkContext::PreconnectSockets( DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); @@ -611,7 +611,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. -@@ -2736,12 +2739,15 @@ void NetworkContext::OnConnectionError() { +@@ -2756,12 +2759,15 @@ void NetworkContext::OnConnectionError() { std::move(on_connection_close_callback_).Run(this); } @@ -631,7 +631,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 -@@ -418,15 +418,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -419,15 +419,17 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const std::string& ocsp_result, const std::string& sct_list, VerifyCertForSignedExchangeCallback callback) override; @@ -652,7 +652,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& host, DeleteDynamicDataForHostCallback callback) override; void SetCorsOriginAccessListsForOrigin( -@@ -679,7 +681,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -686,7 +688,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingRemote cookie_observer, net::FirstPartySetMetadata first_party_set_metadata); @@ -665,7 +665,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 -@@ -1414,16 +1414,16 @@ interface NetworkContext { +@@ -1434,16 +1434,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. @@ -685,7 +685,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 -@@ -1442,7 +1442,7 @@ interface NetworkContext { +@@ -1462,7 +1462,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/00Partitioning-all-cookies-by-top-frame-domain.patch b/build/patches/00Partitioning-all-cookies-by-top-frame-domain.patch index abc27738..8e7901e3 100644 --- a/build/patches/00Partitioning-all-cookies-by-top-frame-domain.patch +++ b/build/patches/00Partitioning-all-cookies-by-top-frame-domain.patch @@ -22,7 +22,7 @@ samesite=none first-party cookies are sent in third-party contexts. diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -247,8 +247,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit, +@@ -252,8 +252,8 @@ BASE_FEATURE(kWaitForFirstPartySetsInit, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kPartitionedCookies, @@ -33,7 +33,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc BASE_FEATURE(kNoncedPartitionedCookies, "NoncedPartitionedCookies", -@@ -263,8 +263,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement, +@@ -268,8 +268,8 @@ BASE_FEATURE(kStaticKeyPinningEnforcement, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kCookieDomainRejectNonASCII, @@ -47,7 +47,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc --- a/net/cookies/canonical_cookie.cc +++ b/net/cookies/canonical_cookie.cc -@@ -1575,8 +1575,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const { +@@ -1576,8 +1576,6 @@ bool CanonicalCookie::IsCanonicalForFromStorage() const { if (IsPartitioned()) { if (CookiePartitionKey::HasNonce(partition_key_)) return true; @@ -56,7 +56,7 @@ diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc } return true; -@@ -1850,15 +1848,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url, +@@ -1851,15 +1849,7 @@ bool CanonicalCookie::IsCookiePartitionedValid(const GURL& url, bool secure, bool is_partitioned, bool partition_has_nonce) { diff --git a/build/patches/00Remove-ChromiumNetworkAdapter.patch b/build/patches/00Remove-ChromiumNetworkAdapter.patch index cd095984..3690676b 100644 --- a/build/patches/00Remove-ChromiumNetworkAdapter.patch +++ b/build/patches/00Remove-ChromiumNetworkAdapter.patch @@ -17,7 +17,7 @@ without asking the native code diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java -@@ -970,44 +970,6 @@ public class OMADownloadHandler extends BroadcastReceiver { +@@ -969,44 +969,6 @@ public class OMADownloadHandler extends BroadcastReceiver { protected Boolean doInBackground() { HttpURLConnection urlConnection = null; boolean success = false; @@ -220,7 +220,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari @VisibleForTesting protected List getAvailableInstanceManipulations() { List compressions = new ArrayList(); -@@ -486,24 +478,8 @@ public class VariationsSeedFetcher { +@@ -506,24 +498,8 @@ public class VariationsSeedFetcher { HttpURLConnection connection = null; try { long startTimeMillis = SystemClock.elapsedRealtime(); diff --git a/build/patches/00Remove-experimental-relative-c---abi-vtables.patch b/build/patches/00Remove-experimental-relative-c---abi-vtables.patch index 3c6f1dc1..f3737007 100644 --- a/build/patches/00Remove-experimental-relative-c---abi-vtables.patch +++ b/build/patches/00Remove-experimental-relative-c---abi-vtables.patch @@ -9,7 +9,7 @@ Subject: Remove experimental-relative-c++-abi-vtables diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -679,11 +679,6 @@ config("compiler") { +@@ -682,11 +682,6 @@ config("compiler") { cflags_cc += [ "-Wno-trigraphs" ] } diff --git a/build/patches/00Remove-support-for-device-memory-and-cpu-recovery.patch b/build/patches/00Remove-support-for-device-memory-and-cpu-recovery.patch index 9557c94c..03e37f63 100644 --- a/build/patches/00Remove-support-for-device-memory-and-cpu-recovery.patch +++ b/build/patches/00Remove-support-for-device-memory-and-cpu-recovery.patch @@ -105,7 +105,7 @@ diff --git a/third_party/blink/common/device_memory/approximated_device_memory.c diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -400,8 +400,8 @@ BASE_FEATURE(kV8OptimizeWorkersForPerformance, +@@ -1835,8 +1835,8 @@ BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption, // Controls whether the implementation of the performance.measureMemory // web API uses PerformanceManager or not. BASE_FEATURE(kWebMeasureMemoryViaPerformanceManager, @@ -114,8 +114,8 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea + "WebMeasureMemoryViaPerformanceManager", // need to be + base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default - // Enables negotiation of experimental multiplex codec in SDP. - BASE_FEATURE(kWebRtcMultiplexCodec, + BASE_FEATURE(kWebRtcCombinedNetworkAndWorkerThread, + "WebRtcCombinedNetworkAndWorkerThread", diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc --- a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc +++ b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc @@ -179,7 +179,7 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party diff --git a/third_party/blink/renderer/core/timing/window_performance.cc b/third_party/blink/renderer/core/timing/window_performance.cc --- a/third_party/blink/renderer/core/timing/window_performance.cc +++ b/third_party/blink/renderer/core/timing/window_performance.cc -@@ -253,7 +253,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { +@@ -254,7 +254,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { auto* memory_info = MakeGarbageCollected( Platform::Current()->IsLockedToSite() ? MemoryInfo::Precision::kPrecise diff --git a/build/patches/00Restore-LastTabStandingTracker.patch b/build/patches/00Restore-LastTabStandingTracker.patch index 702dbf76..061b89de 100644 --- a/build/patches/00Restore-LastTabStandingTracker.patch +++ b/build/patches/00Restore-LastTabStandingTracker.patch @@ -26,7 +26,7 @@ Subject: Restore LastTabStandingTracker diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1863,6 +1863,16 @@ static_library("browser") { +@@ -1875,6 +1875,16 @@ static_library("browser") { "webid/federated_identity_permission_context_factory.h", ] @@ -377,7 +377,7 @@ new file mode 100644 diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -99,6 +99,7 @@ +@@ -104,6 +104,7 @@ #include "chrome/browser/password_manager/password_reuse_manager_factory.h" #include "chrome/browser/password_manager/password_store_factory.h" #include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h" @@ -385,7 +385,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/permissions/notification_permission_review_service_factory.h" #include "chrome/browser/permissions/notifications_engagement_service_factory.h" #include "chrome/browser/permissions/one_time_permissions_tracker_factory.h" -@@ -689,6 +690,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -717,6 +718,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif KAnonymityServiceFactory::GetInstance(); LanguageModelManagerFactory::GetInstance(); @@ -396,18 +396,18 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -54,6 +54,7 @@ - #include "chrome/browser/page_info/page_info_features.h" +@@ -55,6 +55,7 @@ #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" #include "chrome/browser/password_manager/chrome_password_manager_client.h" + #include "chrome/browser/performance_manager/public/user_tuning/user_performance_tuning_manager.h" +#include "chrome/browser/permissions/last_tab_standing_tracker_tab_helper.h" #include "chrome/browser/permissions/one_time_permissions_tracker_helper.h" #include "chrome/browser/permissions/unused_site_permissions_service_factory.h" #include "chrome/browser/predictors/loading_predictor_factory.h" -@@ -363,6 +364,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -368,6 +369,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { + HistoryClustersTabHelper::CreateForWebContents(web_contents); HttpsOnlyModeTabHelper::CreateForWebContents(web_contents); webapps::InstallableManager::CreateForWebContents(web_contents); - webapps::MLInstallabilityPromoter::CreateForWebContents(web_contents); + LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents); login_detection::LoginDetectionTabHelper::MaybeCreateForWebContents( web_contents); diff --git a/build/patches/00Show-warnings-on-downloads-over-HTTP.patch b/build/patches/00Show-warnings-on-downloads-over-HTTP.patch index 03507fed..82b5430d 100644 --- a/build/patches/00Show-warnings-on-downloads-over-HTTP.patch +++ b/build/patches/00Show-warnings-on-downloads-over-HTTP.patch @@ -9,7 +9,7 @@ Subject: Show warnings on downloads over HTTP 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 -@@ -1136,9 +1136,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive, +@@ -1129,9 +1129,9 @@ BASE_FEATURE(kTreatUnsafeDownloadsAsActive, base::FEATURE_ENABLED_BY_DEFAULT); // Show warnings on downloads not delivered over HTTPS. diff --git a/build/patches/00TEMP-Add-a-log-to-track-strange-behavior.patch b/build/patches/00TEMP-Add-a-log-to-track-strange-behavior.patch index 4fc60db7..4a20e04f 100644 --- a/build/patches/00TEMP-Add-a-log-to-track-strange-behavior.patch +++ b/build/patches/00TEMP-Add-a-log-to-track-strange-behavior.patch @@ -9,7 +9,7 @@ Subject: TEMP Add a log to track strange behavior diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc -@@ -3262,6 +3262,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, +@@ -3196,6 +3196,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, if (it == active_streams_.end()) { // NOTE: it may just be that the stream was cancelled. LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id; diff --git a/build/patches/00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch b/build/patches/00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch index dfa87c2d..7c95a86e 100644 --- a/build/patches/00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch +++ b/build/patches/00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch @@ -9,7 +9,7 @@ Subject: Temp Disable kAutomaticLazyFrameLoadingToEmbeds diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -65,7 +65,7 @@ const base::FeatureParam kSkipFrameCountForLazyAds( +@@ -160,7 +160,7 @@ const base::FeatureParam kSkipFrameCountForLazyAds( // Vitals. BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds, "AutomaticLazyFrameLoadingToEmbeds", // must be enabled diff --git a/build/patches/00WIN-ADDTO-AImageReader-CFI-crash-mitigations.patch b/build/patches/00WIN-ADDTO-AImageReader-CFI-crash-mitigations.patch index 18d357fe..9bc7903c 100644 --- a/build/patches/00WIN-ADDTO-AImageReader-CFI-crash-mitigations.patch +++ b/build/patches/00WIN-ADDTO-AImageReader-CFI-crash-mitigations.patch @@ -9,7 +9,7 @@ Subject: WIN ADDTO AImageReader CFI crash mitigations diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc --- a/gpu/ipc/service/gpu_init.cc +++ b/gpu/ipc/service/gpu_init.cc -@@ -614,10 +614,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, +@@ -616,10 +616,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, } #endif // BUILDFLAG(IS_WIN) diff --git a/build/patches/00WIN-ADDTO-Add-AllowUserCertificates-flag.patch b/build/patches/00WIN-ADDTO-Add-AllowUserCertificates-flag.patch index 6a1b54bb..04780056 100644 --- a/build/patches/00WIN-ADDTO-Add-AllowUserCertificates-flag.patch +++ b/build/patches/00WIN-ADDTO-Add-AllowUserCertificates-flag.patch @@ -9,7 +9,7 @@ Subject: WIN ADDTO Add AllowUserCertificates flag 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 -@@ -9226,10 +9226,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9235,10 +9235,12 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid, FEATURE_VALUE_TYPE(features::kHttpsUpgrades)}, diff --git a/build/patches/00WIN-ADDTO-Add-a-proxy-configuration-page.patch b/build/patches/00WIN-ADDTO-Add-a-proxy-configuration-page.patch index 75e2659c..451c083e 100644 --- a/build/patches/00WIN-ADDTO-Add-a-proxy-configuration-page.patch +++ b/build/patches/00WIN-ADDTO-Add-a-proxy-configuration-page.patch @@ -10,7 +10,7 @@ Subject: WIN ADDTO Add a proxy configuration page diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -293,10 +293,8 @@ +@@ -285,10 +285,8 @@ diff --git a/build/patches/00WIN-ADDTO-Add-bookmark-import-export-actions.patch b/build/patches/00WIN-ADDTO-Add-bookmark-import-export-actions.patch index 131a3dcf..cc99e872 100644 --- a/build/patches/00WIN-ADDTO-Add-bookmark-import-export-actions.patch +++ b/build/patches/00WIN-ADDTO-Add-bookmark-import-export-actions.patch @@ -5,14 +5,14 @@ Subject: WIN ADDTO Add bookmark import/export actions --- chrome/browser/about_flags.cc | 2 ++ chrome/browser/bookmarks/bookmark_html_writer.cc | 7 ++++++- - .../lib/browser/headless_select_file_dialog_factory.cc | 4 ++++ + .../select_file_dialog/headless_select_file_dialog.cc | 4 ++++ ui/shell_dialogs/select_file_dialog_win.cc | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) 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 -@@ -9453,11 +9453,13 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9462,11 +9462,13 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)}, #endif @@ -56,10 +56,10 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b if (!file_->IsValid()) { PLOG(ERROR) << "Could not create " << path_; return false; -diff --git a/headless/lib/browser/headless_select_file_dialog_factory.cc b/headless/lib/browser/headless_select_file_dialog_factory.cc ---- a/headless/lib/browser/headless_select_file_dialog_factory.cc -+++ b/headless/lib/browser/headless_select_file_dialog_factory.cc -@@ -57,6 +57,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog { +diff --git a/components/headless/select_file_dialog/headless_select_file_dialog.cc b/components/headless/select_file_dialog/headless_select_file_dialog.cc +--- a/components/headless/select_file_dialog/headless_select_file_dialog.cc ++++ b/components/headless/select_file_dialog/headless_select_file_dialog.cc +@@ -58,6 +58,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog { // ui::SelectFileDialog: bool HasMultipleFileTypeChoicesImpl() override { return false; } diff --git a/build/patches/00WIN-ADDTO-Experimental-user-scripts-support.patch b/build/patches/00WIN-ADDTO-Experimental-user-scripts-support.patch index f136e222..bad36f2c 100644 --- a/build/patches/00WIN-ADDTO-Experimental-user-scripts-support.patch +++ b/build/patches/00WIN-ADDTO-Experimental-user-scripts-support.patch @@ -20,7 +20,7 @@ Subject: WIN ADDTO Experimental user scripts support diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3528,11 +3528,13 @@ static_library("browser") { +@@ -3514,11 +3514,13 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -42,8 +42,8 @@ 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 -@@ -8126,9 +8126,11 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryReorder)}, +@@ -8158,9 +8158,11 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryLongpress)}, #endif // BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_ANDROID) @@ -57,7 +57,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -1533,7 +1533,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1634,7 +1634,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, translate::TranslatePrefs::RegisterProfilePrefs(registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); @@ -65,8 +65,8 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry); +#endif - #if BUILDFLAG(ENABLE_SESSION_SERVICE) - RegisterSessionServiceLogProfilePrefs(registry); + #if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING) + promos_utils::RegisterProfilePrefs(registry); diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn --- a/chrome/browser/profiles/BUILD.gn +++ b/chrome/browser/profiles/BUILD.gn @@ -87,8 +87,8 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -450,7 +450,9 @@ - #include "chrome/browser/net/nss_service_factory.h" +@@ -469,7 +469,9 @@ + #include "chrome/browser/offline_pages/request_coordinator_factory.h" #endif +#if BUILDFLAG(IS_ANDROID) @@ -97,7 +97,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc namespace chrome { -@@ -1040,7 +1042,9 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1097,7 +1099,9 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -188,7 +188,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile 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 -@@ -519,8 +519,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -529,8 +529,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIVersionHost) return &NewWebUI; @@ -202,7 +202,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -153,7 +153,6 @@ static_library("renderer") { +@@ -154,7 +154,6 @@ static_library("renderer") { "//components/content_capture/common", "//components/content_capture/renderer", "//components/content_settings/common:mojom", @@ -210,7 +210,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn "//components/content_settings/renderer", "//components/continuous_search/renderer", "//components/dom_distiller/content/renderer", -@@ -231,6 +230,12 @@ static_library("renderer") { +@@ -234,6 +233,12 @@ static_library("renderer") { "//v8", ] @@ -266,7 +266,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_PPAPI) new PepperHelper(render_frame); -@@ -1610,6 +1616,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1619,6 +1625,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. @@ -276,7 +276,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer static_assert(false, "Compiler error: extensions cannot be enabled with user scripts"); #endif user_scripts::UserScriptsRendererClient* userscript_client = -@@ -1618,6 +1627,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1627,6 +1636,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( userscript_client->RunScriptsAtDocumentStart( render_frame); } @@ -284,7 +284,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1626,6 +1636,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1635,6 +1645,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. @@ -294,7 +294,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer static_assert(false, "Compiler error: extensions cannot be enabled with user scripts"); #endif user_scripts::UserScriptsRendererClient* userscript_client = -@@ -1634,6 +1647,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1643,6 +1656,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( userscript_client->RunScriptsAtDocumentEnd( render_frame); } @@ -302,7 +302,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1642,6 +1656,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1651,6 +1665,9 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. @@ -312,7 +312,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer static_assert(false, "Compiler error: extensions cannot be enabled with user scripts"); #endif user_scripts::UserScriptsRendererClient* userscript_client = -@@ -1650,6 +1667,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1659,6 +1676,7 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( userscript_client->RunScriptsAtDocumentIdle( render_frame); } diff --git a/build/patches/00WIN-ADDTO-Remove-binary-blob-integrations.patch b/build/patches/00WIN-ADDTO-Remove-binary-blob-integrations.patch index 531f4b47..26b5470b 100644 --- a/build/patches/00WIN-ADDTO-Remove-binary-blob-integrations.patch +++ b/build/patches/00WIN-ADDTO-Remove-binary-blob-integrations.patch @@ -36,7 +36,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc // Make sure no checkin is in progress. if (checkin_request_) -@@ -739,7 +739,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) { +@@ -735,7 +735,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) { void GCMClientImpl::SchedulePeriodicCheckin() { DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); diff --git a/build/patches/00WIN-ADDTO-Restore-Search-Ready-Omnibox-flag.patch b/build/patches/00WIN-ADDTO-Restore-Search-Ready-Omnibox-flag.patch index fb5bd81f..0007917d 100644 --- a/build/patches/00WIN-ADDTO-Restore-Search-Ready-Omnibox-flag.patch +++ b/build/patches/00WIN-ADDTO-Restore-Search-Ready-Omnibox-flag.patch @@ -9,7 +9,7 @@ Subject: WIN ADDTO Restore Search Ready Omnibox flag 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 -@@ -9423,9 +9423,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9432,9 +9432,11 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kDesksTemplatesDescription, kOsCrOS, FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)}, #endif diff --git a/build/patches/00WIN-ADDTO-Revert-flags--remove-num-raster-thre.patch b/build/patches/00WIN-ADDTO-Revert-flags--remove-num-raster-thre.patch index c4b79532..7c0fd331 100644 --- a/build/patches/00WIN-ADDTO-Revert-flags--remove-num-raster-thre.patch +++ b/build/patches/00WIN-ADDTO-Revert-flags--remove-num-raster-thre.patch @@ -9,7 +9,7 @@ Subject: WIN ADDTO Revert flags: remove num-raster-thre 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 -@@ -383,6 +383,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = { +@@ -390,6 +390,7 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = { "single-fullscreen,single-on-top,underlay"}, }; @@ -17,7 +17,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc const FeatureEntry::Choice kNumRasterThreadsChoices[] = { {flags_ui::kGenericExperimentChoiceDefault, "", ""}, {flag_descriptions::kNumRasterThreadsOne, cc::switches::kNumRasterThreads, "1"}, -@@ -391,6 +392,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = { +@@ -398,6 +399,7 @@ const FeatureEntry::Choice kNumRasterThreadsChoices[] = { "3"}, {flag_descriptions::kNumRasterThreadsFour, cc::switches::kNumRasterThreads, "4"}}; diff --git a/build/patches/00WIN-Disable-TabHoverCard-images.patch b/build/patches/00WIN-Disable-TabHoverCard-images.patch index 83903f29..867bdbe1 100644 --- a/build/patches/00WIN-Disable-TabHoverCard-images.patch +++ b/build/patches/00WIN-Disable-TabHoverCard-images.patch @@ -9,7 +9,7 @@ Subject: WIN Disable TabHoverCard images diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -212,11 +212,7 @@ BASE_FEATURE(kTabGroupsSaveSyncIntegration, +@@ -186,11 +186,7 @@ BASE_FEATURE(kTabHoverCardImageSettings, // https://crbug.com/928954 BASE_FEATURE(kTabHoverCardImages, "TabHoverCardImages", diff --git a/build/patches/00WIN-Disable-first-run.patch b/build/patches/00WIN-Disable-first-run.patch index 2c76031f..5a28eb6e 100644 --- a/build/patches/00WIN-Disable-first-run.patch +++ b/build/patches/00WIN-Disable-first-run.patch @@ -9,7 +9,7 @@ Subject: WIN Disable first run diff --git a/chrome/browser/ui/startup/first_run_service.cc b/chrome/browser/ui/startup/first_run_service.cc --- a/chrome/browser/ui/startup/first_run_service.cc +++ b/chrome/browser/ui/startup/first_run_service.cc -@@ -177,7 +177,7 @@ bool IsFirstRunMarkedFinishedInPrefs() { +@@ -185,7 +185,7 @@ bool IsFirstRunMarkedFinishedInPrefs() { // static void FirstRunService::RegisterLocalStatePrefs(PrefRegistrySimple* registry) { diff --git a/build/patches/00WIN-Disable-sharing-hub.patch b/build/patches/00WIN-Disable-sharing-hub.patch index 31002ef1..1047fcdc 100644 --- a/build/patches/00WIN-Disable-sharing-hub.patch +++ b/build/patches/00WIN-Disable-sharing-hub.patch @@ -3,10 +3,11 @@ Date: Fri, 17 Feb 2023 16:22:00 +0000 Subject: WIN Disable sharing hub --- - chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +- - chrome/browser/ui/browser_command_controller.cc | 8 ++++---- - .../qrcode_generator_bubble_controller.cc | 5 +---- - 3 files changed, 6 insertions(+), 9 deletions(-) + chrome/browser/sharing_hub/sharing_hub_features.cc | 2 +- + chrome/browser/ui/browser_command_controller.cc | 6 +++--- + chrome/browser/ui/browser_commands.cc | 1 + + .../qrcode_generator/qrcode_generator_bubble_controller.cc | 5 +---- + 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser/sharing_hub/sharing_hub_features.cc --- a/chrome/browser/sharing_hub/sharing_hub_features.cc @@ -23,12 +24,9 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc -@@ -1638,12 +1638,12 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { - command_updater_.UpdateCommandEnabled(IDC_CHROME_TIPS, show_main_ui); +@@ -1700,10 +1700,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui); #endif -- command_updater_.UpdateCommandEnabled(IDC_QRCODE_GENERATOR, show_main_ui); -+ command_updater_.UpdateCommandEnabled(IDC_QRCODE_GENERATOR, false); command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU, - show_main_ui); - command_updater_.UpdateCommandEnabled(IDC_SHARING_HUB, show_main_ui); @@ -38,8 +36,19 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui - show_main_ui); + false); command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); - command_updater_.UpdateCommandEnabled(IDC_SEND_TAB_TO_SELF, show_main_ui); command_updater_.UpdateCommandEnabled(IDC_SHOW_MANAGEMENT_PAGE, true); + command_updater_.UpdateCommandEnabled(IDC_FOLLOW, show_main_ui); +diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc +--- a/chrome/browser/ui/browser_commands.cc ++++ b/chrome/browser/ui/browser_commands.cc +@@ -1479,6 +1479,7 @@ void SendTabToSelfFromPageAction(Browser* browser) { + } + + bool CanGenerateQrCode(const Browser* browser) { ++ if ((true)) return false; + return !sharing_hub::SharingIsDisabledByPolicy(browser->profile()) && + qrcode_generator::QRCodeGeneratorBubbleController:: + IsGeneratorAvailable(browser->tab_strip_model() diff --git a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc --- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc +++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc diff --git a/build/patches/00WIN-Enable-Network-Service-Sandbox-and-CIG.patch b/build/patches/00WIN-Enable-Network-Service-Sandbox-and-CIG.patch index 19fd7b5b..7069b3f0 100644 --- a/build/patches/00WIN-Enable-Network-Service-Sandbox-and-CIG.patch +++ b/build/patches/00WIN-Enable-Network-Service-Sandbox-and-CIG.patch @@ -10,7 +10,7 @@ Subject: WIN Enable Network Service Sandbox and CIG 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 -@@ -769,7 +769,7 @@ BASE_FEATURE(kRendererCodeIntegrity, +@@ -766,7 +766,7 @@ BASE_FEATURE(kRendererCodeIntegrity, // https://blogs.windows.com/blog/tag/code-integrity-guard/. BASE_FEATURE(kNetworkServiceCodeIntegrity, "NetworkServiceCodeIntegrity", diff --git a/build/patches/00WIN-enable-pdf-plugin.patch b/build/patches/00WIN-enable-pdf-plugin.patch index 2a0fd0d5..1139b074 100644 --- a/build/patches/00WIN-enable-pdf-plugin.patch +++ b/build/patches/00WIN-enable-pdf-plugin.patch @@ -9,7 +9,7 @@ Subject: WIN enable pdf plugin 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 -@@ -2005,7 +2005,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2058,7 +2058,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { } PluginData* LocalFrame::GetPluginData() const { diff --git a/build/patches/00WIN-minimum-data-to-enable-install-extensions.patch b/build/patches/00WIN-minimum-data-to-enable-install-extensions.patch index d4e78174..ca3b85ad 100644 --- a/build/patches/00WIN-minimum-data-to-enable-install-extensions.patch +++ b/build/patches/00WIN-minimum-data-to-enable-install-extensions.patch @@ -26,7 +26,7 @@ diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/brows diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc --- a/chrome/browser/extensions/webstore_installer.cc +++ b/chrome/browser/extensions/webstore_installer.cc -@@ -640,7 +640,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id, +@@ -624,7 +624,7 @@ void WebstoreInstaller::StartDownload(const std::string& extension_id, download_url_, render_process_host_id, render_frame_host->GetRoutingID(), traffic_annotation)); params->set_file_path(file); diff --git a/build/patches/00Warning-message-for-unsupported-hardware-aes.patch b/build/patches/00Warning-message-for-unsupported-hardware-aes.patch index 12b3556a..6bd87268 100644 --- a/build/patches/00Warning-message-for-unsupported-hardware-aes.patch +++ b/build/patches/00Warning-message-for-unsupported-hardware-aes.patch @@ -80,7 +80,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #if BUILDFLAG(IS_WIN) #include -@@ -1070,6 +1073,13 @@ absl::optional ChromeMainDelegate::BasicStartupComplete() { +@@ -1080,6 +1083,13 @@ absl::optional ChromeMainDelegate::BasicStartupComplete() { return chrome::RESULT_CODE_INVALID_SANDBOX_STATE; #endif @@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -6489,6 +6489,10 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -6699,6 +6699,10 @@ Keep your key file in a safe place. You will need it to create new versions of y You are using an unsupported feature flag: $1SignedHTTPExchange. Stability and security will suffer. @@ -111,7 +111,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources 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 -@@ -7888,6 +7888,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7931,6 +7931,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kDevicePostureDescription, kOsAll, FEATURE_VALUE_TYPE(features::kDevicePosture)}, @@ -125,7 +125,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 -@@ -774,6 +774,10 @@ const char kDevicePostureName[] = "Device Posture API"; +@@ -840,6 +840,10 @@ const char kDevicePostureName[] = "Device Posture API"; const char kDevicePostureDescription[] = "Enables Device Posture API (foldable devices)"; @@ -139,7 +139,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 -@@ -582,6 +582,9 @@ extern const char kDeviceForceScheduledRebootDescription[]; +@@ -612,6 +612,9 @@ extern const char kDeviceForceScheduledRebootDescription[]; extern const char kDevicePostureName[]; extern const char kDevicePostureDescription[]; @@ -171,7 +171,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s 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 -@@ -3633,6 +3633,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3727,6 +3727,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kLacrosUseChromeosProtectedAv1, #endif switches::kDesktopModeViewportMetaEnabled, @@ -182,7 +182,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content 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 -@@ -776,6 +776,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback, +@@ -766,6 +766,11 @@ BASE_FEATURE(kNoStatePrefetchHoldback, "NoStatePrefetchHoldback", base::FEATURE_DISABLED_BY_DEFAULT); @@ -197,7 +197,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h --- a/content/public/common/content_features.h +++ b/content/public/common/content_features.h -@@ -172,6 +172,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess); +@@ -170,6 +170,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kNetworkServiceInProcess); CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationContentImage); CONTENT_EXPORT BASE_DECLARE_FEATURE(kNotificationTriggers); CONTENT_EXPORT BASE_DECLARE_FEATURE(kNoStatePrefetchHoldback); diff --git a/build/patches/00add-browser-policy.patch b/build/patches/00add-browser-policy.patch index e7f2f5a6..f2f490e1 100644 --- a/build/patches/00add-browser-policy.patch +++ b/build/patches/00add-browser-policy.patch @@ -168,7 +168,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow #if BUILDFLAG(IS_CHROMEOS_ASH) #include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h" -@@ -197,6 +199,16 @@ void ChromeFeatureListCreator::CreatePrefService() { +@@ -196,6 +198,16 @@ void ChromeFeatureListCreator::CreatePrefService() { // ManagementService's cache. if (local_state_pref_store->ReadPrefs() == JsonPrefStore::PREF_READ_ERROR_NONE) { @@ -200,7 +200,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -1922,9 +1922,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -1946,9 +1946,9 @@ bool AreFuturePoliciesEnabledByDefault() { // Enable future policies for branded browser tests. if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) return true; diff --git a/build/patches/00do-not-block-build-incompatible-profiles.patch b/build/patches/00do-not-block-build-incompatible-profiles.patch index bc4fb5d4..d364ca88 100644 --- a/build/patches/00do-not-block-build-incompatible-profiles.patch +++ b/build/patches/00do-not-block-build-incompatible-profiles.patch @@ -10,7 +10,7 @@ Subject: Do not block the build for incompatible profiles diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore -@@ -344,7 +344,6 @@ vs-chromium-project.txt +@@ -345,7 +345,6 @@ vs-chromium-project.txt /ui/surface/surface.xml /ui/surface/surface_gpu_tests.xml /ui/webui/internal @@ -21,7 +21,7 @@ diff --git a/.gitignore b/.gitignore diff --git a/v8/BUILD.gn b/v8/BUILD.gn --- a/v8/BUILD.gn +++ b/v8/BUILD.gn -@@ -2271,7 +2271,7 @@ template("run_mksnapshot") { +@@ -2293,7 +2293,7 @@ template("run_mksnapshot") { # Replace this with --warn-about-builtin-profile-data to see the full # list of builtins with incompatible profiles. diff --git a/build/patches/00v113-temp-fix-build.patch b/build/patches/00v113-temp-fix-build.patch index b219e35b..97cd8e2c 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 -@@ -210,6 +210,7 @@ static_library("safe_browsing") { +@@ -214,6 +214,7 @@ static_library("safe_browsing") { "//components/version_info", "//content/public/browser", "//services/preferences/public/mojom:mojom", diff --git a/build/patches/AImageReader-CFI-crash-mitigations.patch b/build/patches/AImageReader-CFI-crash-mitigations.patch index 9e703d7b..8a4a7ae8 100644 --- a/build/patches/AImageReader-CFI-crash-mitigations.patch +++ b/build/patches/AImageReader-CFI-crash-mitigations.patch @@ -84,7 +84,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -2669,9 +2669,9 @@ +@@ -2798,9 +2798,9 @@ "expiry_milestone": 125 }, { @@ -100,8 +100,8 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json --- a/gpu/config/gpu_driver_bug_list.json +++ b/gpu/config/gpu_driver_bug_list.json -@@ -3142,6 +3142,22 @@ - "dont_delete_source_texture_for_egl_image" +@@ -3698,6 +3698,22 @@ + "no_downscaled_overlay_promotion" ] }, + { @@ -121,8 +121,8 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis + ] + }, { - "id": 336, - "cr_bugs": [625785], + "id": 381, + "cr_bugs": [ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc +++ b/gpu/config/gpu_finch_features.cc @@ -188,7 +188,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc --- a/gpu/ipc/service/gpu_init.cc +++ b/gpu/ipc/service/gpu_init.cc -@@ -614,6 +614,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, +@@ -616,6 +616,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, } #endif // BUILDFLAG(IS_WIN) @@ -231,7 +231,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc -@@ -921,6 +921,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment, +@@ -946,6 +946,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment, // Allows automatically disabling hardware secure Content Decryption Module // (CDM) after failures or crashes to fallback to software secure CDMs. If this // feature is disabled, the fallback will never happen and users could be stuck @@ -246,10 +246,10 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc diff --git a/media/base/media_switches.h b/media/base/media_switches.h --- a/media/base/media_switches.h +++ b/media/base/media_switches.h -@@ -313,6 +313,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatelessVideoDecoder); - MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatefulVideoDecoder); - #endif // defined(ARCH_CPU_ARM_FAMILY) && BUILDFLAG(IS_CHROMEOS) - MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy); +@@ -327,6 +327,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoToolboxVideoDecoder); + #endif // BUILDFLAG(IS_APPLE) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebRTCColorAccuracy); +MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput); MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding); MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi); diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index fa7b42e5..057a625f 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -229,6 +229,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; +@@ -231,6 +231,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.common.ContentSwitches; @@ -26,7 +26,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; -@@ -972,6 +973,8 @@ public abstract class ChromeActivity +@@ -973,6 +974,8 @@ public abstract class ChromeActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(); ChromeCachedFlags.getInstance().cacheNativeFlags(); @@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv 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 -@@ -9165,6 +9165,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9180,6 +9180,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHttpsUpgradesDescription, kOsDesktop | kOsAndroid, FEATURE_VALUE_TYPE(features::kHttpsUpgrades)}, @@ -52,7 +52,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 -@@ -14,6 +14,11 @@ +@@ -16,6 +16,11 @@ namespace flag_descriptions { @@ -80,7 +80,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 -@@ -139,6 +139,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -142,6 +142,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedBoCSigninInterstitial, &feed::kFeedUserInteractionReliabilityReport, &feed::kInterestFeedContentSuggestions, @@ -88,7 +88,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &feed::kInterestFeedV2, &feed::kInterestFeedV2Autoplay, &feed::kInterestFeedV2Hearts, -@@ -449,6 +450,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature, +@@ -458,6 +459,10 @@ BASE_FEATURE(kSearchReadyOmniboxFeature, "SearchReadyOmnibox", base::FEATURE_DISABLED_BY_DEFAULT); @@ -107,7 +107,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents); BASE_DECLARE_FEATURE(kAndroidAppIntegration); +BASE_DECLARE_FEATURE(kAllowUserCertificates); - BASE_DECLARE_FEATURE(kAndroidWidgetFullscreenToast); + BASE_DECLARE_FEATURE(kAndroidAppIntegrationSafeSearch); 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 @@ -121,7 +121,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"; -@@ -483,6 +484,8 @@ public abstract class ChromeFeatureList { +@@ -499,6 +500,8 @@ public abstract class ChromeFeatureList { public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting"; /* Alphabetical: */ @@ -130,7 +130,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sAppMenuMobileSiteOption = new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false); public static final CachedFlag sBackGestureActivityTabProvider = -@@ -605,6 +608,7 @@ public abstract class ChromeFeatureList { +@@ -622,6 +625,7 @@ public abstract class ChromeFeatureList { public static final List sFlagsCachedFullBrowser = List.of( // clang-format off @@ -141,7 +141,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java --- a/net/android/java/src/org/chromium/net/X509Util.java +++ b/net/android/java/src/org/chromium/net/X509Util.java -@@ -508,6 +508,8 @@ public class X509Util { +@@ -545,6 +545,8 @@ public class X509Util { return userRootBytes.toArray(new byte[0][]); } @@ -150,7 +150,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain, String authType, String host) -@@ -594,6 +596,9 @@ public class X509Util { +@@ -631,6 +633,9 @@ public class X509Util { isIssuedByKnownRoot = isKnownRoot(root); } diff --git a/build/patches/Add-IsCleartextPermitted-flag.patch b/build/patches/Add-IsCleartextPermitted-flag.patch index c26b2a7c..daf13f0f 100644 --- a/build/patches/Add-IsCleartextPermitted-flag.patch +++ b/build/patches/Add-IsCleartextPermitted-flag.patch @@ -16,7 +16,7 @@ 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 -@@ -9376,6 +9376,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9391,6 +9391,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRequestDesktopSiteExceptionsName, flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid, FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)}, @@ -30,7 +30,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 -@@ -1832,6 +1832,10 @@ const char kHttpsUpgradesDescription[] = +@@ -1915,6 +1915,10 @@ const char kHttpsUpgradesDescription[] = "Enable automatically upgrading all top-level navigations to HTTPS with " "fast fallback to HTTP."; @@ -44,7 +44,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 -@@ -1014,6 +1014,9 @@ extern const char kHideNonDisplayableAccountEmailDescription[]; +@@ -1062,6 +1062,9 @@ extern const char kHiddenNetworkMigrationDescription[]; extern const char kHttpsOnlyModeName[]; extern const char kHttpsOnlyModeDescription[]; @@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -126,6 +126,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be +@@ -131,6 +131,10 @@ BASE_FEATURE(kEnableCrossSiteFlagNetworkIsolationKey, // must be "EnableCrossSiteFlagNetworkIsolationKey", // disabled base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite @@ -83,7 +83,7 @@ diff --git a/net/base/features.h b/net/base/features.h diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -211,6 +211,10 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -212,6 +212,10 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { } #if BUILDFLAG(IS_ANDROID) diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 49973f7a..cc48a91b 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -76,9 +76,9 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -83,6 +83,7 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -82,6 +82,7 @@ public class PrivacySettings extends PreferenceFragmentCompat + private static final String PREF_SAFE_BROWSING = "safe_browsing"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; - private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; + private static final String PREF_PROXY_OPTIONS = "proxy"; private static final String PREF_PRIVACY_GUIDE = "privacy_guide"; @@ -99,7 +99,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -292,11 +292,15 @@ +@@ -284,11 +284,15 @@ @@ -191,7 +191,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro 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 -@@ -173,6 +173,8 @@ +@@ -175,6 +175,8 @@ #include "rlz/buildflags/buildflags.h" #include "third_party/abseil-cpp/absl/types/optional.h" @@ -200,7 +200,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/background_mode_manager.h" #endif -@@ -1216,6 +1218,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1315,6 +1317,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -655,7 +655,7 @@ new file mode 100644 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 -@@ -385,6 +385,8 @@ static_library("ui") { +@@ -397,6 +397,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -667,7 +667,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn 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 -@@ -58,6 +58,7 @@ +@@ -59,6 +59,7 @@ #include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h" #include "chrome/browser/ui/webui/omnibox/omnibox_ui.h" #include "chrome/browser/ui/webui/policy/policy_ui.h" @@ -675,7 +675,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "chrome/browser/ui/webui/predictors/predictors_ui.h" #include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h" #include "chrome/browser/ui/webui/signin_internals_ui.h" -@@ -479,6 +480,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -489,6 +490,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUINetExportHost) return &NewWebUI; @@ -1121,7 +1121,7 @@ new file mode 100644 diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc --- a/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc -@@ -49,6 +49,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert"; +@@ -50,6 +50,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert"; const char kChromeUICertificateViewerURL[] = "chrome://view-cert/"; const char kChromeUIChromeSigninHost[] = "chrome-signin"; const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/"; @@ -1130,7 +1130,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons const char kChromeUIChromeURLsHost[] = "chrome-urls"; const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/"; const char kChromeUIComponentsHost[] = "components"; -@@ -464,6 +466,7 @@ bool IsSystemWebUIHost(base::StringPiece host) { +@@ -431,6 +433,7 @@ bool IsSystemWebUIHost(base::StringPiece host) { kChromeUILockScreenNetworkHost, kChromeUILockScreenStartReauthHost, kChromeUIMobileSetupHost, @@ -1138,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons kChromeUIMultiDeviceSetupHost, kChromeUINetworkHost, kChromeUINotificationTesterHost, -@@ -754,6 +757,7 @@ const char* const kChromeHostURLs[] = { +@@ -730,6 +733,7 @@ const char* const kChromeHostURLs[] = { #if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_CHROMEOS_ASH) kChromeUIAppLauncherPageHost, @@ -1149,10 +1149,10 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[]; - extern const char kChromeUINTPTilesInternalsHost[]; +@@ -136,6 +136,8 @@ extern const char kChromeUINTPTilesInternalsHost[]; extern const char kChromeUINaClHost[]; extern const char kChromeUINetExportHost[]; + extern const char kChromeUINetExportURL[]; +extern const char kChromeUIProxyConfigHost[]; +extern const char kChromeUIProxyConfigURL[]; extern const char kChromeUINetInternalsHost[]; diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index 66b12ee7..3814f03f 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -96,7 +96,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 -@@ -661,6 +661,7 @@ chrome_java_resources = [ +@@ -663,6 +663,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", @@ -115,7 +115,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", -@@ -953,6 +954,7 @@ chrome_java_sources = [ +@@ -944,6 +945,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", @@ -252,7 +252,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; -@@ -578,9 +582,14 @@ public class ChromeTabbedActivity extends ChromeActivity> buildContextMenu() { mShowEphemeralTabNewLabel = null; @@ -388,7 +388,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr List> groupedItems = new ArrayList<>(); if (mParams.isAnchor()) { -@@ -253,6 +257,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -250,6 +254,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP)); } } @@ -396,7 +396,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) { linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB)); } -@@ -277,7 +282,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -274,7 +279,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } } if (FirstRunStatus.getFirstRunFlowComplete()) { @@ -474,7 +474,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; -@@ -1243,7 +1246,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1223,7 +1226,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid @Override public boolean isIncognito() { @@ -547,7 +547,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History /** * Combines and manages the different UI components of browsing history. */ -@@ -160,7 +167,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -159,7 +166,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve recordUserAction("Show"); // If incognito placeholder is shown, we don't need to create History UI elements. @@ -556,7 +556,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History mSelectableListLayout = null; mRootView = getIncognitoHistoryPlaceholderView(); return; -@@ -597,7 +604,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -596,7 +603,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve private void swapContentView() { boolean toHistoryClusters; @@ -565,7 +565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History return; } else if (isHistoryClustersUIShowing()) { toHistoryClusters = false; -@@ -660,11 +667,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -659,11 +666,24 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve && mContentView == mHistoryClustersCoordinator.getActivityContentView(); } @@ -591,7 +591,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; } -@@ -684,7 +704,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve +@@ -683,7 +703,7 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve * @return True if manager handles this event, false if it decides to ignore. */ public boolean onBackPressed() { @@ -664,8 +664,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java -@@ -35,6 +35,15 @@ import org.chromium.components.signin.identitymanager.ConsentLevel; - import org.chromium.components.signin.metrics.SigninAccessPoint; +@@ -36,6 +36,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint; + import org.chromium.components.sync.SyncService; import org.chromium.url.GURL; +import android.content.Intent; @@ -680,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM import java.util.HashMap; import java.util.List; import java.util.Map; -@@ -99,7 +108,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -100,7 +109,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, */ public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile, Context context, Runnable showHistoryManager) { @@ -690,7 +690,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM mActiveTab = tab; mTabModelSelector = tabModelSelector; mShowHistoryManager = showHistoryManager; -@@ -251,6 +261,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, +@@ -252,6 +262,22 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener, */ public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) { if (mIsDestroyed) return; @@ -881,15 +881,15 @@ 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 -@@ -68,6 +68,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl; - import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings; +@@ -70,6 +70,7 @@ import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings; import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate; + import org.chromium.chrome.browser.sync.SyncServiceFactory; +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager; 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; -@@ -317,6 +318,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -320,6 +321,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity ((PrivacySandboxSettingsBaseFragment) fragment) .setSnackbarManager(getSnackbarManager()); } @@ -1011,7 +1011,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 -@@ -124,6 +124,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto +@@ -125,6 +125,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; @@ -1020,7 +1020,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; -@@ -781,7 +783,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -797,7 +799,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mAppMenuCoordinator.getAppMenuHandler(), mActivityTabProvider, mToolbarManager.getMenuButtonView(), () -> { mTabCreatorManagerSupplier.get() @@ -1108,7 +1108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController; import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton; -@@ -502,7 +503,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve +@@ -500,7 +501,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve return ret; } }, @@ -1151,7 +1151,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI } @Override -@@ -155,6 +164,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider +@@ -147,6 +156,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider return mWebApkExtras; } @@ -1166,7 +1166,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 -@@ -5085,6 +5085,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5073,6 +5073,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kOfflinePagesLivePageSharingName, flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid, FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)}, @@ -1275,10 +1275,10 @@ diff --git a/chrome/browser/autocomplete/remote_suggestions_service_factory.cc b #include "chrome/browser/autocomplete/remote_suggestions_service_factory.h" +#include "build/build_config.h" - #include "base/memory/singleton.h" + #include "base/no_destructor.h" #include "chrome/browser/profiles/profile.h" #include "components/omnibox/browser/remote_suggestions_service.h" -@@ -35,7 +36,11 @@ RemoteSuggestionsServiceFactory::RemoteSuggestionsServiceFactory() +@@ -36,7 +37,11 @@ RemoteSuggestionsServiceFactory::RemoteSuggestionsServiceFactory() : ProfileKeyedServiceFactory( "RemoteSuggestionsService", ProfileSelections::Builder() @@ -1341,7 +1341,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 -@@ -3994,6 +3994,12 @@ const char kOfflinePagesLivePageSharingDescription[] = +@@ -4044,6 +4044,12 @@ const char kOfflinePagesLivePageSharingDescription[] = "Enables to share current loaded page as offline page by saving as MHTML " "first."; @@ -1357,7 +1357,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 -@@ -2330,6 +2330,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[]; +@@ -2355,6 +2355,9 @@ extern const char kOmahaMinSdkVersionAndroidDescription[]; extern const char kOmahaMinSdkVersionAndroidMinSdk1Description[]; extern const char kOmahaMinSdkVersionAndroidMinSdk1000Description[]; @@ -1370,7 +1370,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 -@@ -535,8 +535,8 @@ BASE_FEATURE(kCCTFeatureUsage, +@@ -537,8 +537,8 @@ BASE_FEATURE(kCCTFeatureUsage, BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kCCTIncognitoAvailableToThirdParty, @@ -1502,7 +1502,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc namespace offline_pages { -@@ -54,13 +57,15 @@ std::unique_ptr OfflinePageModelFactory::BuildServiceInstanceFor( +@@ -55,13 +58,15 @@ std::unique_ptr OfflinePageModelFactory::BuildServiceInstanceFor( scoped_refptr background_task_runner = base::ThreadPool::CreateSequencedTaskRunner({base::MayBlock()}); @@ -1520,7 +1520,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc // If base::PathService::Get returns false, the temporary_archives_dir will be // empty, and no temporary pages will be saved during this chrome lifecycle. base::FilePath temporary_archives_dir; -@@ -69,7 +74,6 @@ std::unique_ptr OfflinePageModelFactory::BuildServiceInstanceFor( +@@ -70,7 +75,6 @@ std::unique_ptr OfflinePageModelFactory::BuildServiceInstanceFor( temporary_archives_dir.Append(chrome::kOfflinePageArchivesDirname); } @@ -1528,7 +1528,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc auto archive_manager = std::make_unique( temporary_archives_dir, persistent_archives_dir, DownloadPrefs::GetDefaultDownloadDirectory(), background_task_runner, -@@ -87,4 +91,14 @@ std::unique_ptr OfflinePageModelFactory::BuildServiceInstanceFor( +@@ -88,4 +92,14 @@ std::unique_ptr OfflinePageModelFactory::BuildServiceInstanceFor( return model; } @@ -1583,7 +1583,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc // Depends on OfflinePageModelFactory in SimpleDependencyManager. } -@@ -90,6 +90,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext( +@@ -91,6 +91,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext( KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { @@ -1596,7 +1596,7 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc std::unique_ptr policy(new OfflinerPolicy()); std::unique_ptr offliner; OfflinePageModel* model = -@@ -122,4 +128,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor( +@@ -123,4 +129,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor( return request_coordinator; } @@ -1704,18 +1704,18 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome 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 -@@ -234,6 +234,7 @@ +@@ -232,6 +232,7 @@ #include "components/feed/core/shared_prefs/pref_names.h" #if BUILDFLAG(IS_ANDROID) +#include "chrome/browser/history/history_tab_helper.h" #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" -@@ -1598,6 +1599,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, + #include "chrome/browser/android/oom_intervention/oom_intervention_decider.h" +@@ -1698,6 +1699,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry); - webapps::InstallPromptPrefs::RegisterLocalPrefs(registry); + webapps::InstallPromptPrefs::RegisterProfilePrefs(registry); + // register incognito pref + registry->RegisterBooleanPref(prefs::kAlwaysIncognitoEnabled, + /*default_value=*/false); @@ -1851,7 +1851,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 -@@ -1349,6 +1349,37 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1384,6 +1384,37 @@ Your Google account may have other forms of browsing history like searches and a Clears history from all synced devices. @@ -1914,8 +1914,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow 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 -@@ -23,6 +23,7 @@ android_resources("java_resources") { - android_library("java") { +@@ -24,6 +24,7 @@ android_library("java") { + srcjar_deps = [ ":jni_headers" ] sources = [ "java/src/org/chromium/chrome/browser/ui/messages/infobar/SimpleConfirmInfoBarBuilder.java", + "java/src/org/chromium/chrome/browser/ui/messages/snackbar/INeedSnackbarManager.java", @@ -1957,7 +1957,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 -@@ -3436,6 +3436,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch"; +@@ -3460,6 +3460,12 @@ const char kLacrosLaunchSwitch[] = "lacros_launch_switch"; const char kLacrosSelection[] = "lacros_selection"; #endif @@ -1973,7 +1973,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 -@@ -1212,6 +1212,8 @@ extern const char kDiscountConsentShowInterestIn[]; +@@ -1214,6 +1214,8 @@ extern const char kDiscountConsentShowInterestIn[]; #if BUILDFLAG(IS_ANDROID) extern const char kWebXRImmersiveArEnabled[]; @@ -1982,7 +1982,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h #endif #if !BUILDFLAG(IS_ANDROID) -@@ -1252,6 +1254,10 @@ extern const char kPrivacyGuideViewed[]; +@@ -1255,6 +1257,10 @@ extern const char kPrivacyGuideViewed[]; extern const char kCorsNonWildcardRequestHeadersSupport[]; @@ -1996,7 +1996,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 -@@ -117,10 +117,12 @@ void PrefProvider::RegisterProfilePrefs( +@@ -86,10 +86,12 @@ void PrefProvider::RegisterProfilePrefs( PrefProvider::PrefProvider(PrefService* prefs, bool off_the_record, @@ -2009,7 +2009,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"); -@@ -143,10 +145,14 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -112,10 +114,14 @@ PrefProvider::PrefProvider(PrefService* prefs, WebsiteSettingsRegistry* website_settings = WebsiteSettingsRegistry::GetInstance(); for (const WebsiteSettingsInfo* info : *website_settings) { @@ -2047,7 +2047,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc --- a/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc -@@ -248,6 +248,7 @@ const char* ContentSettingToString(ContentSetting setting) { +@@ -262,6 +262,7 @@ const char* ContentSettingToString(ContentSetting setting) { HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, bool is_off_the_record, @@ -2055,7 +2055,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. bool store_last_modified, bool restore_session, bool should_record_metrics) -@@ -257,6 +258,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -271,6 +272,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, #endif prefs_(prefs), is_off_the_record_(is_off_the_record), @@ -2063,7 +2063,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. store_last_modified_(store_last_modified), allow_invalid_secondary_pattern_for_testing_(false), clock_(base::DefaultClock::GetInstance()) { -@@ -269,7 +271,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -283,7 +285,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, policy_provider->AddObserver(this); auto pref_provider_ptr = std::make_unique( @@ -2083,7 +2083,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. bool store_last_modified, bool restore_session, bool should_record_metrics); -@@ -446,6 +447,8 @@ class HostContentSettingsMap : public content_settings::Observer, +@@ -455,6 +456,8 @@ class HostContentSettingsMap : public content_settings::Observer, // Whether this settings map is for an incognito or guest session. bool is_off_the_record_; diff --git a/build/patches/Add-autoplay-site-setting.patch b/build/patches/Add-autoplay-site-setting.patch index d54f72f0..0ac0787e 100644 --- a/build/patches/Add-autoplay-site-setting.patch +++ b/build/patches/Add-autoplay-site-setting.patch @@ -278,7 +278,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -234,7 +234,7 @@ void ContentSettingsRegistry::Init() { +@@ -244,7 +244,7 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index b3725195..13de867e 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -244,7 +244,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. -@@ -437,6 +476,209 @@ class BookmarkBridge { +@@ -435,6 +474,209 @@ class BookmarkBridge { mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType()); } @@ -454,7 +454,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. -@@ -921,6 +1163,39 @@ class BookmarkBridge { +@@ -919,6 +1161,39 @@ class BookmarkBridge { depthList.add(depth); } @@ -494,7 +494,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++) { -@@ -956,6 +1231,9 @@ class BookmarkBridge { +@@ -954,6 +1229,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); @@ -536,7 +536,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm 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 +@@ -225,6 +227,13 @@ public class BookmarkManagerCoordinator // Public API implementation. @@ -553,16 +553,16 @@ 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 -@@ -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; +@@ -56,6 +56,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver; + import org.chromium.components.commerce.core.CommerceSubscription; + import org.chromium.components.commerce.core.ShoppingService; +import org.chromium.ui.base.ActivityWindowAndroid; +import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.components.favicon.LargeIconBridge; import org.chromium.components.feature_engagement.EventConstants; import org.chromium.components.power_bookmarks.PowerBookmarkMeta; -@@ -74,6 +76,9 @@ class BookmarkManagerMediator +@@ -80,6 +82,9 @@ class BookmarkManagerMediator private static boolean sPreventLoadingForTesting; @@ -587,7 +587,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * See BookmarkManager(Coordinator)#updateForUrl */ -@@ -625,6 +638,16 @@ class BookmarkManagerMediator +@@ -628,6 +641,16 @@ class BookmarkManagerMediator } } @@ -639,7 +639,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 -@@ -114,6 +114,17 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -116,6 +116,17 @@ public class BookmarkToolbar extends SelectableListToolbar setOnMenuItemClickListener(dragEnabled ? null : this); } @@ -657,7 +657,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; -@@ -145,6 +156,8 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -147,6 +158,8 @@ public class BookmarkToolbar extends SelectableListToolbar void setCurrentFolder(BookmarkId folder) { mCurrentFolder = mBookmarkModel.getBookmarkById(folder); @@ -666,7 +666,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm } void setOpenFolderCallback(Callback openFolderCallback) { -@@ -164,6 +177,13 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -166,6 +179,13 @@ public class BookmarkToolbar extends SelectableListToolbar @Override public boolean onMenuItemClick(MenuItem menuItem) { hideOverflowMenu(); @@ -680,7 +680,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm return mMenuIdClickedFunction.apply(menuItem.getItemId()); } -@@ -184,6 +204,9 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -186,6 +206,9 @@ public class BookmarkToolbar extends SelectableListToolbar protected void showNormalView() { super.showNormalView(); @@ -693,7 +693,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/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 -@@ -82,6 +82,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener, +@@ -81,6 +81,10 @@ class BookmarkToolbarMediator implements BookmarkUiObserver, DragListener, mBookmarkDelegate = bookmarkDelegate; mModel.set( BookmarkToolbarProperties.OPEN_FOLDER_CALLBACK, mBookmarkDelegate::openFolder); @@ -799,7 +799,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 -@@ -202,6 +202,8 @@ static_library("browser") { +@@ -204,6 +204,8 @@ static_library("browser") { "bluetooth/chrome_bluetooth_delegate_impl_client.h", "bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.h", @@ -808,7 +808,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", -@@ -1861,6 +1863,13 @@ static_library("browser") { +@@ -1873,6 +1875,13 @@ static_library("browser") { "webid/federated_identity_permission_context_factory.h", ] @@ -822,7 +822,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -3509,8 +3518,6 @@ static_library("browser") { +@@ -3495,8 +3504,6 @@ static_library("browser") { "badging/badge_manager_factory.h", "banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.h", @@ -834,7 +834,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 -@@ -9342,6 +9342,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9357,6 +9357,12 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)}, #endif @@ -1346,8 +1346,8 @@ 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 -@@ -7193,6 +7193,11 @@ const char kPromiseIconsDescription[] = - +@@ -7343,6 +7343,11 @@ const char kEnableAudioFocusEnforcementDescription[] = + "any one time. Requires #enable-media-session-service to be enabled too."; #endif // BUILDFLAG(IS_CHROMEOS_ASH) +const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export"; @@ -1361,8 +1361,8 @@ 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 -@@ -4163,6 +4163,9 @@ extern const char kPromiseIconsDescription[]; - +@@ -4243,6 +4243,9 @@ extern const char kEnableAudioFocusEnforcementName[]; + extern const char kEnableAudioFocusEnforcementDescription[]; #endif // BUILDFLAG(IS_CHROMEOS_ASH) +extern const char kBookmarksExportUseSafName[]; @@ -1374,7 +1374,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 -@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -176,6 +176,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kClearOmniboxFocusAfterNavigation, &kCloseTabSuggestions, &kCloseTabSaveTabList, @@ -1382,7 +1382,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kCriticalPersistedTabData, &kCreateNewTabInitializeRenderer, &kCCTBackgroundTab, -@@ -1137,5 +1138,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent, +@@ -1155,5 +1156,10 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent, "WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1396,18 +1396,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 -@@ -175,6 +175,7 @@ BASE_DECLARE_FEATURE(kTabStripRedesign); +@@ -177,6 +177,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); BASE_DECLARE_FEATURE(kTestDefaultEnabled); - BASE_DECLARE_FEATURE(kToolbarMicIphAndroid); + BASE_DECLARE_FEATURE(kThumbnailPlaceholder); 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 -@@ -456,6 +456,7 @@ public abstract class ChromeFeatureList { +@@ -472,6 +472,7 @@ public abstract class ChromeFeatureList { public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk"; public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID = "UseLibunwindstackNativeUnwinderAndroid"; @@ -1485,7 +1485,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro /** * Whether Chrome is set as the default browser. -@@ -996,6 +998,7 @@ public final class ChromePreferenceKeys { +@@ -984,6 +986,7 @@ public final class ChromePreferenceKeys { AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1524,7 +1524,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 -@@ -406,6 +406,9 @@ static_library("common_lib") { +@@ -414,6 +414,9 @@ static_library("common_lib") { sources += [ "media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.h", @@ -1716,7 +1716,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui if (permissions[i].equals(storagePermission) || permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES) || permissions[i].equals( -@@ -571,6 +578,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -629,6 +636,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick } if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType); } @@ -1724,7 +1724,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui return mimeTypes; } -@@ -899,6 +907,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -957,6 +965,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick return countAcceptTypesFor(superType) == mFileTypes.size(); } @@ -1751,7 +1751,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h --- a/ui/shell_dialogs/select_file_dialog.h +++ b/ui/shell_dialogs/select_file_dialog.h -@@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog +@@ -211,6 +211,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog const GURL* caller = nullptr); bool HasMultipleFileTypeChoices(); @@ -1774,8 +1774,8 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s +} + SelectFileDialogImpl::~SelectFileDialogImpl() { - } - + JNIEnv* env = base::android::AttachCurrentThread(); + Java_SelectFileDialog_nativeDestroyed(env, java_object_); diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h --- a/ui/shell_dialogs/select_file_dialog_android.h +++ b/ui/shell_dialogs/select_file_dialog_android.h diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index 15ba4414..c5c3ef9e 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -126,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -104,6 +104,9 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -103,6 +103,9 @@ public class PrivacySettings extends PreferenceFragmentCompat private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher; private Profile mProfile; @@ -136,7 +136,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { PrivacyPreferencesManagerImpl privacyPrefManager = -@@ -251,6 +254,9 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -250,6 +253,9 @@ public class PrivacySettings extends PreferenceFragmentCompat new SpanApplier.SpanInfo("", "", servicesLink)); } @@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); -@@ -265,6 +271,14 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -264,6 +270,14 @@ public class PrivacySettings extends PreferenceFragmentCompat } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { UserPrefs.get(Profile.getLastUsedRegularProfile()) .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -161,7 +161,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -288,6 +302,16 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -287,6 +301,16 @@ public class PrivacySettings extends PreferenceFragmentCompat UserPrefs.get(mProfile).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -181,7 +181,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -539,8 +539,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty, +@@ -541,8 +541,8 @@ BASE_FEATURE(kCCTIncognitoAvailableToThirdParty, base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kCCTIntentFeatureOverrides, @@ -192,7 +192,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse BASE_FEATURE(kCCTPageInsightsHub, "CCTPageInsightsHub", -@@ -548,7 +548,7 @@ BASE_FEATURE(kCCTPageInsightsHub, +@@ -550,7 +550,7 @@ BASE_FEATURE(kCCTPageInsightsHub, BASE_FEATURE(kCCTPostMessageAPI, "CCTPostMessageAPI", @@ -220,7 +220,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso 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 -@@ -4998,6 +4998,20 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Resume diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 30f45138..d780c951 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife 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 -@@ -226,6 +226,8 @@ import java.util.Locale; +@@ -230,6 +230,8 @@ import java.util.Locale; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct /** * This is the main activity for ChromeMobile when not running in document mode. All the tabs * are accessible via a chrome specific tab switching UI. -@@ -2263,6 +2265,8 @@ public class ChromeTabbedActivity extends ChromeActivity<resetlink>reset sync

<resetlink>reset sync

Dark theme diff --git a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch index 0433c80b..35cd8a5f 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -17,7 +17,7 @@ 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 -@@ -575,6 +575,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = { +@@ -582,6 +582,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID) diff --git a/build/patches/Add-flag-for-save-data-header.patch b/build/patches/Add-flag-for-save-data-header.patch index 2a08decd..481214a2 100644 --- a/build/patches/Add-flag-for-save-data-header.patch +++ b/build/patches/Add-flag-for-save-data-header.patch @@ -15,7 +15,7 @@ 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 -@@ -5254,7 +5254,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5242,7 +5242,10 @@ const FeatureEntry kFeatureEntries[] = { {"force-text-direction", flag_descriptions::kForceTextDirectionName, flag_descriptions::kForceTextDirectionDescription, kOsAll, MULTI_VALUE_TYPE(kForceTextDirectionChoices)}, @@ -30,7 +30,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 -@@ -1271,6 +1271,10 @@ const char kDeprecateAltBasedSixPackDescription[] = +@@ -1332,6 +1332,10 @@ const char kDeprecateAltBasedSixPackDescription[] = "Show deprecation notifications and disable functionality for Alt based " "six pack deprecations. The Search based versions continue to work."; @@ -44,7 +44,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 -@@ -664,6 +664,9 @@ extern const char kDeprecateAltBasedSixPackDescription[]; +@@ -694,6 +694,9 @@ extern const char kDeprecateAltBasedSixPackDescription[]; extern const char kDeprecateOldKeyboardShortcutsAcceleratorName[]; extern const char kDeprecateOldKeyboardShortcutsAcceleratorDescription[]; @@ -99,7 +99,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h -@@ -82,6 +82,8 @@ extern uint32_t GetLoaderChunkSize(); +@@ -84,6 +84,8 @@ extern uint32_t GetLoaderChunkSize(); COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kCorsNonWildcardRequestHeadersSupport); diff --git a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch index d5e6d28e..34fe1694 100644 --- a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch +++ b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch @@ -21,7 +21,7 @@ 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 -@@ -1185,6 +1185,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = { +@@ -1230,6 +1230,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = { switches::kForceDisplayColorProfile, "hdr10"}, }; @@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc const FeatureEntry::Choice kMemlogModeChoices[] = { {flags_ui::kGenericExperimentChoiceDisabled, "", ""}, {flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode, -@@ -5155,6 +5160,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5143,6 +5148,9 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kShareSheetCustomActionsPolish)}, #endif // BUILDFLAG(IS_ANDROID) @@ -46,7 +46,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 -@@ -2022,6 +2022,10 @@ const char kUnthrottledNestedTimeoutDescription[] = +@@ -2112,6 +2112,10 @@ const char kUnthrottledNestedTimeoutDescription[] = "websites abusing the API will still eventually have their setTimeouts " "clamped."; @@ -60,7 +60,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 -@@ -1131,6 +1131,9 @@ extern const char kLogJsConsoleMessagesDescription[]; +@@ -1182,6 +1182,9 @@ extern const char kLogJsConsoleMessagesDescription[]; extern const char kUnthrottledNestedTimeoutName[]; extern const char kUnthrottledNestedTimeoutDescription[]; diff --git a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch index ddff2cd8..e227321d 100644 --- a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch +++ b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch @@ -15,7 +15,7 @@ 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 -@@ -3908,6 +3908,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3909,6 +3909,10 @@ const FeatureEntry kFeatureEntries[] = { chrome::android::kContextualSearchSuppressShortView, kContextualSearchSuppressShortViewVariations, "ContextualSearchSuppressShortView")}, @@ -29,7 +29,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 -@@ -1347,6 +1347,11 @@ const char kEnableManagedConfigurationWebApiDescription[] = +@@ -1408,6 +1408,11 @@ const char kEnableManagedConfigurationWebApiDescription[] = "Allows website to access a managed configuration provided by the device " "administrator for the origin."; @@ -44,15 +44,15 @@ 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 -@@ -733,6 +733,9 @@ extern const char kEnablePenetratingImageSelectionDescription[]; +@@ -766,6 +766,9 @@ extern const char kEnablePenetratingImageSelectionDescription[]; extern const char kEnablePerfettoSystemTracingName[]; extern const char kEnablePerfettoSystemTracingDescription[]; +extern const char kResumeBackgroundVideoName[]; +extern const char kResumeBackgroundVideoDescription[]; + - extern const char kEnablePixelCanvasRecordingName[]; - extern const char kEnablePixelCanvasRecordingDescription[]; + extern const char kEnablePeripheralCustomizationName[]; + extern const char kEnablePeripheralCustomizationDescription[]; diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc --- a/media/base/media_switches.cc diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index 053b2858..1260c23a 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -18,7 +18,7 @@ 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 -@@ -6477,6 +6477,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6475,6 +6475,10 @@ const FeatureEntry kFeatureEntries[] = { {"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName, flag_descriptions::kReaderModeInCCTDescription, kOsAndroid, FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)}, @@ -32,7 +32,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 -@@ -3760,6 +3760,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] = +@@ -3821,6 +3821,10 @@ const char kCCTTextFragmentLookupApiEnabledName[] = const char kCCTTextFragmentLookupApiEnabledDescription[] = "Enable CCT API to lookup text fragments"; @@ -46,7 +46,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 -@@ -804,6 +804,9 @@ extern const char kEnableWasmStringrefName[]; +@@ -846,6 +846,9 @@ extern const char kEnableWasmStringrefName[]; extern const char kEnableWasmStringrefDescription[]; extern const char kEnableWasmTieringName[]; @@ -59,7 +59,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1083,6 +1083,7 @@ component("net") { +@@ -1085,6 +1085,7 @@ component("net") { "//build:chromeos_buildflags", "//net/data/ssl/chrome_root_store:gen_root_store_inc", "//net/http:transport_security_state_generated_files", @@ -97,7 +97,7 @@ diff --git a/net/base/features.h b/net/base/features.h diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -108,6 +108,7 @@ +@@ -110,6 +110,7 @@ #include "net/log/net_log_event_type.h" #include "net/log/net_log_source.h" #include "net/log/net_log_source_type.h" @@ -105,7 +105,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc #include "net/log/net_log_with_source.h" #include "net/socket/client_socket_factory.h" #include "net/url_request/url_request_context.h" -@@ -725,6 +726,9 @@ class HostResolverManager::RequestImpl +@@ -677,6 +678,9 @@ class HostResolverManager::RequestImpl // request source is LOCAL_ONLY. This is due to LOCAL_ONLY requiring a // synchronous response, so it cannot wait on an async probe result and // cannot make assumptions about reachability. @@ -114,8 +114,8 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc + } if (parameters_.source == HostResolverSource::LOCAL_ONLY) { int rv = resolver_->StartIPv6ReachabilityCheck( - source_net_log_, base::DoNothingAs()); -@@ -3944,6 +3948,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( + source_net_log_, GetClientSocketFactory(), +@@ -3895,6 +3899,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( return OK; } diff --git a/build/patches/Add-flag-to-disable-external-intent-requests.patch b/build/patches/Add-flag-to-disable-external-intent-requests.patch index a5e6094c..68409bc1 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -15,7 +15,7 @@ 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 -@@ -3848,6 +3848,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3849,6 +3849,11 @@ const FeatureEntry kFeatureEntries[] = { {"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName, flag_descriptions::kUiPartialSwapDescription, kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, @@ -30,7 +30,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 -@@ -4062,6 +4062,12 @@ const char kPolicyLogsPageAndroidDescription[] = +@@ -4112,6 +4112,12 @@ const char kPolicyLogsPageAndroidDescription[] = "Enable the new chrome://policy-logs page containing logs for debugging " "policy related issues on Android."; @@ -46,7 +46,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 -@@ -2383,6 +2383,9 @@ extern const char kQueryTilesNTPDescription[]; +@@ -2408,6 +2408,9 @@ extern const char kQueryTilesNTPDescription[]; extern const char kQueryTilesOnStartName[]; extern const char kQueryTilesOnStartDescription[]; extern const char kQueryTilesSingleTierName[]; diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index 10ef57c6..ea16b610 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -19,7 +19,7 @@ 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 -@@ -7900,6 +7900,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7943,6 +7943,10 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)}, #endif @@ -33,7 +33,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 -@@ -6822,6 +6822,9 @@ const char kLacrosMergeIcuDataFileDescription[] = +@@ -6959,6 +6959,9 @@ const char kLacrosMergeIcuDataFileDescription[] = "Enables sharing common areas of icudtl.dat between Ash and Lacros."; #endif // #if BUILDFLAG(IS_CHROMEOS_LACROS) @@ -46,7 +46,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 -@@ -4149,6 +4149,8 @@ extern const char kWebUITabStripTabDragIntegrationName[]; +@@ -4227,6 +4227,8 @@ extern const char kWebUITabStripTabDragIntegrationName[]; extern const char kWebUITabStripTabDragIntegrationDescription[]; #endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH) @@ -84,7 +84,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h --- a/content/public/common/content_features.h +++ b/content/public/common/content_features.h -@@ -347,6 +347,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess); +@@ -344,6 +344,8 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWarmUpNetworkProcess); CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebNfc); #endif // BUILDFLAG(IS_ANDROID) @@ -141,7 +141,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c 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 -@@ -2481,6 +2481,10 @@ +@@ -2493,6 +2493,10 @@ status: {"Android": "stable"}, base_feature: "none", }, diff --git a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch index 1fb59f15..046b9f53 100644 --- a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch +++ b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch @@ -7,25 +7,26 @@ Allows build with clangd by suppressing unsupported parameters Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - build/config/compiler/BUILD.gn | 5 +++++ + build/config/compiler/BUILD.gn | 6 +++++- build_overrides/build.gni | 3 +++ - 2 files changed, 8 insertions(+) + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -1748,6 +1748,11 @@ config("default_warnings") { +@@ -1772,7 +1772,11 @@ config("default_warnings") { # TODO(crbug.com/1412713) Evaluate and possibly enable. "-Wno-deprecated-this-capture", ] +- + if (skip_clangd_unsupported_options) { + cflags -= [ + "-Wno-deprecated-builtins", + ] + } - } - } - } + if (llvm_force_head_revision) { + # TODO(https://crbug.com/1448905): Evaluate and possibly enable. + cflags += [ "-Wno-builtin-macro-redefined" ] diff --git a/build_overrides/build.gni b/build_overrides/build.gni --- a/build_overrides/build.gni +++ b/build_overrides/build.gni diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index e49c0a67..31b14bda 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -220,7 +220,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc --- a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc +++ b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc -@@ -39,5 +39,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext() +@@ -40,5 +40,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext() KeyedService* OneTimePermissionsTrackerFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { @@ -281,7 +281,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c import org.chromium.components.embedder_support.util.Origin; import org.chromium.content_public.browser.BrowserContextHandle; import org.chromium.content_public.browser.ContentFeatureList; -@@ -540,6 +541,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -541,6 +542,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment } } @@ -293,7 +293,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c private void setUpClearDataPreference() { ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); long usage = mSite.getTotalUsage(); -@@ -969,6 +975,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -970,6 +976,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment if (contentType == mHighlightedPermission) { switchPreference.setBackgroundColor(mHighlightColor); } @@ -394,8 +394,8 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc --- a/components/content_settings/core/browser/content_settings_utils.cc +++ b/components/content_settings/core/browser/content_settings_utils.cc -@@ -182,6 +182,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) { - return base::Time::Now() + duration; +@@ -175,6 +175,35 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints) { + return constraints.session_model() == SessionModel::Durable; } +ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode) { @@ -433,7 +433,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h --- a/components/content_settings/core/browser/content_settings_utils.h +++ b/components/content_settings/core/browser/content_settings_utils.h -@@ -76,6 +76,12 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration); +@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints); // Returns whether the given type supports tracking last_visit timestamps. bool CanTrackLastVisit(ContentSettingsType type); @@ -472,8 +472,8 @@ diff --git a/components/content_settings/core/common/content_settings_constraint +}; + // Constraints to be applied when setting a content setting. - struct ContentSettingConstraints { - // Specification of an |expiration| provides an upper bound on the time a + class ContentSettingConstraints { + public: diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java @@ -576,10 +576,10 @@ 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 -@@ -1134,6 +1134,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1135,6 +1135,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.source = info.source; - permission_info.is_one_time = - (info.metadata.session_model == content_settings::SessionModel::OneTime); + permission_info.is_one_time = (info.metadata.session_model() == + content_settings::SessionModel::OneTime); + permission_info.is_user_session = + (info.metadata.session_model == content_settings::SessionModel::UserSession); @@ -588,7 +588,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h --- a/components/page_info/page_info.h +++ b/components/page_info/page_info.h -@@ -197,6 +197,7 @@ class PageInfo : private content_settings::CookieControlsView { +@@ -197,6 +197,7 @@ class PageInfo : private content_settings::OldCookieControlsObserver { content_settings::SETTING_SOURCE_NONE; // Whether the permission is a one-time grant. bool is_one_time = false; @@ -1078,10 +1078,10 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL()); DCHECK(content_setting == CONTENT_SETTING_ALLOW || -@@ -542,6 +583,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, - content_settings::ContentSettingConstraints constraints = { - base::Time(), is_one_time ? content_settings::SessionModel::OneTime - : content_settings::SessionModel::Durable}; +@@ -543,6 +584,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, + constraints.set_session_model(is_one_time + ? content_settings::SessionModel::OneTime + : content_settings::SessionModel::Durable); + if (is_one_time) + constraints = content_settings::GetConstraintSessionExpiration(lifetime_option); @@ -1146,7 +1146,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h --- a/components/permissions/permission_prompt.h +++ b/components/permissions/permission_prompt.h -@@ -59,8 +59,9 @@ class PermissionPrompt { +@@ -63,8 +63,9 @@ class PermissionPrompt { virtual GURL GetEmbeddingOrigin() const = 0; virtual void Accept() = 0; @@ -1179,7 +1179,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio PermissionRequest::~PermissionRequest() { DCHECK(delete_callback_.is_null()); } -@@ -256,19 +268,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { +@@ -263,19 +275,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { permissions::features::kPermissionStorageAccessAPI); } @@ -1273,7 +1273,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc --- a/components/permissions/permission_request_manager.cc +++ b/components/permissions/permission_request_manager.cc -@@ -152,7 +152,7 @@ void PermissionRequestManager::AddRequest( +@@ -155,7 +155,7 @@ void PermissionRequestManager::AddRequest( if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDenyPermissionPrompts)) { @@ -1282,7 +1282,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request->RequestFinished(); return; } -@@ -228,7 +228,7 @@ void PermissionRequestManager::AddRequest( +@@ -231,7 +231,7 @@ void PermissionRequestManager::AddRequest( if (auto_approval_origin) { if (url::Origin::Create(request->requesting_origin()) == auto_approval_origin.value()) { @@ -1291,7 +1291,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } request->RequestFinished(); return; -@@ -563,7 +563,8 @@ void PermissionRequestManager::Accept() { +@@ -566,7 +566,8 @@ void PermissionRequestManager::Accept() { (*requests_iter)->request_type(), PermissionAction::GRANTED); PermissionGrantedIncludingDuplicates(*requests_iter, @@ -1301,7 +1301,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p #if !BUILDFLAG(IS_ANDROID) absl::optional content_settings_type = -@@ -581,7 +582,7 @@ void PermissionRequestManager::Accept() { +@@ -584,7 +585,7 @@ void PermissionRequestManager::Accept() { FinalizeCurrentRequests(PermissionAction::GRANTED); } @@ -1310,7 +1310,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) return; DCHECK(view_); -@@ -592,7 +593,8 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -595,7 +596,8 @@ void PermissionRequestManager::AcceptThisTime() { (*requests_iter)->request_type(), PermissionAction::GRANTED_ONCE); PermissionGrantedIncludingDuplicates(*requests_iter, @@ -1320,7 +1320,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(PermissionAction::GRANTED_ONCE); -@@ -600,6 +602,15 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -603,6 +605,15 @@ void PermissionRequestManager::AcceptThisTime() { } void PermissionRequestManager::Deny() { @@ -1336,7 +1336,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) return; DCHECK(view_); -@@ -622,7 +633,7 @@ void PermissionRequestManager::Deny() { +@@ -625,7 +636,7 @@ void PermissionRequestManager::Deny() { StorePermissionActionForUMA((*requests_iter)->requesting_origin(), (*requests_iter)->request_type(), PermissionAction::DENIED); @@ -1345,7 +1345,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(PermissionAction::DENIED); -@@ -1137,32 +1148,32 @@ PermissionRequestManager::VisitDuplicateRequests( +@@ -1155,32 +1166,32 @@ PermissionRequestManager::VisitDuplicateRequests( void PermissionRequestManager::PermissionGrantedIncludingDuplicates( PermissionRequest* request, @@ -1388,7 +1388,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request); } -@@ -1411,7 +1422,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) { +@@ -1429,7 +1440,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) { void PermissionRequestManager::DoAutoResponseForTesting() { switch (auto_response_for_test_) { case ACCEPT_ONCE: @@ -1411,8 +1411,8 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe + void DenyThisTime(content_settings::LifetimeMode lifetime_option) override; void Dismiss() override; void Ignore() override; - void PreIgnoreQuietPrompt() override; -@@ -355,9 +357,12 @@ class PermissionRequestManager + void OpenHelpCenterLink(const ui::Event& event) override; +@@ -356,9 +358,12 @@ class PermissionRequestManager // Calls PermissionGranted on a request and all its duplicates. void PermissionGrantedIncludingDuplicates(PermissionRequest* request, diff --git a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch index 1d716c51..021cdf2c 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -54,7 +54,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re 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 -@@ -78,6 +78,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan +@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.compositor.CompositorViewHolder; @@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.compositor.layouts.Layout; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; -@@ -2285,6 +2286,8 @@ public class ChromeTabbedActivity extends ChromeActivity getTabModelSelector().closeAllTabs(), /*isIncognito=*/false); RecordUserAction.record("MobileMenuCloseAllTabs"); @@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct } else if (id == R.id.close_all_incognito_tabs_menu_id) { // Close only incognito tabs CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(), -@@ -2350,6 +2353,27 @@ public class ChromeTabbedActivity extends ChromeActivity folderList, List depthList); BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller); @@ -208,7 +208,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/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java -@@ -584,6 +584,7 @@ public class BookmarkUtils { +@@ -575,6 +575,7 @@ public class BookmarkUtils { List topLevelFolders = new ArrayList<>(); BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId(); BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId(); @@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm BookmarkId othersNodeId = bookmarkModel.getOtherFolderId(); List specialFoldersIds = -@@ -609,6 +610,9 @@ public class BookmarkUtils { +@@ -600,6 +601,9 @@ public class BookmarkUtils { if (bookmarkModel.isFolderVisible(mobileNodeId)) { topLevelFolders.add(mobileNodeId); } @@ -350,7 +350,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse 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 -@@ -3788,6 +3788,9 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Select tabs @@ -576,7 +576,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc --- a/components/bookmarks/browser/bookmark_model.cc +++ b/components/bookmarks/browser/bookmark_model.cc -@@ -816,7 +816,7 @@ bool BookmarkModel::HasBookmarks() { +@@ -817,7 +817,7 @@ bool BookmarkModel::HasBookmarks() { bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return bookmark_bar_node_->children().empty() && @@ -585,7 +585,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar } bool BookmarkModel::IsBookmarked(const GURL& url) { -@@ -1122,6 +1122,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { +@@ -1123,6 +1123,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { bookmark_bar_node_ = details->bb_node(); other_node_ = details->other_folder_node(); mobile_node_ = details->mobile_folder_node(); diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 5392d319..526f3211 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re 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 -@@ -2311,6 +2311,8 @@ public class ChromeTabbedActivity extends ChromeActivity +@@ -2524,6 +2524,11 @@ public abstract class ChromeActivity return doOpenWebApk(currentTab); } @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App updateAutoDarkMenuItem(menu, currentTab, isChromeScheme); -@@ -1115,6 +1116,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -1114,6 +1115,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate } } diff --git a/build/patches/Add-option-to-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index dd82b023..7ddc3bdd 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -72,7 +72,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro 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 -@@ -670,7 +670,7 @@ public class LocationBarCoordinator +@@ -669,7 +669,7 @@ public class LocationBarCoordinator } private boolean isTabletWindow() { @@ -84,7 +84,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 -@@ -1640,6 +1640,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1675,6 +1675,12 @@ Your Google account may have other forms of browsing history like searches and a Temporarily links this data to your Google Account when you’re signed in, to protect you across Google apps @@ -115,7 +115,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -51,7 +51,7 @@ if (is_ios) { +@@ -68,7 +68,7 @@ if (is_ios) { # Omit Lacros because it allows //components to depend on //chrome, which in # turn depends on //extensions. @@ -124,7 +124,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn disallowed_extension_deps_ = [ # Components should largely not depend on //extensions. Since // extensions # is not a component target and is linked with //chrome, depending on most -@@ -710,7 +710,7 @@ test("components_unittests") { +@@ -730,7 +730,7 @@ test("components_unittests") { # On other platforms, no components should depend on Chrome. # Since //chrome depends on //extensions, we also only assert_no_deps on # extensions targets for non-lacros builds. @@ -133,7 +133,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn assert_no_deps = [ "//chrome/*" ] assert_no_deps += disallowed_extension_deps_ } -@@ -992,7 +992,7 @@ if (use_blink) { +@@ -1018,7 +1018,7 @@ if (use_blink) { # dependency. On other platforms, no components should depend on Chrome. # Since //chrome depends on //extensions, we also only assert_no_deps on # extensions targets for non-lacros builds. @@ -214,7 +214,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn --- a/ui/android/BUILD.gn +++ b/ui/android/BUILD.gn -@@ -404,6 +404,8 @@ android_library("ui_no_recycler_view_java") { +@@ -408,6 +408,8 @@ android_library("ui_no_recycler_view_java") { ":ui_android_features_java", ":ui_java_resources", ":ui_utils_java", diff --git a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch index d3639275..3f8e51b6 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.base.IntentUtils; import org.chromium.base.Log; import org.chromium.base.MemoryPressureListener; -@@ -1318,8 +1319,10 @@ public class ChromeTabbedActivity extends ChromeActivity<resetlink>reset sync

<resetlink>reset sync

IMAGE diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch index 66ee5a92..a4c9b2b4 100644 --- a/build/patches/Add-option-to-use-home-page-as-NTP.patch +++ b/build/patches/Add-option-to-use-home-page-as-NTP.patch @@ -156,7 +156,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro 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 -@@ -1452,6 +1452,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1487,6 +1487,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -169,7 +169,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -63,6 +63,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -65,6 +65,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { GetHomeButtonAndHomePageIsNewTabPageFlags()); registry->RegisterBooleanPref(prefs::kShowHomeButton, false, GetHomeButtonAndHomePageIsNewTabPageFlags()); @@ -181,7 +181,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u 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 -@@ -86,6 +86,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode"; +@@ -82,6 +82,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode"; // A boolean specifying whether the New Tab page is the home page or not. const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage"; diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index fdd63124..1af6262e 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.patch @@ -21,7 +21,7 @@ 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 -@@ -144,6 +144,7 @@ +@@ -146,6 +146,7 @@ #include "components/segmentation_platform/public/features.h" #include "components/send_tab_to_self/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" @@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #include "components/shared_highlighting/core/common/shared_highlighting_features.h" #include "components/signin/core/browser/dice_account_reconcilor_delegate.h" #include "components/signin/public/base/signin_buildflags.h" -@@ -9428,6 +9429,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9437,6 +9438,11 @@ const FeatureEntry kFeatureEntries[] = { kLargeFaviconFromGoogleVariations, "LargeFaviconFromGoogle")}, @@ -44,7 +44,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 -@@ -3624,6 +3624,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] = +@@ -3691,6 +3691,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] = "Skips starting the service worker and run the fetch handler if the fetch " "handler is recognized as skippable."; @@ -59,7 +59,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 -@@ -2106,6 +2106,9 @@ extern const char kReduceAcceptLanguageDescription[]; +@@ -2140,6 +2140,9 @@ extern const char kReduceAcceptLanguageDescription[]; extern const char kSkipServiceWorkerFetchHandlerName[]; extern const char kSkipServiceWorkerFetchHandlerDescription[]; diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 304f97cc..93423c66 100644 --- a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch +++ b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -78,6 +78,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment; +@@ -81,6 +81,7 @@ import org.chromium.components.browser_ui.settings.CustomDividerFragment; import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; import org.chromium.components.browser_ui.settings.PaddedDividerItemDecoration; import org.chromium.components.browser_ui.settings.SettingsLauncher; @@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment; import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat; -@@ -393,8 +394,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -396,8 +397,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity finish(); return true; } else if (item.getItemId() == R.id.menu_id_general_help) { diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index b74bb328..39e5ab7c 100644 --- a/build/patches/Add-webGL-site-setting.patch +++ b/build/patches/Add-webGL-site-setting.patch @@ -273,7 +273,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h -@@ -1923,6 +1923,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, +@@ -1933,6 +1933,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, DOMArrayBufferView* pixels, int64_t offset); diff --git a/build/patches/Add-webRTC-site-settings.patch b/build/patches/Add-webRTC-site-settings.patch index 0d6400da..6612ffce 100644 --- a/build/patches/Add-webRTC-site-settings.patch +++ b/build/patches/Add-webRTC-site-settings.patch @@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver. #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h" -@@ -256,6 +258,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, +@@ -251,6 +253,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, if (kind != "audio" && kind != "video") return nullptr; @@ -245,7 +245,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h" -@@ -951,6 +953,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, +@@ -946,6 +948,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, if (kind != "audio" && kind != "video") return nullptr; diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index 487e04e7..aed5a084 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -40,7 +40,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc -@@ -1303,6 +1303,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1306,6 +1306,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { } } @@ -48,7 +48,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { std::vector urls; frame_host->ForEachRenderFrameHostWithAction( -@@ -1316,6 +1317,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1319,6 +1320,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { }); return urls; } @@ -200,7 +200,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -13013,12 +13013,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -13027,12 +13027,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( base::Value::Dict body; if (!reason.empty()) body.Set("reason", reason); @@ -246,7 +246,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -217,7 +217,7 @@ extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( +@@ -222,7 +222,7 @@ extern const base::FeatureParam kTimeoutTcpConnectAttemptMax( #if BUILDFLAG(ENABLE_REPORTING) BASE_FEATURE(kDocumentReporting, "DocumentReporting", @@ -274,7 +274,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic 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 -@@ -472,10 +472,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -473,10 +473,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const absl::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, const absl::optional& user_agent, @@ -318,7 +318,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo 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 -@@ -1098,6 +1098,7 @@ interface NetworkContext { +@@ -1118,6 +1118,7 @@ interface NetworkContext { // provided |network_isolation_key|. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -326,7 +326,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -1111,6 +1112,7 @@ interface NetworkContext { +@@ -1131,6 +1132,7 @@ interface NetworkContext { // Note that this queued report will never be delivered if no reporting // endpoint matching is registered for with the provided // |network_isolation_key|. @@ -345,7 +345,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c #include "base/containers/contains.h" #include "base/debug/dump_without_crashing.h" #include "services/network/public/cpp/web_sandbox_flags.h" -@@ -1140,6 +1141,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1156,6 +1157,7 @@ void ContentSecurityPolicy::ReportViolation( return; } @@ -353,7 +353,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c PostViolationReport(violation_data, context_frame, report_endpoints, use_reporting_api); -@@ -1147,6 +1149,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1163,6 +1165,7 @@ void ContentSecurityPolicy::ReportViolation( // `context_frame` (i.e. we're not processing 'frame-ancestors'). if (delegate_ && !context_frame) delegate_->DispatchViolationEvent(*violation_data, element); @@ -372,7 +372,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ #include "services/network/public/cpp/features.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/source_location.mojom-blink.h" -@@ -2439,9 +2440,11 @@ void LocalFrame::MainFrameInteractive() { +@@ -2510,9 +2511,11 @@ void LocalFrame::MainFrameInteractive() { } } @@ -398,10 +398,10 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b #include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h" #include "services/metrics/public/cpp/ukm_source_id.h" #include "services/network/public/mojom/fetch_api.mojom-blink-forward.h" -@@ -620,9 +620,9 @@ class CORE_EXPORT LocalFrame final - } +@@ -630,9 +630,9 @@ class CORE_EXPORT LocalFrame final + void FinishedScrollSequence(); - SmoothScrollSequencer& GetSmoothScrollSequencer(); + SmoothScrollSequencer* GetSmoothScrollSequencer() const; - +#if BUILDFLAG(ENABLE_REPORTING) mojom::blink::ReportingServiceProxy* GetReportingService(); diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 6f188749..26e02644 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -3394,7 +3394,6 @@ generate_jni("chrome_jni_headers") { +@@ -3421,7 +3421,6 @@ generate_jni("chrome_jni_headers") { "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSites.java", "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java", "java/src/org/chromium/chrome/browser/supervised_user/ChildAccountFeedbackReporter.java", @@ -25,7 +25,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 -@@ -1060,7 +1060,6 @@ chrome_java_sources = [ +@@ -1051,7 +1051,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/suggestions/tile/TileRenderer.java", "java/src/org/chromium/chrome/browser/suggestions/tile/TopSitesTileView.java", "java/src/org/chromium/chrome/browser/supervised_user/ChildAccountFeedbackReporter.java", @@ -36,7 +36,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3022,8 +3022,6 @@ static_library("browser") { +@@ -3000,8 +3000,6 @@ static_library("browser") { "feed/android/refresh_task_scheduler_impl.cc", "feed/android/refresh_task_scheduler_impl.h", "feed/android/web_feed_bridge.cc", @@ -45,7 +45,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "file_select_helper_contacts_android.cc", "file_select_helper_contacts_android.h", "first_run/android/first_run_prefs.cc", -@@ -3228,10 +3226,6 @@ static_library("browser") { +@@ -3216,10 +3214,6 @@ static_library("browser") { "ssl/chrome_security_state_model_delegate.h", "ssl/known_interception_disclosure_infobar.cc", "ssl/known_interception_disclosure_infobar.h", @@ -53,13 +53,13 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn - "supervised_user/android/favicon_fetcher.h", - "supervised_user/android/supervised_user_web_content_handler_impl.cc", - "supervised_user/android/supervised_user_web_content_handler_impl.h", - "sync/android/sync_service_android_bridge.cc", - "sync/android/sync_service_android_bridge.h", "sync/glue/synced_tab_delegate_android.cc", + "sync/glue/synced_tab_delegate_android.h", + "sync/glue/synced_window_delegate_android.cc", 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 -@@ -1492,6 +1492,7 @@ const FeatureEntry::FeatureVariation kJourneysLabelsVariations[] = { +@@ -1495,6 +1495,7 @@ const FeatureEntry::FeatureVariation kJourneysLabelsVariations[] = { }; #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_ANDROID) @@ -67,7 +67,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc const FeatureEntry::FeatureParam kLocalWebApprovalsPreferLocalParams[] = { {"preferred_button", "local"}}; const FeatureEntry::FeatureParam kLocalWebApprovalsPreferRemoteParams[] = { -@@ -1503,6 +1504,7 @@ const FeatureEntry::FeatureVariation kLocalWebApprovalsVariations[] = { +@@ -1506,6 +1507,7 @@ const FeatureEntry::FeatureVariation kLocalWebApprovalsVariations[] = { std::size(kLocalWebApprovalsPreferRemoteParams), nullptr}, }; #endif @@ -75,7 +75,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc const FeatureEntry::FeatureParam kChromeRefresh2023Level1[] = {{"level", "1"}}; -@@ -7691,11 +7693,13 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7689,11 +7691,13 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_ANDROID) diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index ca761450..bc996f45 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc --- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc -@@ -1191,6 +1191,12 @@ bool WebMediaPlayerImpl::HasAudio() const { +@@ -1184,6 +1184,12 @@ bool WebMediaPlayerImpl::HasAudio() const { return pipeline_metadata_.has_audio; } @@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc void WebMediaPlayerImpl::EnabledAudioTracksChanged( const WebVector& enabledTrackIds) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3515,7 +3521,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3503,7 +3509,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { : HasAudio(); // Audio only stream is allowed to play when in background. diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index 5ea1309c..b029690a 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -23,7 +23,7 @@ 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 -@@ -3887,6 +3887,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3888,6 +3888,10 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kKioskEnableAppServiceDescription, kOsCrOS, FEATURE_VALUE_TYPE(features::kKioskEnableAppService)}, #endif // BUILDFLAG(IS_CHROMEOS) @@ -37,7 +37,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 -@@ -3534,6 +3534,11 @@ const char kWebrtcUseMinMaxVEADimensionsDescription[] = +@@ -3611,6 +3611,11 @@ const char kWebrtcUseMinMaxVEADimensionsDescription[] = "When enabled, WebRTC will only use the Video Encode Accelerator for " "video resolutions inside those published as supported."; @@ -52,7 +52,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 -@@ -2040,6 +2040,9 @@ extern const char kWebRtcRemoteEventLogDescription[]; +@@ -2083,6 +2083,9 @@ extern const char kWebRtcRemoteEventLogDescription[]; extern const char kWebrtcUseMinMaxVEADimensionsName[]; extern const char kWebrtcUseMinMaxVEADimensionsDescription[]; @@ -65,9 +65,9 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -715,6 +715,10 @@ BASE_FEATURE(kWebRtcUseMinMaxVEADimensions, - #endif - ); +@@ -234,6 +234,10 @@ BASE_FEATURE(kBiddingAndScoringDebugReportingAPI, + "BiddingAndScoringDebugReportingAPI", + base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kAudioContextShuffleEnabled, + "AudioContextShuffleEnabled", @@ -79,15 +79,15 @@ 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 -@@ -279,6 +279,8 @@ BLINK_COMMON_EXPORT bool IsPlzDedicatedWorkerEnabled(); - - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebRtcUseMinMaxVEADimensions); +@@ -142,6 +142,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapConcurrentSweeping); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapIncrementalMarking); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapIncrementalMarkingStress); +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioContextShuffleEnabled); + - // Blink garbage collection. - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapCompaction); - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapConcurrentMarking); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE( + kBlockingDownloadsInAdFrameWithoutUserActivation); + diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc --- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc @@ -135,7 +135,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir #include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h" #include "third_party/blink/public/platform/web_audio_latency_hint.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" -@@ -575,7 +576,9 @@ double AudioContext::baseLatency() const { +@@ -586,7 +587,9 @@ double AudioContext::baseLatency() const { DCHECK(IsMainThread()); DCHECK(destination()); @@ -157,8 +157,8 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b #include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h" #include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h" #include "third_party/blink/public/platform/platform.h" -@@ -721,6 +722,17 @@ Document* BaseAudioContext::GetDocument() const { - return window ? window->document() : nullptr; +@@ -721,6 +722,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { + return To(GetExecutionContext()); } +/*static*/ @@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc -@@ -369,6 +369,7 @@ void OfflineAudioContext::FireCompletionEvent() { +@@ -368,6 +368,7 @@ void OfflineAudioContext::FireCompletionEvent() { if (!rendered_buffer) { return; } diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index 4b7c9e29..521e4740 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc --- a/third_party/blink/renderer/core/execution_context/execution_context.cc +++ b/third_party/blink/renderer/core/execution_context/execution_context.cc -@@ -724,4 +724,20 @@ void ExecutionContext::WriteIntoTrace( +@@ -721,4 +721,20 @@ void ExecutionContext::WriteIntoTrace( proto->set_world_type(GetWorldType(*this)); } @@ -47,7 +47,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -387,6 +387,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, +@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); HeapObserverSet& ContextLifecycleObserverSet(); @@ -69,7 +69,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -586,6 +586,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { +@@ -578,6 +578,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { return should_block_request; } @@ -217,8 +217,8 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp + } + if (auto* scheduler = execution_context_->GetScheduler()) { - feature_handle_for_scheduler_ = scheduler->RegisterFeature( - SchedulingPolicy::Feature::kWebSocket, + // Two features are registered here: + // - `kWebSocket`: a non-sticky feature that will disable BFCache for any diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc --- a/third_party/blink/renderer/modules/websockets/websocket_common.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc diff --git a/build/patches/Block-qjz9zk-or-trk-requests.patch b/build/patches/Block-qjz9zk-or-trk-requests.patch index 30682571..084b8172 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -50,7 +50,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc --- a/chrome/browser/ui/singleton_tabs.cc +++ b/chrome/browser/ui/singleton_tabs.cc -@@ -101,6 +101,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) { +@@ -127,6 +127,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) { continue; } @@ -108,7 +108,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc --- a/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc -@@ -793,6 +793,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() +@@ -823,6 +823,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() RegisterPseudoScheme(url::kJavaScriptScheme); RegisterPseudoScheme(kViewSourceScheme); RegisterPseudoScheme(kGoogleChromeScheme); @@ -119,7 +119,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1048,6 +1048,8 @@ component("net") { +@@ -1047,6 +1047,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", diff --git a/build/patches/Bookmarks-select-all-menu-entry.patch b/build/patches/Bookmarks-select-all-menu-entry.patch index 211e866a..289af638 100644 --- a/build/patches/Bookmarks-select-all-menu-entry.patch +++ b/build/patches/Bookmarks-select-all-menu-entry.patch @@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm /** * Main toolbar of bookmark UI. It is responsible for displaying title and buttons * associated with the current context. -@@ -156,6 +158,7 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -158,6 +160,7 @@ public class BookmarkToolbar extends SelectableListToolbar void setCurrentFolder(BookmarkId folder) { mCurrentFolder = mBookmarkModel.getBookmarkById(folder); @@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm getMenu().findItem(R.id.import_menu_id).setVisible(true); getMenu().findItem(R.id.export_menu_id).setVisible(true); } -@@ -184,6 +187,17 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -186,6 +189,17 @@ public class BookmarkToolbar extends SelectableListToolbar mExportBookmarkRunnable.run(); return true; } @@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm return mMenuIdClickedFunction.apply(menuItem.getItemId()); } -@@ -206,6 +220,7 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -208,6 +222,7 @@ public class BookmarkToolbar extends SelectableListToolbar getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null); getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null); diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index b38413af..19e5323d 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -50,7 +50,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -2303,6 +2303,9 @@ if (enable_java_templates && is_android) { +@@ -2151,6 +2151,9 @@ if (enable_java_templates && is_android) { if (defined(testonly) && testonly) { defines += [ "_IS_FOR_TEST" ] } @@ -63,7 +63,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni 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 -@@ -854,6 +854,9 @@ chrome_java_sources = [ +@@ -849,6 +849,9 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java", "java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java", "java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java", @@ -249,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateCon import org.chromium.chrome.browser.flags.ChromeSwitches; import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState; import org.chromium.components.variations.VariationsAssociatedData; -@@ -37,10 +38,12 @@ public class UpdateConfigs { +@@ -36,10 +37,12 @@ public class UpdateConfigs { private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available"; private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version"; @@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateCon @Retention(RetentionPolicy.SOURCE) public @interface UpdateFlowConfiguration { /** Turns off all update indicators. */ -@@ -50,6 +53,12 @@ public class UpdateConfigs { +@@ -49,6 +52,12 @@ public class UpdateConfigs { * Requires Omaha to say an update is available, and only ever Intents out to Play Store. */ int INTENT_ONLY = 2; @@ -276,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateCon } /** -@@ -124,6 +133,13 @@ public class UpdateConfigs { +@@ -123,6 +132,13 @@ public class UpdateConfigs { return DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS; } @@ -290,7 +290,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateCon /** * Gets a String VariationsAssociatedData parameter. Also checks for a command-line switch * with the same name, for easy local testing. -@@ -139,4 +155,14 @@ public class UpdateConfigs { +@@ -137,4 +153,14 @@ public class UpdateConfigs { } return value; } @@ -444,8 +444,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta +import org.chromium.base.ApplicationStatus.ActivityStateListener; import org.chromium.base.BuildInfo; import org.chromium.base.Callback; - import org.chromium.base.ContextUtils; -@@ -26,6 +31,10 @@ import org.chromium.base.task.AsyncTask; + import org.chromium.base.ObserverList; +@@ -25,6 +30,10 @@ import org.chromium.base.task.AsyncTask; import org.chromium.base.task.AsyncTask.Status; import org.chromium.base.task.PostTask; import org.chromium.base.task.TaskTraits; @@ -456,7 +456,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta import org.chromium.chrome.browser.omaha.metrics.UpdateSuccessMetrics; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; -@@ -35,30 +44,37 @@ import java.io.File; +@@ -34,30 +43,37 @@ import java.io.File; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -502,7 +502,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta } /** A set of properties that represent the current update state for Chrome. */ -@@ -92,6 +108,12 @@ public class UpdateStatusProvider { +@@ -91,6 +107,12 @@ public class UpdateStatusProvider { */ private boolean mIsSimulated; @@ -515,7 +515,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta public UpdateStatus() {} UpdateStatus(UpdateStatus other) { -@@ -100,11 +122,13 @@ public class UpdateStatusProvider { +@@ -99,11 +121,13 @@ public class UpdateStatusProvider { latestVersion = other.latestVersion; latestUnsupportedVersion = other.latestUnsupportedVersion; mIsSimulated = other.mIsSimulated; @@ -529,7 +529,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta private final UpdateQuery mOmahaQuery; private final UpdateSuccessMetrics mMetrics; private @Nullable UpdateStatus mStatus; -@@ -172,6 +196,30 @@ public class UpdateStatusProvider { +@@ -171,6 +195,30 @@ public class UpdateStatusProvider { pingObservers(); } @@ -560,7 +560,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta /** * Starts the intent update process, if possible * @param context An {@link Context} that will be used to fire off the update intent. -@@ -179,12 +227,11 @@ public class UpdateStatusProvider { +@@ -178,12 +226,11 @@ public class UpdateStatusProvider { * @return Whether or not the update intent was sent and had a valid handler. */ public boolean startIntentUpdate(Context context, boolean newTask) { @@ -574,7 +574,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl)); if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); -@@ -195,9 +242,29 @@ public class UpdateStatusProvider { +@@ -194,9 +241,29 @@ public class UpdateStatusProvider { return true; } @@ -604,7 +604,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta } private void pingObservers() { -@@ -205,19 +272,36 @@ public class UpdateStatusProvider { +@@ -204,19 +271,36 @@ public class UpdateStatusProvider { } private void resolveStatus() { @@ -645,15 +645,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta mRecordedInitialStatus = true; } -@@ -229,6 +313,7 @@ public class UpdateStatusProvider { +@@ -228,6 +312,7 @@ public class UpdateStatusProvider { } private static final class UpdateQuery extends AsyncTask { + static final String TAG = "UpdateStatusProvider"; - private final Context mContext = ContextUtils.getApplicationContext(); private final Runnable mCallback; -@@ -246,7 +331,7 @@ public class UpdateStatusProvider { + private @Nullable UpdateStatus mStatus; +@@ -244,7 +329,7 @@ public class UpdateStatusProvider { protected UpdateStatus doInBackground() { UpdateStatus testStatus = getTestStatus(); if (testStatus != null) return testStatus; @@ -662,7 +662,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta } @Override -@@ -265,6 +350,8 @@ public class UpdateStatusProvider { +@@ -263,6 +348,8 @@ public class UpdateStatusProvider { status.mIsSimulated = true; status.updateState = forcedUpdateState; @@ -671,7 +671,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta // Push custom configurations for certain update states. switch (forcedUpdateState) { case UpdateState.UPDATE_AVAILABLE: -@@ -281,27 +368,33 @@ public class UpdateStatusProvider { +@@ -279,27 +366,33 @@ public class UpdateStatusProvider { return status; } @@ -1099,14 +1099,14 @@ new file mode 100644 diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn --- a/chrome/browser/endpoint_fetcher/BUILD.gn +++ b/chrome/browser/endpoint_fetcher/BUILD.gn -@@ -17,6 +17,7 @@ android_library("java") { +@@ -18,6 +18,7 @@ android_library("java") { sources = [ "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java", "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java", + "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java", ] - annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] } + @@ -25,5 +26,6 @@ generate_jni("jni_headers") { sources = [ "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java", @@ -1281,7 +1281,7 @@ new file mode 100644 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 -@@ -246,6 +246,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -247,6 +247,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNotificationPermissionBottomSheet, &kPageAnnotationsService, &kPreconnectOnTabCreation, @@ -1289,7 +1289,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kBookmarksImprovedSaveFlow, &kBookmarksRefresh, &kOmahaMinSdkVersionAndroid, -@@ -675,6 +676,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens, +@@ -673,6 +674,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens, "ContextMenuTranslateWithGoogleLens", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1303,9 +1303,9 @@ 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 -@@ -100,6 +100,7 @@ BASE_DECLARE_FEATURE(kFoldableJankFix); +@@ -99,6 +99,7 @@ BASE_DECLARE_FEATURE(kFoldableJankFix); BASE_DECLARE_FEATURE(kGridTabSwitcherForTablets); - BASE_DECLARE_FEATURE(kHideNonDisplayableAccountEmail); + BASE_DECLARE_FEATURE(kImprovedIncognitoScreenshot); BASE_DECLARE_FEATURE(kIncognitoReauthenticationForAndroid); +BASE_DECLARE_FEATURE(kInlineUpdateFlow); BASE_DECLARE_FEATURE(kIncognitoScreenshot); @@ -1314,7 +1314,7 @@ 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 -@@ -279,6 +279,7 @@ public abstract class ChromeFeatureList { +@@ -285,6 +285,7 @@ public abstract class ChromeFeatureList { "IncognitoReauthenticationForAndroid"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; public static final String INFOBAR_SCROLL_OPTIMIZATION = "InfobarScrollOptimization"; @@ -1325,7 +1325,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f 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 -@@ -2038,6 +2038,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2073,6 +2073,12 @@ Your Google account may have other forms of browsing history like searches and a Chrome updates are no longer supported for this version of Android @@ -1338,7 +1338,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -3639,7 +3645,10 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

@@ -1350,7 +1350,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -3650,6 +3659,18 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

Android version is unsupported diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index c73cade1..8d62bb4f 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -65,7 +65,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -282,6 +282,7 @@ if (current_toolchain == default_toolchain) { +@@ -284,6 +284,7 @@ if (current_toolchain == default_toolchain) { "//chrome/android/modules/image_editor/provider:java", "//chrome/android/modules/stack_unwinder/provider:java", "//chrome/android/webapk/libs/client:client_java", @@ -76,7 +76,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -457,6 +457,7 @@ chrome_java_resources = [ +@@ -459,6 +459,7 @@ chrome_java_resources = [ "java/res/layout/account_chooser_dialog_title.xml", "java/res/layout/account_divider_preference.xml", "java/res/layout/account_management_account_row.xml", @@ -84,7 +84,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/layout/auto_sign_in_first_run_dialog.xml", "java/res/layout/autofill_billing_address_dropdown.xml", "java/res/layout/autofill_card_name_and_number.xml", -@@ -650,6 +651,7 @@ chrome_java_resources = [ +@@ -652,6 +653,7 @@ chrome_java_resources = [ "java/res/xml/about_chrome_preferences.xml", "java/res/xml/account_management_preferences.xml", "java/res/xml/ad_services_config.xml", @@ -95,7 +95,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -946,6 +946,8 @@ chrome_java_sources = [ +@@ -937,6 +937,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", @@ -438,7 +438,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -13394,6 +13394,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -13752,6 +13752,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -487,7 +487,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h class BackgroundModeManager; class BrowserProcessPlatformPart; -@@ -75,6 +76,10 @@ namespace component_updater { +@@ -70,6 +71,10 @@ namespace component_updater { class ComponentUpdateService; } @@ -498,7 +498,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h namespace extensions { class EventRouterForwarder; } -@@ -252,6 +257,7 @@ class BrowserProcess { +@@ -240,6 +245,7 @@ class BrowserProcess { #endif virtual component_updater::ComponentUpdateService* component_updater() = 0; @@ -509,7 +509,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h 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 -@@ -1129,6 +1129,26 @@ BrowserProcessImpl::component_updater() { +@@ -1107,6 +1107,26 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -539,7 +539,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h -@@ -206,6 +206,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -203,6 +203,7 @@ class BrowserProcessImpl : public BrowserProcess, #endif component_updater::ComponentUpdateService* component_updater() override; @@ -547,7 +547,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc MediaFileSystemRegistry* media_file_system_registry() override; WebRtcLogUploader* webrtc_log_uploader() override; network_time::NetworkTimeTracker* network_time_tracker() override; -@@ -394,6 +395,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -390,6 +391,7 @@ class BrowserProcessImpl : public BrowserProcess, // to concerns over integrity of data shared between profiles, // but some users of component updater only install per-user. std::unique_ptr component_updater_; @@ -558,7 +558,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc -@@ -425,6 +425,9 @@ StartupProfileInfo CreateInitialProfile( +@@ -427,6 +427,9 @@ StartupProfileInfo CreateInitialProfile( // missing code in the above test. CHECK(profile_info.profile) << "Cannot get default profile."; @@ -578,8 +578,8 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows +#include "chrome/browser/browser_process.h" +#include "chrome/common/pref_names.h" +#include "components/prefs/pref_service.h" + #include "content/public/browser/network_service_util.h" #include "content/public/common/content_features.h" - #include "content/public/common/network_service_util.h" @@ -41,3 +44,11 @@ static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled( return content::IsOutOfProcessNetworkService() && @@ -675,7 +675,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro 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 -@@ -2382,6 +2382,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2414,6 +2414,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; // capture devices without prompt. const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -688,7 +688,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 -@@ -38,6 +38,7 @@ extern const char kDownloadDuplicateFilePromptEnabled[]; +@@ -36,6 +36,7 @@ extern const char kDownloadDuplicateFilePromptEnabled[]; extern const char kForceEphemeralProfiles[]; extern const char kHomePageIsNewTabPage[]; extern const char kHomePage[]; @@ -1930,7 +1930,7 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -43,8 +43,8 @@ BASE_FEATURE(kAutofillSendUnidentifiedKeyAfterFill, +@@ -138,8 +138,8 @@ BASE_FEATURE(kAutofillSendUnidentifiedKeyAfterFill, // Apply lazy-loading to ad frames which have embeds likely impacting Core Web // Vitals. BASE_FEATURE(kAutomaticLazyFrameLoadingToAds, @@ -1941,7 +1941,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea // The timeout value that forces loading iframes that are lazy loaded by // LazyAds. After this timeout, the frame loading is triggered even when the -@@ -64,8 +64,8 @@ const base::FeatureParam kSkipFrameCountForLazyAds( +@@ -159,8 +159,8 @@ const base::FeatureParam kSkipFrameCountForLazyAds( // Apply lazy-loading to frames which have embeds likely impacting Core Web // Vitals. BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds, @@ -1952,7 +1952,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea // The timeout value that forces loading iframes that are lazy loaded by // LazyEmbeds. After this timeout, the frame loading is triggered even when the -@@ -87,8 +87,8 @@ const base::FeatureParam kSkipFrameCountForLazyEmbeds( +@@ -182,8 +182,8 @@ const base::FeatureParam kSkipFrameCountForLazyEmbeds( // to gather Blink.AutomaticLazyLoadFrame.LazyEmbedFrameCount UKM data even when // kAutomaticLazyFrameLoadingToEmbeds is disabled. BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbedUrls, diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 6da6ff9d..a30c3305 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -48,7 +48,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc --- a/content/browser/loader/navigation_url_loader_impl.cc +++ b/content/browser/loader/navigation_url_loader_impl.cc -@@ -1059,6 +1059,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( +@@ -1061,6 +1061,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( return; } @@ -63,7 +63,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow 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 -@@ -287,8 +287,8 @@ BASE_FEATURE(kCrashReporting, +@@ -281,8 +281,8 @@ BASE_FEATURE(kCrashReporting, // Enables support for the `Critical-CH` response header. // https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch BASE_FEATURE(kCriticalClientHint, @@ -77,7 +77,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc --- a/services/network/public/cpp/client_hints.cc +++ b/services/network/public/cpp/client_hints.cc -@@ -115,6 +115,7 @@ const DecodeMap& GetDecodeMap() { +@@ -113,6 +113,7 @@ const DecodeMap& GetDecodeMap() { absl::optional> ParseClientHintsHeader(const std::string& header) { @@ -88,7 +88,7 @@ diff --git a/services/network/public/cpp/client_hints.cc b/services/network/publ diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -186,7 +186,7 @@ BASE_FEATURE(kWebSocketReassembleShortMessages, +@@ -193,7 +193,7 @@ BASE_FEATURE(kWebSocketReassembleShortMessages, // Enable support for ACCEPT_CH H2/3 frame as part of Client Hint Reliability. // See: // https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3 @@ -100,7 +100,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc --- a/third_party/blink/common/client_hints/client_hints.cc +++ b/third_party/blink/common/client_hints/client_hints.cc -@@ -105,6 +105,7 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() { +@@ -101,6 +101,7 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() { } bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) { @@ -111,7 +111,7 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc --- a/third_party/blink/common/client_hints/enabled_client_hints.cc +++ b/third_party/blink/common/client_hints/enabled_client_hints.cc -@@ -21,6 +21,7 @@ namespace { +@@ -15,6 +15,7 @@ namespace { using ::network::mojom::WebClientHintsType; bool IsDisabledByFeature(const WebClientHintsType type) { @@ -119,7 +119,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi switch (type) { case WebClientHintsType::kUA: case WebClientHintsType::kUAArch: -@@ -130,7 +131,7 @@ bool IsOriginTrialEnabled(const GURL& url, +@@ -90,7 +91,7 @@ bool IsDisabledByFeature(const WebClientHintsType type) { } // namespace bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const { @@ -128,7 +128,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi } void EnabledClientHints::SetIsEnabled(const WebClientHintsType type, -@@ -159,6 +160,7 @@ void EnabledClientHints::SetIsEnabled( +@@ -101,6 +102,7 @@ void EnabledClientHints::SetIsEnabled(const WebClientHintsType type, std::vector EnabledClientHints::GetEnabledHints() const { std::vector hints; @@ -139,7 +139,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi 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 -@@ -3647,8 +3647,8 @@ +@@ -3664,8 +3664,8 @@ public: true, }, { @@ -149,6 +149,6 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "experimental", // in bromite }, { - name: "UserAgentReduction", // always enabled + name: "V8IdleTasks", -- 2.25.1 diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index bcf2c3fc..7b824891 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -15,7 +15,7 @@ Require: bromite-build-utils.patch .../installable/installed_webapp_bridge.cc | 2 +- .../settings/privacy_page/privacy_page.html | 1 + .../settings/privacy_page/privacy_page.ts | 44 ++- - chrome/browser/resources/settings/route.ts | 3 + + chrome/browser/resources/settings/route.ts | 2 + .../settings_category_default_radio_group.ts | 7 + .../settings/site_settings/site_details.html | 1 + .../settings/site_settings/site_details.ts | 16 +- @@ -71,7 +71,7 @@ Require: bromite-build-utils.patch .../execution_context/execution_context.cc | 16 + .../execution_context/execution_context.h | 5 + .../WebLayerSiteSettingsDelegate.java | 3 + - 60 files changed, 1311 insertions(+), 41 deletions(-) + 60 files changed, 1310 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 @@ -84,7 +84,7 @@ Require: bromite-build-utils.patch diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java -@@ -46,6 +46,10 @@ import org.chromium.url.GURL; +@@ -47,6 +47,10 @@ import org.chromium.url.GURL; import java.util.Set; @@ -95,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. */ -@@ -265,6 +269,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -266,6 +270,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { return PrivacySandboxBridge.getFirstPartySetOwner(memberOrigin); } @@ -128,16 +128,16 @@ 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 -@@ -1101,4 +1101,5 @@ - - +@@ -1136,4 +1136,5 @@ + + +

diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -@@ -67,7 +67,49 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -68,7 +68,49 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { } static get template() { @@ -199,11 +199,10 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc /** * Add all of the child routes that originate from the privacy route, -@@ -122,6 +123,8 @@ function addPrivacyChildRoutes(r: Partial) { - r.SITE_SETTINGS.createChild('windowManagement'); - r.SITE_SETTINGS_FILE_SYSTEM_WRITE = r.SITE_SETTINGS.createChild('filesystem'); - r.SITE_SETTINGS_LOCAL_FONTS = r.SITE_SETTINGS.createChild('localFonts'); -+ +@@ -131,6 +132,7 @@ function addPrivacyChildRoutes(r: Partial) { + r.SITE_SETTINGS_STORAGE_ACCESS = + r.SITE_SETTINGS.createChild('storageAccess'); + } + setupContentSettingsRoutes(r); } @@ -211,7 +210,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc 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 -@@ -158,6 +158,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -159,6 +159,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends // "Ask" vs "Blocked". return ContentSetting.ASK; default: @@ -272,7 +271,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ { route: routes.SITE_SETTINGS_ADS, id: Id.ADS, -@@ -336,10 +336,34 @@ function getCategoryItemMap(): Map { +@@ -347,10 +347,34 @@ function getCategoryItemMap(): Map { }, ]; @@ -307,7 +306,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]): CategoryListItem[] { const map = getCategoryItemMap(); -@@ -417,7 +441,7 @@ export class SettingsSiteSettingsPageElement extends +@@ -429,7 +453,7 @@ export class SettingsSiteSettingsPageElement extends Id.IMAGES, Id.POPUPS, ]), @@ -374,7 +373,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ /** * Determine localization string for i18n for a given content settings type. * Sorted alphabetically by |ContentSettingsType|. -@@ -84,6 +132,13 @@ export function getLocalizationStringForContentType( +@@ -86,6 +134,13 @@ export function getLocalizationStringForContentType( case ContentSettingsTypes.SITE_DATA: return null; default: @@ -391,7 +390,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 -@@ -1959,6 +1959,7 @@ static_library("ui") { +@@ -1980,6 +1980,7 @@ static_library("ui") { "//components/commerce/core:shopping_service", "//components/commerce/core/mojom:mojo_bindings", "//components/commerce/core/webui", @@ -411,7 +410,7 @@ 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" -@@ -488,6 +490,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -487,6 +489,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( icon = &vector_icons::kCookieIcon; break; default: @@ -440,7 +439,7 @@ 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" -@@ -72,6 +73,8 @@ +@@ -73,6 +74,8 @@ #include "components/google/core/common/google_util.h" #include "components/history/core/common/pref_names.h" #include "components/omnibox/common/omnibox_features.h" @@ -449,7 +448,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #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" -@@ -3547,6 +3550,42 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3635,6 +3638,42 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -495,16 +494,16 @@ 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 -@@ -42,6 +42,8 @@ - #include "chrome/common/pref_names.h" +@@ -44,6 +44,8 @@ #include "chrome/common/url_constants.h" + #include "chrome/grit/generated_resources.h" #include "components/content_settings/core/browser/host_content_settings_map.h" +#include "components/content_settings/core/browser/website_settings_info.h" +#include "components/content_settings/core/browser/website_settings_registry.h" #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" -@@ -194,7 +196,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { +@@ -199,7 +201,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { static_assert(std::size(kContentSettingsTypeGroupNames) == // ContentSettingsType starts at -1, so add 1 here. @@ -513,7 +512,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b "kContentSettingsTypeGroupNames should have " "CONTENT_SETTINGS_NUM_TYPES elements"); -@@ -448,6 +450,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -481,6 +483,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { return true; } } @@ -527,7 +526,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return false; } -@@ -461,7 +470,13 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) { +@@ -494,7 +503,13 @@ ContentSettingsType ContentSettingsTypeFromGroupName(base::StringPiece name) { return entry.type; } } @@ -542,7 +541,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return ContentSettingsType::DEFAULT; } -@@ -475,6 +490,13 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) { +@@ -508,6 +523,13 @@ base::StringPiece ContentSettingsTypeToGroupName(ContentSettingsType type) { } } @@ -556,7 +555,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(); -@@ -543,6 +565,13 @@ const std::vector& GetVisiblePermissionCategories() { +@@ -576,6 +598,13 @@ const std::vector& GetVisiblePermissionCategories() { base_types->push_back(ContentSettingsType::PRIVATE_NETWORK_GUARD); } @@ -573,10 +572,10 @@ 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 -@@ -141,6 +141,20 @@ android_library("java") { +@@ -143,6 +143,20 @@ android_library("java") { + ":site_settings_jni_headers", + "//components/content_settings/android:java_pref_names_srcjar", ] - srcjar_deps = - [ "//components/content_settings/android:java_pref_names_srcjar" ] + sources += [ + "java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java", + "java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java", @@ -594,7 +593,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b } android_library("javatests") { -@@ -184,6 +198,7 @@ robolectric_library("junit") { +@@ -186,6 +200,7 @@ robolectric_library("junit") { } android_resources("java_resources") { @@ -1217,7 +1216,7 @@ new file mode 100644 diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java -@@ -38,7 +38,7 @@ public class ContentSettingsResources { +@@ -39,7 +39,7 @@ public class ContentSettingsResources { /** * An inner class contains all the resources for a ContentSettingsType */ @@ -1226,7 +1225,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c private final int mIcon; private final int mTitle; private final @ContentSettingValues @Nullable Integer mDefaultEnabledValue; -@@ -46,7 +46,7 @@ public class ContentSettingsResources { +@@ -47,7 +47,7 @@ public class ContentSettingsResources { private final int mEnabledSummary; private final int mDisabledSummary; @@ -1235,7 +1234,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c @ContentSettingValues @Nullable Integer defaultEnabledValue, @ContentSettingValues @Nullable Integer defaultDisabledValue, int enabledSummary, int disabledSummary) { -@@ -303,6 +303,8 @@ public class ContentSettingsResources { +@@ -304,6 +304,8 @@ public class ContentSettingsResources { ContentSettingValues.BLOCK, R.string.website_settings_category_vr_ask, R.string.website_settings_category_vr_blocked); } @@ -1244,7 +1243,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c assert false; // NOTREACHED return null; } -@@ -468,6 +470,12 @@ public class ContentSettingsResources { +@@ -469,6 +471,12 @@ public class ContentSettingsResources { } } @@ -1257,7 +1256,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Returns the string resource id for a content type to show with a permission category. * @param enabled Whether the content type is enabled. -@@ -603,6 +611,8 @@ public class ContentSettingsResources { +@@ -604,6 +612,8 @@ public class ContentSettingsResources { * Blocked states, in that order. */ public static int[] getTriStateSettingDescriptionIDs(int contentType) { @@ -1269,7 +1268,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/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java -@@ -305,6 +305,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -306,6 +306,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @ContentSettingValues Integer contentSetting = website.site().getContentSetting( browserContextHandle, mCategory.getContentSettingsType()); @@ -1280,7 +1279,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSetting != null) { return ContentSettingValues.BLOCK == contentSetting; } -@@ -463,6 +467,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -464,6 +468,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment ? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS)) : null; @@ -1288,7 +1287,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c configureGlobalToggles(); if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) { RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered"); -@@ -487,7 +492,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -488,7 +493,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -1297,7 +1296,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help); help.setIcon(TraceEventVectorDrawableCompat.create( -@@ -498,6 +503,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -499,6 +504,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_id_site_settings_help) { @@ -1310,7 +1309,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) { getSiteSettingsDelegate().launchProtectedContentHelpAndFeedbackActivity( getActivity()); -@@ -571,6 +582,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -572,6 +583,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment BrowserContextHandle browserContextHandle = getSiteSettingsDelegate().getBrowserContextHandle(); PrefService prefService = UserPrefs.get(browserContextHandle); @@ -1322,7 +1321,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (BINARY_TOGGLE_KEY.equals(preference.getKey())) { assert !mCategory.isManaged(); boolean toggleValue = (boolean) newValue; -@@ -787,6 +803,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -788,6 +804,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment : R.string.website_settings_allowed_group_heading_request_desktop_site; break; } @@ -1331,7 +1330,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c assert resource > 0; return getString(resource); } -@@ -908,6 +926,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -909,6 +927,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment default: break; } @@ -1340,7 +1339,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (allowSpecifyingExceptions) { getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(), ADD_EXCEPTION_KEY, getAddExceptionDialogMessage(), mCategory, this)); -@@ -1081,6 +1101,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -1082,6 +1102,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment case GlobalToggleLayout.TRI_STATE_TOGGLE: TriStateSiteSettingsPreference triStateToggle = getPreferenceScreen().findPreference(TRI_STATE_TOGGLE_KEY); @@ -1350,7 +1349,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK); case GlobalToggleLayout.FOUR_STATE_COOKIE_TOGGLE: FourStateCookieSettingsPreference fourStateCookieToggle = -@@ -1158,7 +1181,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -1159,7 +1182,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment } else if (mCategory.getType() == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES) { infoText.setSummary(R.string.website_settings_third_party_cookies_page_description); } else { @@ -1363,7 +1362,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Hide the anti-abuse text preferences, as needed. -@@ -1182,6 +1209,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment +@@ -1183,6 +1210,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment screen.removePreference(antiAbuseThingsToConsiderHeader); screen.removePreference(antiAbuseThingsToConsiderSectionOne); } @@ -1398,7 +1397,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 -@@ -46,6 +46,7 @@ import org.chromium.content_public.browser.ContentFeatureList; +@@ -47,6 +47,7 @@ import org.chromium.content_public.browser.ContentFeatureMap; import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -1406,7 +1405,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. -@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -172,7 +173,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment case ContentSettingsType.CLIPBOARD_READ_WRITE: return "clipboard_permission_list"; default: @@ -1415,7 +1414,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -516,7 +517,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -517,7 +518,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment private void setupContentSettingsPreferences() { mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder(); @@ -1425,7 +1424,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c Preference preference = new ChromeSwitchPreference(getStyledContext()); preference.setKey(getPreferenceKey(type)); -@@ -961,14 +963,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -962,14 +964,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment private void setupContentSettingsPreference(Preference preference, @ContentSettingValues @Nullable Integer value, boolean isEmbargoed) { @@ -1451,7 +1450,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c switchPreference.setOnPreferenceChangeListener(this); @ContentSettingsType int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey()); -@@ -1134,7 +1144,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1135,7 +1145,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment public @ContentSettingsType int getContentSettingsTypeFromPreferenceKey(String preferenceKey) { if (mPreferenceMap == null) { mPreferenceMap = new HashMap<>(); @@ -1460,7 +1459,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); -@@ -1176,7 +1186,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1177,7 +1187,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment } mSite.setContentSetting(browserContextHandle, type, permission); @@ -1469,7 +1468,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c preference.setIcon(getContentSettingsIcon(type, permission)); if (mWebsiteSettingsObserver != null) { -@@ -1206,7 +1216,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment +@@ -1207,7 +1217,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. @@ -1671,7 +1670,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/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java -@@ -93,7 +93,7 @@ public class WebsitePermissionsFetcher { +@@ -94,7 +94,7 @@ public class WebsitePermissionsFetcher { case ContentSettingsType.USB_GUARD: return WebsitePermissionsType.CHOSEN_OBJECT_INFO; default: @@ -1680,7 +1679,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -209,7 +209,7 @@ public class WebsitePermissionsFetcher { +@@ -210,7 +210,7 @@ public class WebsitePermissionsFetcher { if (SiteSettingsFeatureList.isEnabled(SiteSettingsFeatureList.SITE_DATA_IMPROVEMENTS)) { queue.add(new CookiesInfoFetcher()); } @@ -1819,7 +1818,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -588,6 +589,8 @@ void ContentSettingsRegistry::Init() { +@@ -598,6 +599,8 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsRegistry::ALL_PLATFORMS, ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); @@ -1939,7 +1938,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry. diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn --- a/components/content_settings/core/common/BUILD.gn +++ b/components/content_settings/core/common/BUILD.gn -@@ -48,6 +48,13 @@ static_library("common") { +@@ -51,6 +51,13 @@ static_library("common") { if (use_blink) { deps += [ "//components/privacy_sandbox:features" ] } @@ -1970,7 +1969,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo namespace { -@@ -161,8 +162,9 @@ void RecordContentSettingsHistogram(const char* name, +@@ -162,8 +163,9 @@ void RecordContentSettingsHistogram(const char* name, } int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { @@ -1981,7 +1980,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo "Update content settings histogram lookup"); auto* found = kHistogramValue.find(content_setting); -@@ -221,6 +223,13 @@ bool ContentSettingPatternSource::IsExpired() const { +@@ -231,6 +233,13 @@ bool ContentSettingPatternSource::operator==( // static bool RendererContentSettingRules::IsRendererContentSetting( ContentSettingsType content_type) { @@ -1995,7 +1994,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 || -@@ -230,6 +239,9 @@ bool RendererContentSettingRules::IsRendererContentSetting( +@@ -240,6 +249,9 @@ bool RendererContentSettingRules::IsRendererContentSetting( void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL( const GURL& outermost_main_frame_url) { @@ -2005,10 +2004,10 @@ 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); -@@ -252,3 +264,10 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( - - RendererContentSettingRules& RendererContentSettingRules::operator=( - RendererContentSettingRules&& rules) = default; +@@ -271,3 +283,10 @@ bool RendererContentSettingRules::operator==( + other.popup_redirect_rules, other.mixed_content_rules, + other.auto_dark_content_rules); + } + +ContentSettingRuleSource::ContentSettingRuleSource() = default; + @@ -2019,7 +2018,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 -@@ -71,10 +71,20 @@ struct ContentSettingPatternSource { +@@ -74,10 +74,20 @@ struct ContentSettingPatternSource { typedef std::vector ContentSettingsForOneType; @@ -2043,8 +2042,8 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom --- a/components/content_settings/core/common/content_settings.mojom +++ b/components/content_settings/core/common/content_settings.mojom -@@ -61,6 +61,11 @@ enum ContentSetting { - DETECT_IMPORTANT_CONTENT +@@ -78,6 +78,11 @@ struct RuleMetaData { + mojo_base.mojom.TimeDelta lifetime; }; +struct ContentSettingRuleSource { @@ -2055,7 +2054,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co // This mirrors the C++ type in content_settings.h. struct ContentSettingPatternSource { ContentSettingsPattern primary_pattern; -@@ -73,6 +78,7 @@ struct ContentSettingPatternSource { +@@ -90,6 +95,7 @@ struct ContentSettingPatternSource { // This mirrors the C++ type in content_settings.h. struct RendererContentSettingRules { @@ -2066,8 +2065,8 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc --- a/components/content_settings/core/common/content_settings_mojom_traits.cc +++ b/components/content_settings/core/common/content_settings_mojom_traits.cc -@@ -93,12 +93,22 @@ bool StructTraitssource); +@@ -153,12 +153,22 @@ bool StructTraitsmetadata) && data.ReadSource(&out->source); } +// static @@ -2093,7 +2092,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h --- a/components/content_settings/core/common/content_settings_mojom_traits.h +++ b/components/content_settings/core/common/content_settings_mojom_traits.h -@@ -121,10 +121,34 @@ struct StructTraits< +@@ -165,10 +165,34 @@ struct StructTraits< ContentSettingPatternSource* out); }; @@ -2143,9 +2142,9 @@ diff --git a/components/content_settings/core/common/content_settings_param_trai diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h --- a/components/content_settings/core/common/content_settings_types.h +++ b/components/content_settings/core/common/content_settings_types.h -@@ -330,7 +330,9 @@ enum class ContentSettingsType : int32_t { - // Used to indicate whether HTTPS-First Mode is enabled on the hostname. - HTTPS_ENFORCED, +@@ -331,7 +331,9 @@ enum class ContentSettingsType : int32_t { + // https://github.com/screen-share/capture-all-screens + ALL_SCREEN_CAPTURE, - NUM_TYPES, + NUM_TYPES_CHROMIUM, @@ -2215,7 +2214,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 -@@ -176,6 +176,15 @@ public class PageInfoPermissionsController +@@ -169,6 +169,15 @@ public class PageInfoPermissionsController : perm1.nameMidSentence.toString()); } @@ -2295,7 +2294,7 @@ 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" -@@ -1186,6 +1187,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1187,6 +1188,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, // applies to permissions listed in |kPermissionType|. bool PageInfo::ShouldShowPermission( const PageInfo::PermissionInfo& info) const { @@ -2310,7 +2309,7 @@ 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) { -@@ -1278,7 +1287,19 @@ void PageInfo::PresentSitePermissions() { +@@ -1275,7 +1284,19 @@ void PageInfo::PresentSitePermissions() { HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index f4d04885..c75e2ab3 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -964,7 +964,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java -@@ -220,8 +220,7 @@ public abstract class UrlBar extends AutocompleteEditText { +@@ -227,8 +227,7 @@ public abstract class UrlBar extends AutocompleteEditText { setFocusableInTouchMode(mAllowFocus); }); diff --git a/build/patches/Disable-Accessibility-service-by-default.patch b/build/patches/Disable-Accessibility-service-by-default.patch index 2d3819da..92837216 100644 --- a/build/patches/Disable-Accessibility-service-by-default.patch +++ b/build/patches/Disable-Accessibility-service-by-default.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -1701,6 +1701,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1736,6 +1736,12 @@ Your Google account may have other forms of browsing history like searches and a Check now @@ -58,7 +58,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java -@@ -908,6 +908,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa +@@ -909,6 +909,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa structure.setChildCount(0); return; } diff --git a/build/patches/Disable-AsyncDNS-by-default.patch b/build/patches/Disable-AsyncDNS-by-default.patch index 7a156459..edb53d18 100644 --- a/build/patches/Disable-AsyncDNS-by-default.patch +++ b/build/patches/Disable-AsyncDNS-by-default.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -72,13 +72,8 @@ BASE_FEATURE(kAppShimNewCloseBehavior, +@@ -66,13 +66,8 @@ BASE_FEATURE(kAppShimNewCloseBehavior, // Enables the built-in DNS resolver. BASE_FEATURE(kAsyncDns, diff --git a/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch b/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch index befa7324..07c488e4 100644 --- a/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch +++ b/build/patches/Disable-DRM-media-origin-IDs-preprovisioning.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc -@@ -1016,8 +1016,8 @@ BASE_FEATURE(kMediaDrmPersistentLicense, +@@ -1041,8 +1041,8 @@ BASE_FEATURE(kMediaDrmPersistentLicense, // MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs // which will trigger provisioning process after MediaDrmBridge is created. BASE_FEATURE(kMediaDrmPreprovisioning, diff --git a/build/patches/Disable-NTP-remote-suggestions-by-default.patch b/build/patches/Disable-NTP-remote-suggestions-by-default.patch index bb02986c..b7d4139d 100644 --- a/build/patches/Disable-NTP-remote-suggestions-by-default.patch +++ b/build/patches/Disable-NTP-remote-suggestions-by-default.patch @@ -10,16 +10,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc --- a/components/feed/core/shared_prefs/pref_names.cc +++ b/components/feed/core/shared_prefs/pref_names.cc -@@ -20,8 +20,8 @@ const char kArticlesListVisible[] = "ntp_snippets.list_visible"; - const char kVideoPreviewsType[] = "ntp_snippets.video_previews_type"; +@@ -19,8 +19,8 @@ const char kEnableSnippets[] = "ntp_snippets.enable"; + const char kArticlesListVisible[] = "ntp_snippets.list_visible"; void RegisterFeedSharedProfilePrefs(PrefRegistrySimple* registry) { - registry->RegisterBooleanPref(kEnableSnippets, true); - registry->RegisterBooleanPref(kArticlesListVisible, true); + registry->RegisterBooleanPref(kEnableSnippets, false); + registry->RegisterBooleanPref(kArticlesListVisible, false); - registry->RegisterIntegerPref(kVideoPreviewsType, 1); } + } // namespace prefs -- 2.25.1 diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index bfcf81c1..d7f54bfa 100644 --- a/build/patches/Disable-PrivacyGuide.patch +++ b/build/patches/Disable-PrivacyGuide.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -483,8 +483,8 @@ BASE_FEATURE(kHaTSDesktopDevToolsIssuesCSP, +@@ -479,8 +479,8 @@ BASE_FEATURE(kHaTSDesktopDevToolsIssuesCSP, // Enables or disables the Happiness Tracking System for Desktop Privacy Guide. BASE_FEATURE(kHappinessTrackingSurveysForDesktopPrivacyGuide, @@ -21,7 +21,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc const base::FeatureParam kHappinessTrackingSurveysForDesktopPrivacyGuideTime{ &kHappinessTrackingSurveysForDesktopPrivacyGuide, "settings-time", -@@ -957,8 +957,8 @@ BASE_FEATURE(kPrerenderFallbackToPreconnect, +@@ -949,8 +949,8 @@ BASE_FEATURE(kPrerenderFallbackToPreconnect, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kPrivacyGuideAndroid, @@ -30,7 +30,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc + "PrivacyGuideAndroid", // always disabled + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite - // Enables or disables push subscriptions keeping Chrome running in the - // background when closed. + #if BUILDFLAG(IS_ANDROID) + BASE_FEATURE(kPrivacyGuideAndroidPostMVP, -- 2.25.1 diff --git a/build/patches/Disable-TLS-resumption.patch b/build/patches/Disable-TLS-resumption.patch index 7a897a6f..dadf04cf 100644 --- a/build/patches/Disable-TLS-resumption.patch +++ b/build/patches/Disable-TLS-resumption.patch @@ -39,7 +39,7 @@ 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 -@@ -5292,6 +5292,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5280,6 +5280,12 @@ const FeatureEntry kFeatureEntries[] = { {"enable-tls13-kyber", flag_descriptions::kEnableTLS13KyberName, flag_descriptions::kEnableTLS13KyberDescription, kOsAll, FEATURE_VALUE_TYPE(net::features::kPostQuantumKyber)}, @@ -55,7 +55,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 -@@ -1029,6 +1029,14 @@ const char kAccessibilityAcceleratorNotificationsTimeoutDescription[] = +@@ -1077,6 +1077,14 @@ const char kAccessibilityAcceleratorNotificationsTimeoutDescription[] = "shortcut (docked magnifier, screen magnifier and high contrast) to time " "out instead of remaining pinned."; @@ -73,7 +73,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 -@@ -585,6 +585,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[]; +@@ -615,6 +615,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[]; extern const char kEnableTLS13EarlyDataName[]; extern const char kEnableTLS13EarlyDataDescription[]; @@ -134,7 +134,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc --- a/net/quic/quic_stream_factory.cc +++ b/net/quic/quic_stream_factory.cc -@@ -73,6 +73,7 @@ +@@ -71,6 +71,7 @@ #include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h" #include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h" #include "third_party/boringssl/src/include/openssl/aead.h" @@ -142,7 +142,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc #include "url/gurl.h" #include "url/scheme_host_port.h" #include "url/url_constants.h" -@@ -199,6 +200,38 @@ std::set HostsFromOrigins(std::set origins) { +@@ -197,6 +198,38 @@ std::set HostsFromOrigins(std::set origins) { } // namespace @@ -181,7 +181,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc // Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many // consumers are using it currently. When the last reference is freed, the // QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it -@@ -2361,7 +2394,7 @@ QuicStreamFactory::CreateCryptoConfigHandle( +@@ -2365,7 +2398,7 @@ QuicStreamFactory::CreateCryptoConfigHandle( sct_auditing_delegate_, HostsFromOrigins(params_.origins_to_force_quic_on), actual_network_anonymization_key), @@ -227,7 +227,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket Disconnect(); } -@@ -781,6 +807,8 @@ int SSLClientSocketImpl::Init() { +@@ -769,6 +795,8 @@ int SSLClientSocketImpl::Init() { } if (session) SSL_set_session(ssl_.get(), session.get()); @@ -236,7 +236,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket } transport_adapter_ = std::make_unique( -@@ -1072,6 +1100,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { +@@ -1060,6 +1088,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { : SSLHandshakeDetails::kTLS13Full; } } @@ -272,7 +272,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); // Measure TLS connections that implement the renegotiation_info extension. -@@ -1753,6 +1810,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { +@@ -1746,6 +1803,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { } bool SSLClientSocketImpl::IsCachingEnabled() const { @@ -284,7 +284,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h --- a/net/socket/ssl_client_socket_impl.h +++ b/net/socket/ssl_client_socket_impl.h -@@ -127,6 +127,8 @@ class SSLClientSocketImpl : public SSLClientSocket, +@@ -126,6 +126,8 @@ class SSLClientSocketImpl : public SSLClientSocket, friend class SSLClientSocket; friend class SSLContext; diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index 3bfa9c29..a6bba36f 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -103,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 -@@ -930,8 +930,8 @@ BASE_FEATURE(kPermissionAuditing, +@@ -922,8 +922,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, @@ -114,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. -@@ -942,8 +942,8 @@ const base::FeatureParam kPermissionPredictionsHoldbackChance( +@@ -934,8 +934,8 @@ const base::FeatureParam kPermissionPredictionsHoldbackChance( // Enables using the prediction service for geolocation permission prompts. BASE_FEATURE(kPermissionGeolocationPredictions, @@ -125,7 +125,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc const base::FeatureParam kPermissionGeolocationPredictionsHoldbackChance( -@@ -959,7 +959,7 @@ BASE_FEATURE(kPluginVm, "PluginVm", base::FEATURE_DISABLED_BY_DEFAULT); +@@ -951,7 +951,7 @@ BASE_FEATURE(kPluginVm, "PluginVm", base::FEATURE_DISABLED_BY_DEFAULT); // Allows Chrome to do preconnect when prerender fails. BASE_FEATURE(kPrerenderFallbackToPreconnect, "PrerenderFallbackToPreconnect", @@ -267,7 +267,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b BASE_FEATURE(kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations, "OptimizationGuideUseContinueOnShutdownForPageContentAnnotations", -@@ -438,7 +434,7 @@ size_t MaxURLKeyedHintCacheSize() { +@@ -456,7 +452,7 @@ size_t MaxURLKeyedHintCacheSize() { bool ShouldPersistHintsToDisk() { return GetFieldTrialParamByFeatureAsBool(kOptimizationHints, @@ -360,7 +360,7 @@ diff --git a/components/permissions/features.cc b/components/permissions/feature diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -240,12 +240,8 @@ BASE_FEATURE(kMixedContentAutoupgrade, +@@ -1101,12 +1101,8 @@ BASE_FEATURE(kMemoryCacheStrongReferenceSingleUnload, // in the first viewport after the page load and the metrics of the clicked // anchor element will be extracted and recorded. BASE_FEATURE(kNavigationPredictor, @@ -374,11 +374,11 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea + base::FEATURE_DISABLED_BY_DEFAULT // in Bromite ); - // Anchor Element Interaction + BASE_FEATURE(kNewBaseUrlInheritanceBehavior, 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 -@@ -2818,7 +2818,7 @@ +@@ -2838,7 +2838,7 @@ { // https://crbug.com/1126305 name: "Prerender2", diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index 28cded91..675a791c 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.patch @@ -10,7 +10,7 @@ Subject: Disable all promo dialogs 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 -@@ -943,6 +943,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -959,6 +959,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo() { diff --git a/build/patches/Disable-crash-reporting.patch b/build/patches/Disable-crash-reporting.patch index b7749877..13e24406 100644 --- a/build/patches/Disable-crash-reporting.patch +++ b/build/patches/Disable-crash-reporting.patch @@ -10,7 +10,7 @@ Subject: Disable crash reporting 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 -@@ -2623,6 +2623,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2627,6 +2627,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::NumberToString(pid)); } #endif @@ -21,7 +21,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch 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 -@@ -281,8 +281,8 @@ BASE_FEATURE(kCooperativeScheduling, +@@ -275,8 +275,8 @@ BASE_FEATURE(kCooperativeScheduling, // Enables crash reporting via Reporting API. // https://www.w3.org/TR/reporting/#crash-report BASE_FEATURE(kCrashReporting, diff --git a/build/patches/Disable-fetching-of-all-field-trials.patch b/build/patches/Disable-fetching-of-all-field-trials.patch index ef9cf6fa..92e71526 100644 --- a/build/patches/Disable-fetching-of-all-field-trials.patch +++ b/build/patches/Disable-fetching-of-all-field-trials.patch @@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn --- a/android_webview/nonembedded/BUILD.gn +++ b/android_webview/nonembedded/BUILD.gn -@@ -101,7 +101,6 @@ android_library("services_java") { +@@ -100,7 +100,6 @@ android_library("services_java") { sources = [ "java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java", "java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java", @@ -37,7 +37,7 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/ "java/src/org/chromium/android_webview/services/ComponentUpdaterResetSafeModeAction.java", "java/src/org/chromium/android_webview/services/ComponentUpdaterSafeModeUtils.java", "java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java", -@@ -120,7 +119,6 @@ android_library("services_java") { +@@ -119,7 +118,6 @@ android_library("services_java") { "java/src/org/chromium/android_webview/services/SafeModeService.java", "java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java", "java/src/org/chromium/android_webview/services/StartupFeatureMetadataHolder.java", @@ -117,7 +117,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java --- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java -@@ -431,35 +431,13 @@ public class VariationsSeedFetcher { +@@ -451,35 +451,13 @@ public class VariationsSeedFetcher { */ public void fetchSeed(String restrictMode, String milestone, String channel) { assert !ThreadUtils.runningOnUiThread(); @@ -157,7 +157,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari } private void recordFetchResultOrCode(int resultOrCode) { -@@ -503,7 +481,7 @@ public class VariationsSeedFetcher { +@@ -523,7 +501,7 @@ public class VariationsSeedFetcher { * @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header. * @return the object holds the request result and seed data with its related header fields. */ @@ -277,7 +277,7 @@ diff --git a/content/browser/origin_trials/origin_trials_utils.cc b/content/brow 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 -@@ -809,8 +809,8 @@ BASE_FEATURE(kPepperCrossOriginRedirectRestriction, +@@ -791,8 +791,8 @@ BASE_FEATURE(kPepperCrossOriginRedirectRestriction, // things before receiving the response, for instance it can affect the next // navigation's network request. BASE_FEATURE(kPersistentOriginTrials, @@ -310,7 +310,7 @@ diff --git a/content/renderer/variations_render_thread_observer.cc b/content/ren diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -187,13 +187,6 @@ Vector CopyInitiatorOriginTrials( +@@ -188,13 +188,6 @@ Vector CopyInitiatorOriginTrials( WebVector CopyInitiatorOriginTrials( const Vector& initiator_origin_trial_features) { WebVector result; diff --git a/build/patches/Disable-lock-icon-in-address-bar-by-default.patch b/build/patches/Disable-lock-icon-in-address-bar-by-default.patch index 5afefd49..adb53e9e 100644 --- a/build/patches/Disable-lock-icon-in-address-bar-by-default.patch +++ b/build/patches/Disable-lock-icon-in-address-bar-by-default.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc --- a/components/omnibox/common/omnibox_features.cc +++ b/components/omnibox/common/omnibox_features.cc -@@ -605,8 +605,8 @@ BASE_FEATURE(kSiteSearchStarterPack, +@@ -603,8 +603,8 @@ BASE_FEATURE(kOmniboxModernizeVisualUpdate, // Experiment to introduce new security indicators for HTTPS. BASE_FEATURE(kUpdatedConnectionSecurityIndicators, diff --git a/build/patches/Disable-plugins-enumeration.patch b/build/patches/Disable-plugins-enumeration.patch index b96de957..d13afd45 100644 --- a/build/patches/Disable-plugins-enumeration.patch +++ b/build/patches/Disable-plugins-enumeration.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -2004,9 +2004,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2057,9 +2057,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { } PluginData* LocalFrame::GetPluginData() const { diff --git a/build/patches/Disable-safety-check.patch b/build/patches/Disable-safety-check.patch index 63538a96..c2585ac7 100644 --- a/build/patches/Disable-safety-check.patch +++ b/build/patches/Disable-safety-check.patch @@ -4,37 +4,37 @@ Subject: Disable safety check 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 - - chrome/android/java/res/xml/main_preferences.xml | 5 ----- - .../chrome/browser/settings/SettingsActivity.java | 8 -------- - .../chrome/browser/settings/SettingsLauncherImpl.java | 5 +---- - chrome/browser/BUILD.gn | 1 - - .../browser/omnibox/suggestions/action/OmniboxPedal.java | 3 --- - 7 files changed, 1 insertion(+), 27 deletions(-) + chrome/android/BUILD.gn | 5 ----- + chrome/android/chrome_java_sources.gni | 1 - + chrome/android/java/res/xml/main_preferences.xml | 5 ----- + .../chrome/browser/settings/SettingsActivity.java | 9 --------- + .../chrome/browser/settings/SettingsLauncherImpl.java | 5 +---- + chrome/browser/BUILD.gn | 1 - + .../browser/omnibox/suggestions/action/OmniboxPedal.java | 3 --- + 7 files changed, 1 insertion(+), 28 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -362,7 +362,6 @@ if (current_toolchain == default_toolchain) { - "//chrome/browser/recent_tabs:factory_java", +@@ -370,7 +370,6 @@ if (current_toolchain == default_toolchain) { + "//chrome/browser/recent_tabs:helper_java", "//chrome/browser/recent_tabs:java", "//chrome/browser/safe_browsing/android:java", - "//chrome/browser/safety_check/android:java", "//chrome/browser/search_engines/android:java", "//chrome/browser/search_resumption:java", "//chrome/browser/segmentation_platform:factory_java", -@@ -957,8 +956,6 @@ if (current_toolchain == default_toolchain) { - "//chrome/browser/quick_delete:junit", +@@ -975,8 +974,6 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/recent_tabs:java", + "//chrome/browser/recent_tabs:junit", "//chrome/browser/recent_tabs/internal:junit", - "//chrome/browser/safety_check/android:java", - "//chrome/browser/safety_check/android:junit", "//chrome/browser/search_engines/android:java", "//chrome/browser/search_resumption:junit", "//chrome/browser/segmentation_platform:factory_java", -@@ -1530,8 +1527,6 @@ if (current_toolchain == default_toolchain) { - "//chrome/browser/quick_delete:javatests", +@@ -1553,8 +1550,6 @@ if (current_toolchain == default_toolchain) { + "//chrome/browser/recent_tabs/internal:javatests", "//chrome/browser/safe_browsing/android:java", "//chrome/browser/safe_browsing/android:javatests", - "//chrome/browser/safety_check/android:java", @@ -45,7 +45,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 -@@ -986,7 +986,6 @@ chrome_java_sources = [ +@@ -977,7 +977,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", @@ -71,7 +71,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j 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 -@@ -62,9 +62,6 @@ import org.chromium.chrome.browser.privacy_sandbox.AdMeasurementFragment; +@@ -63,9 +63,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; @@ -81,14 +81,15 @@ 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; -@@ -448,11 +445,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -475,12 +472,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity fragmentHelpAndFeedbackLauncher.setHelpAndFeedbackLauncher( HelpAndFeedbackLauncherImpl.getForProfile(mProfile)); } - if (fragment instanceof SafetyCheckSettingsFragment) { - SafetyCheckCoordinator.create((SafetyCheckSettingsFragment) fragment, - new SafetyCheckUpdatesDelegateImpl(), mSettingsLauncher, -- SyncConsentActivityLauncherImpl.get(), getModalDialogManagerSupplier()); +- SyncConsentActivityLauncherImpl.get(), getModalDialogManagerSupplier(), +- SyncServiceFactory.getForProfile(mProfile)); - } if (fragment instanceof PasswordCheckFragmentView) { PasswordCheckComponentUiFactory.create((PasswordCheckFragmentView) fragment, @@ -118,7 +119,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 -@@ -3325,7 +3325,6 @@ static_library("browser") { +@@ -3311,7 +3311,6 @@ static_library("browser") { "//chrome/browser/reading_list/android", "//chrome/browser/recent_tabs:jni_headers", "//chrome/browser/safe_browsing/android:safe_browsing_enums", diff --git a/build/patches/Disable-some-signed-exchange-features.patch b/build/patches/Disable-some-signed-exchange-features.patch index 595c47e6..6198459e 100644 --- a/build/patches/Disable-some-signed-exchange-features.patch +++ b/build/patches/Disable-some-signed-exchange-features.patch @@ -27,7 +27,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c + "SignedHTTPExchange", // must be disabled + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite - // Delays RenderProcessHost shutdown by a few seconds to allow the subframe's - // process to be potentially reused. This aims to reduce process churn in + // If enabled, GetUserMedia API will only work when the concerned tab is in + // focus -- 2.25.1 diff --git a/build/patches/Disable-text-fragments-by-default.patch b/build/patches/Disable-text-fragments-by-default.patch index ead5bae0..2937fcf0 100644 --- a/build/patches/Disable-text-fragments-by-default.patch +++ b/build/patches/Disable-text-fragments-by-default.patch @@ -22,7 +22,7 @@ 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 -@@ -6761,6 +6761,11 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6770,6 +6770,11 @@ const FeatureEntry kFeatureEntries[] = { "")}, #endif @@ -37,7 +37,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -2899,6 +2899,11 @@ +@@ -3018,6 +3018,11 @@ "owners": [ "robsc", "napper", "alanlxl" ], "expiry_milestone": 130 }, @@ -52,7 +52,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js 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 -@@ -1365,6 +1365,10 @@ extern const char kDropInputEventsBeforeFirstPaintDescription[] = +@@ -1432,6 +1432,10 @@ extern const char kDropInputEventsBeforeFirstPaintDescription[] = "intentionally interact with elements on that page. By dropping the events " "we prevent accidental interaction with a page the user has not seen yet."; @@ -66,7 +66,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 -@@ -759,6 +759,9 @@ extern const char kExperimentalRgbKeyboardPatternsDescription[]; +@@ -798,6 +798,9 @@ extern const char kExperimentalRgbKeyboardPatternsDescription[]; extern const char kRetailCouponsName[]; extern const char kRetailCouponsDescription[]; @@ -91,7 +91,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -292,6 +292,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -294,6 +294,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { raw_ref(autofill::features::kAutofillSharedAutofill)}, {wf::EnableTouchDragAndContextMenu, raw_ref(features::kTouchDragAndContextMenu)}, @@ -103,9 +103,9 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -496,6 +496,11 @@ BASE_FEATURE(kDroppedTouchSequenceIncludesTouchEnd, - "DroppedTouchSequenceIncludesTouchEnd", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -740,6 +740,11 @@ BASE_FEATURE(kFastPathPaintPropertyUpdates, + // trials. + BASE_FEATURE(kFencedFrames, "FencedFrames", base::FEATURE_DISABLED_BY_DEFAULT); +// Enable text snippets in URL fragments. https://crbug.com/919204. +BASE_FEATURE(kTextFragmentAnchor, @@ -118,18 +118,18 @@ 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 -@@ -224,6 +224,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeJpeg420ImagesToYUV); - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeLossyWebPImagesToYUV); +@@ -343,6 +343,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDispatchBeforeUnloadOnFreeze); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDisplayLocking); - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebFontsCacheAwareTimeoutAdaption); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDropInputEventsBeforeFirstPaint); +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kTextFragmentAnchor); - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioWorkletThreadRealtimePriority); - BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebAudioSinkSelection); + BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDroppedTouchSequenceIncludesTouchEnd); + diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -4351,9 +4351,14 @@ void Document::SetURL(const KURL& url) { +@@ -4396,9 +4396,14 @@ void Document::SetURL(const KURL& url) { TRACE_EVENT1("navigation", "Document::SetURL", "url", new_url.GetString().Utf8()); @@ -147,7 +147,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink 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 -@@ -3495,10 +3495,9 @@ +@@ -3510,10 +3510,9 @@ }, { name: "TextFragmentIdentifiers", diff --git a/build/patches/Disable-third-party-origin-trials.patch b/build/patches/Disable-third-party-origin-trials.patch index 2337c157..aa2a1d33 100644 --- a/build/patches/Disable-third-party-origin-trials.patch +++ b/build/patches/Disable-third-party-origin-trials.patch @@ -62,7 +62,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -8294,7 +8294,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() { +@@ -8195,7 +8195,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() { void NavigationRequest::ForceEnableOriginTrials( const std::vector& trials) { DCHECK(!HasCommitted()); @@ -73,7 +73,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -473,10 +473,6 @@ void FillNavigationParamsRequest( +@@ -474,10 +474,6 @@ void FillNavigationParamsRequest( common_params.initiator_origin.value(); } @@ -84,7 +84,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra navigation_params->was_discarded = commit_params.was_discarded; navigation_params->document_ukm_source_id = commit_params.document_ukm_source_id; -@@ -504,12 +500,6 @@ void FillNavigationParamsRequest( +@@ -505,12 +501,6 @@ void FillNavigationParamsRequest( navigation_params->had_transient_user_activation = common_params.has_user_gesture; @@ -97,7 +97,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra if (!commit_params.early_hints_preloaded_resources.empty()) { navigation_params->early_hints_preloaded_resources = WebVector(); for (const auto& resource : commit_params.early_hints_preloaded_resources) { -@@ -571,11 +561,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -572,11 +562,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.GetURLRequestExtraData().get()); DCHECK(url_request_extra_data); @@ -109,7 +109,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra blink::NavigationDownloadPolicy download_policy; download_policy.ApplyDownloadFramePolicy( info->is_opener_navigation, info->url_request.HasUserGesture(), -@@ -598,7 +583,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -599,7 +584,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.HasUserGesture(), info->url_request.HasTextFragmentToken(), info->should_check_main_world_content_security_policy, @@ -150,7 +150,7 @@ diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/c diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/third_party/blink/common/origin_trials/trial_token_validator.cc --- a/third_party/blink/common/origin_trials/trial_token_validator.cc +++ b/third_party/blink/common/origin_trials/trial_token_validator.cc -@@ -401,6 +401,7 @@ TrialTokenValidator::GetValidTokens(const url::Origin& origin, +@@ -425,6 +425,7 @@ TrialTokenValidator::GetValidTokens(const url::Origin& origin, // static bool TrialTokenValidator::IsTrialPossibleOnOrigin(const GURL& url) { @@ -161,7 +161,7 @@ diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/t diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -174,13 +174,6 @@ BASE_FEATURE(kLoadNotificationsForSameDocumentNavigations, +@@ -175,13 +175,6 @@ BASE_FEATURE(kLoadNotificationsForSameDocumentNavigations, Vector CopyInitiatorOriginTrials( const WebVector& initiator_origin_trial_features) { Vector result; @@ -175,7 +175,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } -@@ -193,18 +186,12 @@ WebVector CopyInitiatorOriginTrials( +@@ -194,18 +187,12 @@ WebVector CopyInitiatorOriginTrials( Vector CopyForceEnabledOriginTrials( const WebVector& force_enabled_origin_trials) { Vector result; @@ -194,7 +194,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } -@@ -2764,10 +2751,6 @@ void DocumentLoader::CreateParserPostCommit() { +@@ -2777,10 +2764,6 @@ void DocumentLoader::CreateParserPostCommit() { OriginTrialFeature::kTouchEventFeatureDetection); } diff --git a/build/patches/Disable-various-metrics.patch b/build/patches/Disable-various-metrics.patch index b298f2e3..9bdb9dda 100644 --- a/build/patches/Disable-various-metrics.patch +++ b/build/patches/Disable-various-metrics.patch @@ -89,7 +89,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.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 -@@ -1042,7 +1042,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -1020,7 +1020,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { #endif // BUILDFLAG(IS_CHROMEOS_ASH) registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, @@ -101,7 +101,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 -@@ -76,7 +76,6 @@ +@@ -78,7 +78,6 @@ #include "chrome/browser/hid/chrome_hid_delegate.h" #include "chrome/browser/interstitials/enterprise_util.h" #include "chrome/browser/lifetime/browser_shutdown.h" @@ -109,7 +109,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #include "chrome/browser/media/audio_service_util.h" #include "chrome/browser/media/router/media_router_feature.h" #include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h" -@@ -4852,16 +4851,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -4895,16 +4894,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( content::NavigationHandle* handle) { std::vector> throttles; @@ -126,7 +126,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(ENABLE_SUPERVISED_USERS) MaybeAddThrottle( SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle), -@@ -4940,10 +4929,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -4983,10 +4972,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles); } diff --git a/build/patches/Do-not-build-API-keys-infobar.patch b/build/patches/Do-not-build-API-keys-infobar.patch index 2efae206..ab637191 100644 --- a/build/patches/Do-not-build-API-keys-infobar.patch +++ b/build/patches/Do-not-build-API-keys-infobar.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -1398,8 +1398,6 @@ static_library("ui") { +@@ -1417,8 +1417,6 @@ static_library("ui") { "singleton_tabs.h", "startup/automation_infobar_delegate.cc", "startup/automation_infobar_delegate.h", diff --git a/build/patches/Do-not-compile-QR-code-sharing.patch b/build/patches/Do-not-compile-QR-code-sharing.patch index 66c2d458..2d9515e1 100644 --- a/build/patches/Do-not-compile-QR-code-sharing.patch +++ b/build/patches/Do-not-compile-QR-code-sharing.patch @@ -4,18 +4,18 @@ Subject: Do not compile QR code sharing License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../chrome/browser/ui/RootUiCoordinator.java | 5 ----- - chrome/browser/share/BUILD.gn | 2 -- - chrome/browser/share/android/BUILD.gn | 1 - - ...romeProvidedSharingOptionsProviderBase.java | 18 ------------------ - .../qrcode/scan_tab/QrCodeScanMediator.java | 11 ----------- - chrome/browser/share/android/java_sources.gni | 18 ------------------ - 6 files changed, 55 deletions(-) + .../chrome/browser/ui/RootUiCoordinator.java | 5 ----- + chrome/browser/share/BUILD.gn | 2 -- + chrome/browser/share/android/BUILD.gn | 1 - + ...omeProvidedSharingOptionsProviderBase.java | 19 ------------------- + .../qrcode/scan_tab/QrCodeScanMediator.java | 11 ----------- + chrome/browser/share/android/java_sources.gni | 18 ------------------ + 6 files changed, 56 deletions(-) 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 -@@ -106,7 +106,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; +@@ -107,7 +107,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin; import org.chromium.chrome.browser.share.ShareUtils; @@ -23,7 +23,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager; import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler; import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController; -@@ -520,10 +519,6 @@ public class RootUiCoordinator +@@ -527,10 +526,6 @@ public class RootUiCoordinator } public void onAttachFragment(Fragment fragment) { @@ -60,7 +60,7 @@ diff --git a/chrome/browser/share/android/BUILD.gn b/chrome/browser/share/androi diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java --- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java +++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ChromeProvidedSharingOptionsProviderBase.java -@@ -25,7 +25,6 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ChromeShareExtras.DetailedContentType; import org.chromium.chrome.browser.share.ShareContentTypeHelper.ContentType; @@ -68,7 +68,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfAndroidBridge; import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator; import org.chromium.chrome.browser.share.share_sheet.ChromeOptionShareCallback; -@@ -291,9 +290,6 @@ public abstract class ChromeProvidedSharingOptionsProviderBase { +@@ -288,9 +287,6 @@ public abstract class ChromeProvidedSharingOptionsProviderBase { } private void maybeAddQrCodeFirstPartyOption() { @@ -78,14 +78,15 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s } private void maybeAddScreenshotFirstPartyOption() { -@@ -434,20 +430,6 @@ public abstract class ChromeProvidedSharingOptionsProviderBase { +@@ -442,21 +438,6 @@ public abstract class ChromeProvidedSharingOptionsProviderBase { .build(); } - private FirstPartyOption createQrCodeFirstPartyOption() { - return new FirstPartyOptionBuilder( - ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE, ContentType.IMAGE) -- .setDetailedContentTypesToDisableFor(DetailedContentType.WEB_NOTES) +- .setDetailedContentTypesToDisableFor( +- DetailedContentType.WEB_NOTES, DetailedContentType.SCREENSHOT) - .setIcon(R.drawable.qr_code, R.string.qr_code_share_icon_label) - .setFeatureNameForMetrics(USER_ACTION_QR_CODE_SELECTED) - .setOnClickCallback((view) -> { diff --git a/build/patches/Do-not-hide-component-extensions.patch b/build/patches/Do-not-hide-component-extensions.patch index c35748ed..f9271eb1 100644 --- a/build/patches/Do-not-hide-component-extensions.patch +++ b/build/patches/Do-not-hide-component-extensions.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/extensions/browser/api/management/management_api.cc b/extensions/browser/api/management/management_api.cc --- a/extensions/browser/api/management/management_api.cc +++ b/extensions/browser/api/management/management_api.cc -@@ -70,7 +70,8 @@ AutoConfirmForTest auto_confirm_for_test = DO_NOT_SKIP; +@@ -73,7 +73,8 @@ AutoConfirmForTest auto_confirm_for_test = DO_NOT_SKIP; // Returns true if the extension should be exposed via the chrome.management // API. bool ShouldExposeViaManagementAPI(const Extension& extension) { diff --git a/build/patches/Do-not-link-with-libatomic.patch b/build/patches/Do-not-link-with-libatomic.patch index c2749069..e2020c68 100644 --- a/build/patches/Do-not-link-with-libatomic.patch +++ b/build/patches/Do-not-link-with-libatomic.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -1101,7 +1101,7 @@ component("base") { +@@ -1152,7 +1152,7 @@ component("base") { # more robust check for this. if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) && host_toolchain != "//build/toolchain/cros:host") { diff --git a/build/patches/DoH-improvements.patch b/build/patches/DoH-improvements.patch index d6af5c6b..5604952b 100644 --- a/build/patches/DoH-improvements.patch +++ b/build/patches/DoH-improvements.patch @@ -82,7 +82,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -3191,6 +3191,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) { +@@ -3141,6 +3141,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) { bool changed = dns_client_->SetConfigOverrides(std::move(overrides)); if (changed) { diff --git a/build/patches/Enable-Certificate-Transparency.patch b/build/patches/Enable-Certificate-Transparency.patch index 0bf1135d..59ce7572 100644 --- a/build/patches/Enable-Certificate-Transparency.patch +++ b/build/patches/Enable-Certificate-Transparency.patch @@ -24,7 +24,7 @@ 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 -@@ -9386,6 +9386,13 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9395,6 +9395,13 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebMidiDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebMidi)}, @@ -55,7 +55,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 -@@ -7214,6 +7214,10 @@ const char kAutofillCreditCardUploadDescription[] = +@@ -7360,6 +7360,10 @@ const char kAutofillCreditCardUploadDescription[] = #endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) @@ -69,7 +69,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 -@@ -4180,6 +4180,9 @@ extern const char kAutofillCreditCardUploadDescription[]; +@@ -4258,6 +4258,9 @@ extern const char kAutofillCreditCardUploadDescription[]; #endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) @@ -82,7 +82,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 -@@ -916,7 +916,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( +@@ -901,7 +901,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { if (certificate_transparency_enabled_for_testing_.has_value()) return certificate_transparency_enabled_for_testing_.value(); @@ -90,7 +90,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. -@@ -930,9 +929,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { +@@ -915,9 +914,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { #else return true; #endif // BUILDFLAG(IS_ANDROID) @@ -118,7 +118,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 -@@ -1032,11 +1032,7 @@ BASE_FEATURE(kSchedulerConfiguration, +@@ -1025,11 +1025,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. @@ -169,7 +169,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 -@@ -2593,7 +2593,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2613,7 +2613,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/Enable-ECH-by-default.patch b/build/patches/Enable-ECH-by-default.patch index 793fdc0f..1e6f7aa7 100644 --- a/build/patches/Enable-ECH-by-default.patch +++ b/build/patches/Enable-ECH-by-default.patch @@ -25,7 +25,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc + "EncryptedClientHelloQuic", // enabled + base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite - BASE_FEATURE(kNetworkQualityEstimator, - "NetworkQualityEstimator", + // TODO(crbug.com/795089): Enable this feature. + BASE_FEATURE(kRSAKeyUsageForLocalAnchors, -- 2.25.1 diff --git a/build/patches/Enable-HEVC-by-default.patch b/build/patches/Enable-HEVC-by-default.patch index 266b7999..9a683f5a 100644 --- a/build/patches/Enable-HEVC-by-default.patch +++ b/build/patches/Enable-HEVC-by-default.patch @@ -21,7 +21,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc + "PlatformHEVCDecoderSupport", // must be enabled + base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) // Enables HEVC hardware accelerated encoding for Windows and Mac. -- 2.25.1 diff --git a/build/patches/Enable-PermuteTLSExtensions-by-default.patch b/build/patches/Enable-PermuteTLSExtensions-by-default.patch index d78af467..fef6d579 100644 --- a/build/patches/Enable-PermuteTLSExtensions-by-default.patch +++ b/build/patches/Enable-PermuteTLSExtensions-by-default.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -143,8 +143,8 @@ BASE_FEATURE(kTLS13KeyUpdate, +@@ -148,8 +148,8 @@ BASE_FEATURE(kTLS13KeyUpdate, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kPermuteTLSExtensions, diff --git a/build/patches/Enable-darken-websites-checkbox-in-themes.patch b/build/patches/Enable-darken-websites-checkbox-in-themes.patch index 8996b04b..f03edb84 100644 --- a/build/patches/Enable-darken-websites-checkbox-in-themes.patch +++ b/build/patches/Enable-darken-websites-checkbox-in-themes.patch @@ -13,8 +13,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -1348,9 +1348,9 @@ - "expiry_milestone": 120 +@@ -1427,9 +1427,9 @@ + "expiry_milestone": 125 }, { - "name": "darken-websites-checkbox-in-themes-setting", diff --git a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch index 33a966d3..ebd1733e 100644 --- a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch +++ b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch @@ -45,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -377,6 +377,10 @@ config("compiler") { +@@ -378,6 +378,10 @@ config("compiler") { } } diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 8aaf28c6..2f3b94ed 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -54,7 +54,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -384,6 +384,7 @@ if (current_toolchain == default_toolchain) { +@@ -392,6 +392,7 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/ui/android/favicon:java", "//chrome/browser/ui/android/layouts:java", "//chrome/browser/ui/android/layouts/glue:java", @@ -65,7 +65,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java -@@ -58,6 +58,11 @@ import java.lang.annotation.Retention; +@@ -60,6 +60,11 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Locale; @@ -77,18 +77,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage /** * The "Passwords" screen in Settings, which allows the user to enable or disable password saving, * to view saved passwords (just the username and URL), and to delete saved passwords. -@@ -65,7 +70,7 @@ import java.util.Locale; +@@ -67,7 +72,7 @@ import java.util.Locale; public class PasswordSettings extends PreferenceFragmentCompat - implements PasswordManagerHandler.PasswordListObserver, - Preference.OnPreferenceClickListener, SyncService.SyncStateChangedListener, -- FragmentHelpAndFeedbackLauncher { -+ FragmentHelpAndFeedbackLauncher, INeedSnackbarManager { + implements PasswordListObserver, Preference.OnPreferenceClickListener, + SyncService.SyncStateChangedListener, FragmentHelpAndFeedbackLauncher, +- ProfileDependentSetting { ++ ProfileDependentSetting, INeedSnackbarManager { @IntDef({TrustedVaultBannerState.NOT_SHOWN, TrustedVaultBannerState.OFFER_OPT_IN, TrustedVaultBannerState.OPTED_IN}) @Retention(RetentionPolicy.SOURCE) @@ -94,6 +99,12 @@ public class PasswordSettings extends PreferenceFragmentCompat - public static final String PASSWORD_EXPORT_EVENT_HISTOGRAM = - "PasswordManager.PasswordExport.Event"; + public static final String PREF_TRUSTED_VAULT_BANNER = "trusted_vault_banner"; + public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link"; + public static final String PREF_ANDROID_AUTOFILL_SWITCH = "android_autofill_switch"; + public static final String PREF_ANDROID_AUTOFILL_INCOGNITO_SWITCH = "android_autofill_incognito_switch"; @@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage private static final String PREF_KEY_CATEGORY_SAVED_PASSWORDS = "saved_passwords"; private static final String PREF_KEY_CATEGORY_EXCEPTIONS = "exceptions"; private static final String PREF_KEY_SAVED_PASSWORDS_NO_TEXT = "saved_passwords_no_text"; -@@ -124,6 +135,8 @@ public class PasswordSettings extends PreferenceFragmentCompat +@@ -129,6 +140,8 @@ public class PasswordSettings extends PreferenceFragmentCompat private Preference mLinkPref; private Menu mMenu; @@ -107,8 +107,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage + private ChromeSwitchPreference mEnableAndroidAutofillIncognitoSwitch; private @ManagePasswordsReferrer int mManagePasswordsReferrer; private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher; - -@@ -292,6 +305,7 @@ public class PasswordSettings extends PreferenceFragmentCompat + private Profile mProfile; +@@ -304,6 +317,7 @@ public class PasswordSettings extends PreferenceFragmentCompat } createSavePasswordsSwitch(); @@ -116,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage createAutoSignInCheckbox(); if (mTrustedVaultBannerState == TrustedVaultBannerState.OPTED_IN) { -@@ -529,6 +543,71 @@ public class PasswordSettings extends PreferenceFragmentCompat +@@ -557,6 +571,71 @@ public class PasswordSettings extends PreferenceFragmentCompat getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE)); } @@ -191,7 +191,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java -@@ -75,6 +75,17 @@ import org.chromium.ui.base.WindowAndroid; +@@ -76,6 +76,17 @@ import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.util.ColorUtils; import org.chromium.url.GURL; @@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. * This class is not intended to be extended. -@@ -213,6 +224,8 @@ public class TabImpl implements Tab { +@@ -212,6 +223,8 @@ public class TabImpl implements Tab { private boolean mUsedCriticalPersistedTabData; private boolean mIsWebContentObscured; @@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Creates an instance of a {@link TabImpl}. * -@@ -796,6 +809,11 @@ public class TabImpl implements Tab { +@@ -795,6 +808,11 @@ public class TabImpl implements Tab { for (TabObserver observer : mObservers) observer.onDestroyed(this); mObservers.clear(); @@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mUserDataHost.destroy(); mTabViewManager.destroy(); hideNativePage(false, null); -@@ -1401,6 +1419,16 @@ public class TabImpl implements Tab { +@@ -1400,6 +1418,16 @@ public class TabImpl implements Tab { return tabsPtrArray; } @@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Initializes the {@link WebContents}. Completes the browser content components initialization * around a native WebContents pointer. -@@ -1450,6 +1478,27 @@ public class TabImpl implements Tab { +@@ -1449,6 +1477,27 @@ public class TabImpl implements Tab { mDelegateFactory.createContextMenuPopulatorFactory(this), this)); mWebContents.notifyRendererPreferenceUpdate(); @@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav TabHelpers.initWebContentsHelpers(this); notifyContentChanged(); } finally { -@@ -1792,6 +1841,7 @@ public class TabImpl implements Tab { +@@ -1790,6 +1839,7 @@ public class TabImpl implements Tab { void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title); void loadOriginalImage(long nativeTabAndroid); boolean handleNonNavigationAboutURL(GURL url); @@ -317,7 +317,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndr diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2511,6 +2511,13 @@ static_library("browser") { +@@ -2524,6 +2524,13 @@ static_library("browser") { deps += [ "//chrome/browser/error_reporting" ] } @@ -391,7 +391,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc --- a/chrome/browser/ui/autofill/chrome_autofill_client.cc +++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -1172,7 +1172,13 @@ ChromeAutofillClient::ChromeAutofillClient(content::WebContents* web_contents) +@@ -1188,7 +1188,13 @@ ChromeAutofillClient::ChromeAutofillClient(content::WebContents* web_contents) web_contents, base::BindRepeating(&BrowserDriverInitHook, this, @@ -439,7 +439,7 @@ diff --git a/components/android_autofill/browser/android_autofill_manager.h b/co diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc --- a/components/autofill/content/browser/content_autofill_driver.cc +++ b/components/autofill/content/browser/content_autofill_driver.cc -@@ -389,6 +389,8 @@ void ContentAutofillDriver::FormsSeen( +@@ -400,6 +400,8 @@ void ContentAutofillDriver::FormsSeen( const std::vector& removed_forms) { target->autofill_manager_->OnFormsSeen(WithNewVersion(updated_forms), removed_forms); @@ -448,7 +448,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -416,6 +418,8 @@ void ContentAutofillDriver::FormSubmitted( +@@ -427,6 +429,8 @@ void ContentAutofillDriver::FormSubmitted( } target->autofill_manager_->OnFormSubmitted( WithNewVersion(form), known_success, submission_source); @@ -457,7 +457,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -437,6 +441,8 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form, +@@ -448,6 +452,8 @@ void ContentAutofillDriver::TextFieldDidChange(const FormData& raw_form, base::TimeTicks timestamp) { target->autofill_manager_->OnTextFieldDidChange( WithNewVersion(form), field, bounding_box, timestamp); @@ -466,7 +466,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -456,6 +462,8 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form, +@@ -467,6 +473,8 @@ void ContentAutofillDriver::TextFieldDidScroll(const FormData& raw_form, const FormFieldData& field, const gfx::RectF& bounding_box) { target->autofill_manager_->OnTextFieldDidScroll(WithNewVersion(form), field, bounding_box); @@ -475,7 +475,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -476,6 +484,8 @@ void ContentAutofillDriver::SelectControlDidChange( +@@ -487,6 +495,8 @@ void ContentAutofillDriver::SelectControlDidChange( const FormFieldData& field, const gfx::RectF& bounding_box) { target->autofill_manager_->OnSelectControlDidChange( WithNewVersion(form), field, bounding_box); @@ -484,10 +484,10 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -502,6 +512,10 @@ void ContentAutofillDriver::AskForValuesToFill( +@@ -509,6 +519,10 @@ void ContentAutofillDriver::AskForValuesToFill( + AutofillSuggestionTriggerSource trigger_source) { target->autofill_manager_->OnAskForValuesToFill( - WithNewVersion(form), field, bounding_box, - autoselect_first_suggestion, form_element_was_clicked); + WithNewVersion(form), field, bounding_box, trigger_source); + if (target->secondary_autofill_manager_) + target->secondary_autofill_manager_->OnAskForValuesToFill(form, field, bounding_box, + autoselect_first_suggestion, @@ -495,7 +495,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -513,12 +527,16 @@ void ContentAutofillDriver::HidePopup() { +@@ -520,12 +534,16 @@ void ContentAutofillDriver::HidePopup() { DCHECK(!target->IsPrerendering()) << "We should never affect UI while prerendering"; target->autofill_manager_->OnHidePopup(); @@ -512,7 +512,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co } void ContentAutofillDriver::FocusNoLongerOnForm(bool had_interacted_form) { -@@ -548,6 +566,8 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form, +@@ -555,6 +573,8 @@ void ContentAutofillDriver::FocusOnFormField(const FormData& raw_form, const FormFieldData& field, const gfx::RectF& bounding_box) { target->autofill_manager_->OnFocusOnFormField(WithNewVersion(form), field, bounding_box); @@ -521,7 +521,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -562,6 +582,8 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form, +@@ -569,6 +589,8 @@ void ContentAutofillDriver::DidFillAutofillFormData(const FormData& raw_form, base::TimeTicks timestamp) { target->autofill_manager_->OnDidFillAutofillFormData( WithNewVersion(form), timestamp); @@ -530,7 +530,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -572,6 +594,8 @@ void ContentAutofillDriver::DidPreviewAutofillFormData() { +@@ -579,6 +601,8 @@ void ContentAutofillDriver::DidPreviewAutofillFormData() { autofill_router().DidPreviewAutofillFormData( this, [](ContentAutofillDriver* target) { target->autofill_manager_->OnDidPreviewAutofillFormData(); @@ -539,7 +539,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -582,6 +606,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() { +@@ -589,6 +613,8 @@ void ContentAutofillDriver::DidEndTextFieldEditing() { autofill_router().DidEndTextFieldEditing( this, [](ContentAutofillDriver* target) { target->autofill_manager_->OnDidEndTextFieldEditing(); @@ -548,7 +548,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -595,6 +621,8 @@ void ContentAutofillDriver::SelectFieldOptionsDidChange( +@@ -602,6 +628,8 @@ void ContentAutofillDriver::SelectFieldOptionsDidChange( [](ContentAutofillDriver* target, const FormData& form) { target->autofill_manager_->OnSelectFieldOptionsDidChange( WithNewVersion(form)); @@ -557,7 +557,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }); } -@@ -642,6 +670,8 @@ void ContentAutofillDriver::Reset() { +@@ -649,6 +677,8 @@ void ContentAutofillDriver::Reset() { owner_->autofill_router().UnregisterDriver(this, /*driver_is_dying=*/false); autofill_manager_->Reset(); @@ -584,7 +584,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; } const content::RenderFrameHost* render_frame_host() const { -@@ -335,6 +338,10 @@ class ContentAutofillDriver : public AutofillDriver, +@@ -336,6 +339,10 @@ class ContentAutofillDriver : public AutofillDriver, std::unique_ptr autofill_manager_ = nullptr; @@ -650,11 +650,11 @@ diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/c + agent->TrackAutofilledElement(element); } - bool PasswordAutofillAgent::FillSuggestion( + void PasswordAutofillAgent::FillPasswordSuggestion( diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc -@@ -120,6 +120,10 @@ const char kAutofillPaymentMethodsMandatoryReauthPromoShownCounter[] = +@@ -126,6 +126,10 @@ const char kAutofillPaymentMethodsMandatoryReauthPromoShownCounter[] = "autofill.payment_methods_mandatory_reauth_promo_counter"; #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) @@ -665,7 +665,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { // Synced prefs. Used for cross-device choices, e.g., credit card Autofill. registry->RegisterBooleanPref( -@@ -149,6 +153,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -158,6 +162,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { prefs::kAutofillCreditCardFidoAuthOfferCheckboxState, true); #endif registry->RegisterBooleanPref(prefs::kAutofillWalletImportEnabled, true); @@ -677,7 +677,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h --- a/components/autofill/core/common/autofill_prefs.h +++ b/components/autofill/core/common/autofill_prefs.h -@@ -45,6 +45,8 @@ extern const char kAutofillUploadEvents[]; +@@ -46,6 +46,8 @@ extern const char kAutofillUploadEvents[]; extern const char kAutofillUploadEventsLastResetTimestamp[]; extern const char kAutofillWalletImportEnabled[]; extern const char kAutocompleteLastVersionRetentionPolicy[]; @@ -701,7 +701,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component /** * The containing view for {@link WebContents} that exists in the Android UI hierarchy and exposes * the various {@link View} functionality to it. -@@ -89,6 +94,8 @@ public class ContentView extends FrameLayout +@@ -87,6 +92,8 @@ public class ContentView extends FrameLayout */ public static ContentView createContentView(Context context, @Nullable EventOffsetHandler eventOffsetHandler, @Nullable WebContents webContents) { @@ -710,7 +710,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component return new ContentView(context, eventOffsetHandler, webContents); } -@@ -619,4 +626,43 @@ public class ContentView extends FrameLayout +@@ -617,4 +624,43 @@ public class ContentView extends FrameLayout mDragDropEventOffsetHandler.onPostDispatchDragEvent(event.getAction()); return ret; } diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch index 474e5593..c236c8b7 100644 --- a/build/patches/Enable-network-isolation-features.patch +++ b/build/patches/Enable-network-isolation-features.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -94,37 +94,37 @@ BASE_FEATURE(kSplitCacheByIncludeCredentials, +@@ -99,37 +99,37 @@ BASE_FEATURE(kSplitCacheByIncludeCredentials, "SplitCacheByIncludeCredentials", base::FEATURE_DISABLED_BY_DEFAULT); @@ -81,7 +81,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -88,7 +88,7 @@ BASE_FEATURE(kCoopRestrictProperties, +@@ -95,7 +95,7 @@ BASE_FEATURE(kCoopRestrictPropertiesOriginTrial, // HttpAuthCache. BASE_FEATURE(kSplitAuthCacheByNetworkIsolationKey, "SplitAuthCacheByNetworkIsolationKey", diff --git a/build/patches/Enable-prefetch-privacy-changes-by-default.patch b/build/patches/Enable-prefetch-privacy-changes-by-default.patch index f189a328..d73e18a2 100644 --- a/build/patches/Enable-prefetch-privacy-changes-by-default.patch +++ b/build/patches/Enable-prefetch-privacy-changes-by-default.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -509,8 +509,8 @@ BASE_FEATURE(kAllowSyncXHRInPageDismissal, +@@ -1221,8 +1221,8 @@ BASE_FEATURE(kPrefetchFontLookupTables, // Prefetch request properties are updated to be privacy-preserving. See // crbug.com/988956. BASE_FEATURE(kPrefetchPrivacyChanges, @@ -19,7 +19,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea + "PrefetchPrivacyChanges", // must be enabled + base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite - // Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this - // format in the image decode cache. See crbug.com/919627 for details on the + BASE_FEATURE(kPrerender2InNewTab, + "Prerender2InNewTab", -- 2.25.1 diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch index 10c9f210..c2a4742c 100644 --- a/build/patches/Enable-share-intent.patch +++ b/build/patches/Enable-share-intent.patch @@ -32,7 +32,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 -@@ -601,6 +601,7 @@ chrome_java_resources = [ +@@ -603,6 +603,7 @@ chrome_java_resources = [ "java/res/layout/signin_activity.xml", "java/res/layout/status_indicator_container.xml", "java/res/layout/suggestions_tile_view_condensed.xml", @@ -43,7 +43,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -1022,6 +1022,7 @@ chrome_java_sources = [ +@@ -1013,6 +1013,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/signin/SyncConsentActivity.java", "java/src/org/chromium/chrome/browser/signin/SyncConsentActivityLauncherImpl.java", "java/src/org/chromium/chrome/browser/signin/SyncConsentFragment.java", @@ -215,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** * Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent * will be trusted and therefore able to launch Incognito tabs. -@@ -1642,7 +1656,7 @@ public class IntentHandler { +@@ -1641,7 +1655,7 @@ public class IntentHandler { String headers = getExtraHeadersFromIntent(intent); headers = maybeAddAdditionalContentHeaders(intent, url, headers); @@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import org.chromium.chrome.browser.usb.UsbNotificationManager; import org.chromium.chrome.browser.util.AfterStartupTaskUtils; import org.chromium.chrome.browser.webapps.WebappRegistry; -@@ -425,6 +426,8 @@ public class ProcessInitializationHandler { +@@ -423,6 +424,8 @@ public class ProcessInitializationHandler { .resolveClearDataDialogResultRecorder()::makeDeferredRecordings); deferredStartupHandler.addDeferredTask(WebApkUninstallUmaTracker::recordDeferredUma); @@ -384,7 +384,7 @@ new file mode 100644 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 -@@ -9784,6 +9784,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9798,6 +9798,10 @@ const FeatureEntry kFeatureEntries[] = { features::kBrokerFileOperationsOnDiskCacheInNetworkService)}, #if BUILDFLAG(IS_ANDROID) @@ -398,7 +398,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 -@@ -3017,6 +3017,11 @@ const char kIsolateOriginsDescription[] = +@@ -3116,6 +3116,11 @@ const char kIsolateOriginsDescription[] = "Requires dedicated processes for an additional set of origins, " "specified as a comma-separated list."; @@ -413,7 +413,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 -@@ -1724,6 +1724,9 @@ extern const char kIsolateOriginsDescription[]; +@@ -1776,6 +1776,9 @@ extern const char kIsolateOriginsDescription[]; extern const char kIsolationByDefaultName[]; extern const char kIsolationByDefaultDescription[]; @@ -426,7 +426,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 -@@ -269,6 +269,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -271,6 +271,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kReengagementNotification, &kSearchReadyOmniboxFeature, &kRelatedSearches, @@ -434,8 +434,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse &kReportParentalControlSitesChild, &kRequestDesktopSiteDefaults, &kRequestDesktopSiteDefaultsControl, -@@ -964,6 +965,10 @@ BASE_FEATURE(kSafeModeForCachedFlags, - "SafeModeForCachedFlags", +@@ -974,6 +975,10 @@ BASE_FEATURE(kScrollToTLDOptimization, + "ScrollToTLDOptimization", base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kSharedIntentUI, @@ -448,9 +448,9 @@ 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 -@@ -155,6 +155,7 @@ BASE_DECLARE_FEATURE(kRequestDesktopSiteDefaultsDowngrade); - BASE_DECLARE_FEATURE(kRequestDesktopSiteDefaultsLogging); +@@ -156,6 +156,7 @@ BASE_DECLARE_FEATURE(kRequestDesktopSiteDefaultsLogging); BASE_DECLARE_FEATURE(kRequestDesktopSitePerSiteIph); + BASE_DECLARE_FEATURE(kRestoreTabsOnFRE); BASE_DECLARE_FEATURE(kSearchReadyOmniboxFeature); +BASE_DECLARE_FEATURE(kSharedIntentUI); BASE_DECLARE_FEATURE(kSharingHubLinkToggle); @@ -459,18 +459,18 @@ 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 -@@ -374,6 +374,7 @@ public abstract class ChromeFeatureList { +@@ -381,6 +381,7 @@ public abstract class ChromeFeatureList { public static final String QUIET_NOTIFICATION_PROMPTS = "QuietNotificationPrompts"; public static final String REACHED_CODE_PROFILER = "ReachedCodeProfiler"; public static final String READER_MODE_IN_CCT = "ReaderModeInCCT"; + public static final String SHARED_INTENT_UI = "SharedIntentUI"; public static final String RECORD_SUPPRESSION_METRICS = "RecordSuppressionMetrics"; - public static final String RECOVER_FROM_NEVER_SAVE_ANDROID = "RecoverFromNeverSaveAndroid"; - public static final String REDUCE_TOOLBAR_UPDATES_FOR_SAME_DOC_NAVIGATIONS = + public static final String RECOVER_FROM_NEVER_SAVE_ANDROID = + "RecoverFromNeverSaveAndroid_LAUNCHED"; 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 -@@ -5071,6 +5071,19 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

diff --git a/build/patches/Enable-third-party-storage-partitioning.patch b/build/patches/Enable-third-party-storage-partitioning.patch index 68db099b..6ade4216 100644 --- a/build/patches/Enable-third-party-storage-partitioning.patch +++ b/build/patches/Enable-third-party-storage-partitioning.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -273,8 +273,8 @@ BASE_FEATURE(kBlockSetCookieHeader, +@@ -278,8 +278,8 @@ BASE_FEATURE(kBlockSetCookieHeader, // Enables partitioning of third party storage (IndexedDB, CacheStorage, etc.) // by the top level site to reduce fingerprinting. BASE_FEATURE(kThirdPartyStoragePartitioning, diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index 24ebb4b4..54f2ecaa 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -225,7 +225,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -235,6 +235,9 @@ if (current_toolchain == default_toolchain) { +@@ -236,6 +236,9 @@ if (current_toolchain == default_toolchain) { "//third_party/androidx:androidx_gridlayout_gridlayout_java", "//third_party/androidx:androidx_preference_preference_java", ] @@ -235,7 +235,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn } android_library("app_hooks_java") { -@@ -532,6 +535,7 @@ if (current_toolchain == default_toolchain) { +@@ -540,6 +543,7 @@ if (current_toolchain == default_toolchain) { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo 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 -@@ -121,6 +121,8 @@ import java.util.ArrayList; +@@ -119,6 +119,8 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni /** * Handles the initialization dependences of the browser process. This is meant to handle the * initialization that is not tied to any particular Activity, and the logic that should only be -@@ -317,6 +319,7 @@ public class ProcessInitializationHandler { +@@ -315,6 +317,7 @@ public class ProcessInitializationHandler { DefaultBrowserInfo.initBrowserFetcher(); @@ -321,7 +321,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3489,6 +3489,11 @@ static_library("browser") { +@@ -3475,6 +3475,11 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -336,7 +336,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 -@@ -161,6 +161,7 @@ +@@ -163,6 +163,7 @@ #include "components/ui_devtools/switches.h" #include "components/variations/service/google_groups_updater_service.h" #include "components/variations/variations_switches.h" @@ -344,8 +344,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc #include "components/version_info/version_info.h" #include "components/viz/common/features.h" #include "components/viz/common/switches.h" -@@ -8109,6 +8110,10 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryReorder)}, +@@ -8141,6 +8142,10 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kClipboardHistoryLongpress)}, #endif // BUILDFLAG(IS_CHROMEOS_ASH) + {"enable-userscripts-log", flag_descriptions::kEnableLoggingUserScriptsName, @@ -358,7 +358,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 -@@ -7049,6 +7049,11 @@ const char kUseOutOfProcessVideoDecodingDescription[] = +@@ -7195,6 +7195,11 @@ const char kUseOutOfProcessVideoDecodingDescription[] = "enabled in ash-chrome)."; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -373,7 +373,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 -@@ -4039,6 +4039,9 @@ extern const char kQuickCommandsDescription[]; +@@ -4117,6 +4117,9 @@ extern const char kQuickCommandsDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // defined (OS_FUCHSIA) @@ -386,7 +386,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio 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 -@@ -256,6 +256,7 @@ +@@ -253,6 +253,7 @@ #include "components/permissions/contexts/geolocation_permission_context_android.h" #include "components/query_tiles/tile_service_prefs.h" #include "components/webapps/browser/android/install_prompt_prefs.h" @@ -394,14 +394,14 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/cart/cart_service.h" #include "chrome/browser/companion/core/promo_handler.h" -@@ -1532,6 +1533,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1633,6 +1634,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, translate::TranslatePrefs::RegisterProfilePrefs(registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); + user_scripts::UserScriptsPrefs::RegisterProfilePrefs(registry); - #if BUILDFLAG(ENABLE_SESSION_SERVICE) - RegisterSessionServiceLogProfilePrefs(registry); + #if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING) + promos_utils::RegisterProfilePrefs(registry); diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn --- a/chrome/browser/profiles/BUILD.gn +++ b/chrome/browser/profiles/BUILD.gn @@ -416,8 +416,8 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -434,6 +434,8 @@ - #include "chrome/browser/net/nss_service_factory.h" +@@ -450,6 +450,8 @@ + #include "chrome/browser/offline_pages/request_coordinator_factory.h" #endif +#include "components/user_scripts/browser/userscripts_browser_client.h" @@ -425,7 +425,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc namespace chrome { void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) { -@@ -1010,6 +1012,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1062,6 +1064,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -512,7 +512,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile 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 -@@ -99,6 +99,7 @@ +@@ -100,6 +100,7 @@ #include "components/signin/public/base/signin_buildflags.h" #include "components/site_engagement/content/site_engagement_service.h" #include "components/supervised_user/core/common/buildflags.h" @@ -520,7 +520,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" #include "content/public/common/content_client.h" -@@ -518,6 +519,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, +@@ -528,6 +529,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, return &NewWebUI; if (url.host_piece() == chrome::kChromeUIVersionHost) return &NewWebUI; @@ -532,7 +532,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -118,6 +118,7 @@ template("chrome_extra_paks") { +@@ -121,6 +121,7 @@ template("chrome_extra_paks") { "$root_gen_dir/skia/skia_resources.pak", "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak", @@ -540,7 +540,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni "$root_gen_dir/ui/resources/webui_resources.pak", ] deps = [ -@@ -140,6 +141,7 @@ template("chrome_extra_paks") { +@@ -139,6 +140,7 @@ template("chrome_extra_paks") { "//third_party/blink/public:devtools_inspector_resources", "//third_party/blink/public:resources", "//ui/resources", @@ -562,7 +562,7 @@ diff --git a/chrome/common/renderer_configuration.mojom b/chrome/common/renderer diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -153,6 +153,7 @@ static_library("renderer") { +@@ -154,6 +154,7 @@ static_library("renderer") { "//components/content_capture/common", "//components/content_capture/renderer", "//components/content_settings/common:mojom", @@ -610,7 +610,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_PPAPI) new PepperHelper(render_frame); #endif -@@ -1594,7 +1610,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1603,7 +1619,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. @@ -625,7 +625,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1603,7 +1626,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1612,7 +1635,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. @@ -640,7 +640,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1612,7 +1642,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1621,7 +1651,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. @@ -10439,7 +10439,7 @@ new file mode 100755 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -855,6 +855,12 @@ +@@ -899,6 +899,12 @@ "components/autofill/core/browser/autofill_address_rewriter_resources.grd":{ "includes": [6220] }, diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch index 66ee34c6..0123a453 100644 --- a/build/patches/History-number-of-days-privacy-setting.patch +++ b/build/patches/History-number-of-days-privacy-setting.patch @@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting /** * Fragment to keep track of the all the privacy related preferences. */ -@@ -107,6 +111,8 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -106,6 +110,8 @@ public class PrivacySettings extends PreferenceFragmentCompat private ChromeSwitchPreference allowCustomTabIntentsPref; private ChromeSwitchPreference openExternalLinksPref; @@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { PrivacyPreferencesManagerImpl privacyPrefManager = -@@ -219,6 +225,40 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -218,6 +224,40 @@ public class PrivacySettings extends PreferenceFragmentCompat Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK); syncAndServicesLink.setSummary(buildSyncAndServicesLink()); @@ -116,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES); if (thirdPartyCookies != null) { thirdPartyCookies.getExtras().putString( -@@ -406,6 +446,29 @@ public class PrivacySettings extends PreferenceFragmentCompat +@@ -405,6 +445,29 @@ public class PrivacySettings extends PreferenceFragmentCompat privacyGuide.setTitle(privacyGuidePrefTitle); } @@ -172,7 +172,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p 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 -@@ -1334,6 +1334,18 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1369,6 +1369,18 @@ Your Google account may have other forms of browsing history like searches and a Browsing history @@ -295,7 +295,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium diff --git a/components/history/core/browser/expire_history_backend.cc b/components/history/core/browser/expire_history_backend.cc --- a/components/history/core/browser/expire_history_backend.cc +++ b/components/history/core/browser/expire_history_backend.cc -@@ -379,7 +379,7 @@ const ExpiringVisitsReader* +@@ -385,7 +385,7 @@ const ExpiringVisitsReader* void ExpireHistoryBackend::StartExpiringOldStuff( base::TimeDelta expiration_threshold) { @@ -304,7 +304,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone // Remove all readers, just in case this was method was called before. readers_.clear(); -@@ -395,6 +395,11 @@ void ExpireHistoryBackend::StartExpiringOldStuff( +@@ -401,6 +401,11 @@ void ExpireHistoryBackend::StartExpiringOldStuff( ScheduleExpire(); } @@ -316,7 +316,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone void ExpireHistoryBackend::DeleteFaviconsIfPossible(DeleteEffects* effects) { if (!favicon_db_) return; -@@ -597,6 +602,12 @@ void ExpireHistoryBackend::DoExpireIteration() { +@@ -605,6 +610,12 @@ void ExpireHistoryBackend::DoExpireIteration() { return; } @@ -353,7 +353,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his // The maximum number of days for which domain visit metrics are computed // each time HistoryBackend::GetDomainDiversity() is called. -@@ -1296,6 +1296,19 @@ void HistoryBackend::InitImpl( +@@ -1297,6 +1297,19 @@ void HistoryBackend::InitImpl( expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); } @@ -398,7 +398,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his #include "components/history/core/browser/download_row.h" #include "components/history/core/browser/features.h" #include "components/history/core/browser/history_backend.h" -@@ -1303,6 +1306,9 @@ void HistoryService::Cleanup() { +@@ -1319,6 +1322,9 @@ void HistoryService::Cleanup() { return; } @@ -408,7 +408,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his NotifyHistoryServiceBeingDeleted(); weak_ptr_factory_.InvalidateWeakPtrs(); -@@ -1376,6 +1382,33 @@ bool HistoryService::Init( +@@ -1392,6 +1398,33 @@ bool HistoryService::Init( return true; } @@ -463,7 +463,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist // Triggers the backend to load if it hasn't already, and then returns whether // it's finished loading. // Note: Virtual needed for mocking. -@@ -1117,6 +1121,10 @@ class HistoryService : public KeyedService, +@@ -1129,6 +1133,10 @@ class HistoryService : public KeyedService, raw_ptr local_device_info_provider_ = nullptr; diff --git a/build/patches/Improve-plain-text-rendering-on-mobile.patch b/build/patches/Improve-plain-text-rendering-on-mobile.patch index 2816d47b..688407f4 100644 --- a/build/patches/Improve-plain-text-rendering-on-mobile.patch +++ b/build/patches/Improve-plain-text-rendering-on-mobile.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/html/parser/text_document_parser.cc b/third_party/blink/renderer/core/html/parser/text_document_parser.cc --- a/third_party/blink/renderer/core/html/parser/text_document_parser.cc +++ b/third_party/blink/renderer/core/html/parser/text_document_parser.cc -@@ -63,9 +63,18 @@ void TextDocumentParser::InsertFakePreElement() { +@@ -65,10 +65,19 @@ void TextDocumentParser::InsertFakePreElement() { TreeBuilder()->ConstructTree(&fake_meta); attributes.clear(); @@ -24,9 +24,10 @@ diff --git a/third_party/blink/renderer/core/html/parser/text_document_parser.cc + attributes.clear(); + // Wrap the actual contents of the text file in

.
-   attributes.push_back(Attribute(
--      html_names::kStyleAttr, "word-wrap: break-word; white-space: pre-wrap;"));
-+      html_names::kStyleAttr, "word-wrap: break-word; white-space: pre-wrap; font-family: system-ui;"));
+   attributes.push_back(
+       Attribute(html_names::kStyleAttr,
+-                AtomicString("word-wrap: break-word; white-space: pre-wrap;")));
++                AtomicString("word-wrap: break-word; white-space: pre-wrap; font-family: system-ui;")));
    AtomicHTMLToken fake_pre(HTMLToken::kStartTag, html_names::HTMLTag::kPre,
                             attributes);
    TreeBuilder()->ConstructTree(&fake_pre);
diff --git a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
index dbc4e9d0..8aa9ef29 100644
--- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
+++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
@@ -30,7 +30,7 @@ diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omni
 diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
 --- a/components/omnibox/browser/omnibox_field_trial.cc
 +++ b/components/omnibox/browser/omnibox_field_trial.cc
-@@ -284,9 +284,9 @@ void OmniboxFieldTrial::GetDemotionsByType(
+@@ -288,9 +288,9 @@ void OmniboxFieldTrial::GetDemotionsByType(
  
  size_t OmniboxFieldTrial::GetProviderMaxMatches(
      AutocompleteProvider::Type provider) {
@@ -42,7 +42,7 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
        omnibox::kUIExperimentMaxAutocompleteMatches,
        OmniboxFieldTrial::kUIMaxAutocompleteMatchesByProviderParam);
  
-@@ -311,7 +311,7 @@ size_t OmniboxFieldTrial::GetProviderMaxMatches(
+@@ -315,7 +315,7 @@ size_t OmniboxFieldTrial::GetProviderMaxMatches(
          return v;
        }
      }
diff --git a/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch b/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch
index 9065eda2..1363b3a8 100644
--- a/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch
+++ b/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video.patch
@@ -35,7 +35,7 @@ diff --git a/third_party/blink/renderer/core/dom/build.gni b/third_party/blink/r
 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
 --- a/third_party/blink/renderer/core/dom/document.cc
 +++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -291,6 +291,7 @@
+@@ -292,6 +292,7 @@
  #include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h"
  #include "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h"
  #include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
@@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
  #include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
  #include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
  #include "third_party/blink/renderer/core/page/spatial_navigation_controller.h"
-@@ -366,6 +367,8 @@
+@@ -368,6 +369,8 @@
  #include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
  #include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
  
@@ -52,7 +52,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
  #ifndef NDEBUG
  using WeakDocumentSet = blink::HeapHashSet>;
  static WeakDocumentSet& LiveDocumentSet();
-@@ -7443,6 +7446,64 @@ void Document::OnPrepareToStopParsing() {
+@@ -7489,6 +7492,64 @@ void Document::OnPrepareToStopParsing() {
        MilestoneForDelayedAsyncScript::kFinishedParsing);
  }
  
@@ -117,7 +117,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
  void Document::FinishedParsing() {
    DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
    DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
-@@ -7499,6 +7560,10 @@ void Document::FinishedParsing() {
+@@ -7540,6 +7601,10 @@ void Document::FinishedParsing() {
  
      frame->Loader().FinishedParsing();
  
@@ -131,7 +131,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
-@@ -2033,6 +2033,9 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -2049,6 +2049,9 @@ class CORE_EXPORT Document : public ContainerNode,
    void AXContextModeChanged();
    void ClearAXObjectCache();
  
@@ -166,7 +166,7 @@ new file mode 100644
 diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
 --- a/third_party/blink/renderer/core/html/html_script_element.cc
 +++ b/third_party/blink/renderer/core/html/html_script_element.cc
-@@ -190,6 +190,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
+@@ -188,6 +188,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
    Node::setTextContent(string);
  }
  
diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch
index 82f0ec04..81815557 100644
--- a/build/patches/JIT-site-settings.patch
+++ b/build/patches/JIT-site-settings.patch
@@ -273,7 +273,7 @@ new file mode 100644
 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
 --- a/components/content_settings/core/browser/content_settings_registry.cc
 +++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -506,7 +506,7 @@ void ContentSettingsRegistry::Init() {
+@@ -516,7 +516,7 @@ void ContentSettingsRegistry::Init() {
             ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
  
    Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
diff --git a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
index 40fed929..9aca3c9e 100644
--- a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
+++ b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
 --- a/chrome/browser/flag-metadata.json
 +++ b/chrome/browser/flag-metadata.json
-@@ -4556,9 +4556,9 @@
+@@ -4706,9 +4706,9 @@
      "expiry_milestone": 120
    },
    {
diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch
index 37010409..187db08c 100644
--- a/build/patches/Logcat-crash-reports-UI.patch
+++ b/build/patches/Logcat-crash-reports-UI.patch
@@ -160,7 +160,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
 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
-@@ -750,6 +750,7 @@ static_library("ui") {
+@@ -751,6 +751,7 @@ static_library("ui") {
      "//third_party/re2",
      "//third_party/webrtc_overrides:webrtc_component",
      "//third_party/zlib",
diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch
index 5bbdeb92..6d15be2d 100644
--- a/build/patches/Modify-default-preferences.patch
+++ b/build/patches/Modify-default-preferences.patch
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
  #include "components/browser_sync/browser_sync_switches.h"
  #include "components/browser_ui/site_settings/android/features.h"
  #include "components/browsing_data/core/features.h"
-@@ -6386,6 +6387,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -6384,6 +6385,11 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(features::kQuickSettingsPWANotifications)},
  #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
  
@@ -53,7 +53,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
 diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
 --- a/chrome/browser/background/background_mode_manager.cc
 +++ b/chrome/browser/background/background_mode_manager.cc
-@@ -363,7 +363,7 @@ BackgroundModeManager::~BackgroundModeManager() {
+@@ -359,7 +359,7 @@ BackgroundModeManager::~BackgroundModeManager() {
  
  // static
  void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -65,7 +65,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
 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
-@@ -1593,7 +1593,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
+@@ -1590,7 +1590,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
  void ChromeContentBrowserClient::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -77,7 +77,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
 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
-@@ -3140,6 +3140,10 @@ const char kTabGroupsContinuationAndroidName[] = "Tab Groups Continuation";
+@@ -3221,6 +3221,10 @@ const char kTabGroupsContinuationAndroidName[] = "Tab Groups Continuation";
  const char kTabGroupsContinuationAndroidDescription[] =
      "Allows users to access continuation features in Tab Group on phones.";
  
@@ -91,7 +91,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
-@@ -1783,6 +1783,9 @@ extern const char kCommerceMerchantViewerAndroidDescription[];
+@@ -1826,6 +1826,9 @@ extern const char kCommerceMerchantViewerAndroidDescription[];
  extern const char kTabGroupsContinuationAndroidName[];
  extern const char kTabGroupsContinuationAndroidDescription[];
  
@@ -140,7 +140,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
 diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
 --- a/chrome/browser/ui/browser_ui_prefs.cc
 +++ b/chrome/browser/ui/browser_ui_prefs.cc
-@@ -75,11 +75,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -77,11 +77,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
    registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
    registry->RegisterBooleanPref(
@@ -248,7 +248,7 @@ new file mode 100644
 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
 --- a/components/content_settings/core/browser/content_settings_registry.cc
 +++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -224,7 +224,7 @@ void ContentSettingsRegistry::Init() {
+@@ -234,7 +234,7 @@ void ContentSettingsRegistry::Init() {
             ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
  
    Register(ContentSettingsType::BACKGROUND_SYNC, "background-sync",
@@ -257,7 +257,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
             /*allowlisted_schemes=*/{},
             /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
             WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
-@@ -315,7 +315,7 @@ void ContentSettingsRegistry::Init() {
+@@ -325,7 +325,7 @@ void ContentSettingsRegistry::Init() {
    // TODO(crbug.com/904439): Update this to "SECURE_ONLY" once
    // DeviceOrientationEvents and DeviceMotionEvents are only fired in secure
    // contexts.
@@ -269,7 +269,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
 diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
 --- a/components/content_settings/core/browser/cookie_settings.cc
 +++ b/components/content_settings/core/browser/cookie_settings.cc
-@@ -70,7 +70,7 @@ void CookieSettings::RegisterProfilePrefs(
+@@ -73,7 +73,7 @@ void CookieSettings::RegisterProfilePrefs(
      user_prefs::PrefRegistrySyncable* registry) {
    registry->RegisterIntegerPref(
        prefs::kCookieControlsMode,
@@ -293,7 +293,7 @@ diff --git a/components/payments/core/payment_prefs.cc b/components/payments/cor
 diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc
 --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc
 +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc
-@@ -233,13 +233,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -239,13 +239,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
    registry->RegisterBooleanPref(
        prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
    registry->RegisterBooleanPref(
@@ -327,7 +327,7 @@ diff --git a/components/signin/internal/identity_manager/primary_account_manager
 diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -1729,8 +1729,8 @@ BASE_FEATURE(kWebRtcSendPacketBatch,
+@@ -946,8 +946,8 @@ const base::FeatureParam kInterestGroupStorageMaxOpsBeforeMaintenance{
  // the attribute. Note: At present, only iframes with origin-restricted
  // sandboxes are isolated.
  BASE_FEATURE(kIsolateSandboxedIframes,
diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch
index a0e50622..bf888f71 100644
--- a/build/patches/Move-navigation-bar-to-bottom.patch
+++ b/build/patches/Move-navigation-bar-to-bottom.patch
@@ -61,7 +61,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../chrome/browser/flags/CachedFlag.java      |  6 ++
  .../browser/flags/ChromeFeatureList.java      |  5 ++
  chrome/browser/prefs/browser_prefs.cc         |  2 +-
- .../chrome/browser/ui/appmenu/AppMenu.java    | 31 +++++++
+ .../chrome/browser/ui/appmenu/AppMenu.java    | 30 ++++++-
  .../ui/appmenu/AppMenuHandlerImpl.java        | 11 +++
  .../omnibox/LocationBarCoordinator.java       |  6 +-
  ...mniboxSuggestionsDropdownEmbedderImpl.java | 14 +++-
@@ -88,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../accessibility/AccessibilitySettings.java  | 16 ++++
  .../AccessibilitySettingsDelegate.java        |  6 ++
  .../render_widget_host_view_android.cc        |  3 +
- 76 files changed, 901 insertions(+), 63 deletions(-)
+ 76 files changed, 899 insertions(+), 64 deletions(-)
 
 diff --git a/cc/base/features.cc b/cc/base/features.cc
 --- a/cc/base/features.cc
@@ -107,7 +107,7 @@ 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
-@@ -14,6 +14,7 @@ namespace features {
+@@ -15,6 +15,7 @@ namespace features {
  CC_BASE_EXPORT BASE_DECLARE_FEATURE(kAnimatedImageResume);
  CC_BASE_EXPORT extern bool IsImpulseScrollAnimationEnabled();
  CC_BASE_EXPORT BASE_DECLARE_FEATURE(kSynchronizedScrolling);
@@ -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
-@@ -4318,6 +4318,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
+@@ -4213,6 +4213,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
    if (scroll_delta.IsZero())
      return false;
  
@@ -154,7 +154,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
 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
-@@ -104,6 +104,9 @@ import org.chromium.ui.util.ColorUtils;
+@@ -105,6 +105,9 @@ import org.chromium.ui.util.ColorUtils;
  
  import java.util.List;
  
@@ -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,
-@@ -1304,6 +1307,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
+@@ -1378,6 +1381,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
      }
  
      private void setTopMargin(int topMargin) {
@@ -309,7 +309,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
      void setupLeftButtonOnClickListener(View.OnClickListener listener) {
          mModel.set(TabGroupUiProperties.LEFT_BUTTON_ON_CLICK_LISTENER, listener);
      }
-@@ -438,6 +485,7 @@ public class TabGroupUiMediator implements BackPressHandler {
+@@ -442,6 +489,7 @@ public class TabGroupUiMediator implements BackPressHandler {
      }
  
      public void destroy() {
@@ -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;
-@@ -500,11 +501,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
+@@ -498,11 +499,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);
-@@ -627,6 +639,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
+@@ -625,6 +637,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
          final int contentOffset = mBrowserControlsStateProvider.getContentOffset();
  
          mContainerViewModel.set(TOP_MARGIN, contentOffset);
@@ -710,7 +710,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
-@@ -252,6 +252,9 @@ import java.util.ArrayList;
+@@ -254,6 +254,9 @@ import java.util.ArrayList;
  import java.util.List;
  import java.util.function.Consumer;
  
@@ -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.
-@@ -768,6 +771,16 @@ public abstract class ChromeActivity
+@@ -770,6 +773,16 @@ public abstract class ChromeActivity
                  int toolbarLayoutId = getToolbarLayoutId();
                  if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
                      controlContainer.initWithToolbar(toolbarLayoutId);
@@ -760,7 +760,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
                          if (forwarder != null) forwarder.setCurrentTouchEventOffsets(0, top);
                      }
  
-@@ -906,6 +912,9 @@ public class CompositorViewHolder extends FrameLayout
+@@ -907,6 +913,9 @@ public class CompositorViewHolder extends FrameLayout
          int keyboardInset = mApplicationBottomInsetSupplier != null
                  ? mApplicationBottomInsetSupplier.get().webContentsHeightInset
                  : 0;
@@ -794,7 +794,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
      }
  
      @Override
-@@ -477,9 +482,11 @@ public class LayoutManagerChrome
+@@ -488,9 +493,11 @@ public class LayoutManagerChrome
          private static final float SWIPE_RANGE_DEG = 25;
  
          private final boolean mSupportSwipeDown;
@@ -807,7 +807,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
          }
  
          @Override
-@@ -511,6 +518,9 @@ public class LayoutManagerChrome
+@@ -522,6 +529,9 @@ public class LayoutManagerChrome
                      && mScrollDirection == ScrollDirection.DOWN) {
                  RecordUserAction.record("MobileToolbarSwipeOpenStackView");
                  showLayout(LayoutType.TAB_SWITCHER, true);
@@ -817,7 +817,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);
-@@ -557,6 +567,8 @@ public class LayoutManagerChrome
+@@ -568,6 +578,8 @@ public class LayoutManagerChrome
                  direction = ScrollDirection.RIGHT;
              } else if (swipeAngle < 270 + SWIPE_RANGE_DEG && swipeAngle > 270 - SWIPE_RANGE_DEG) {
                  direction = ScrollDirection.DOWN;
@@ -826,7 +826,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
              }
  
              return direction;
-@@ -570,7 +582,7 @@ public class LayoutManagerChrome
+@@ -581,7 +593,7 @@ public class LayoutManagerChrome
                  return false;
              }
  
@@ -838,7 +838,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
-@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
+@@ -28,6 +28,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;
@@ -846,12 +846,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
  
  import java.util.concurrent.Callable;
  
-@@ -86,7 +87,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome {
-         mTabSwitcherSupplier = tabSwitcherSupplier;
-         mTabStripLayoutHelperManager = new StripLayoutHelperManager(host.getContext(), host, this,
-                 mHost.getLayoutRenderHost(),
--                () -> mLayerTitleCache, tabModelStartupInfoSupplier, lifecycleDispatcher);
-+                () -> mLayerTitleCache, tabModelStartupInfoSupplier, lifecycleDispatcher,
+@@ -96,7 +97,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome {
+                 ()
+                         -> mLayerTitleCache,
+                 tabModelStartupInfoSupplier, lifecycleDispatcher, multiInstanceManager,
+-                toolbarContainerView);
++                toolbarContainerView,
 +                /*browserControlsManagerSupplier*/ () -> getBrowserControlsManager());
          mScrimCoordinator = scrimCoordinator;
          mCreateStartSurfaceCallable = delayedStartSurfaceCallable;
@@ -859,8 +859,8 @@ 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/ToolbarSwipeLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
-@@ -35,6 +35,9 @@ import org.chromium.ui.base.DeviceFormFactor;
- import org.chromium.ui.base.LocalizationUtils;
+@@ -35,6 +35,9 @@ import org.chromium.ui.base.LocalizationUtils;
+ import org.chromium.ui.interpolators.Interpolators;
  import org.chromium.ui.resources.ResourceManager;
  
 +import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -898,7 +898,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
-@@ -503,7 +503,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
+@@ -514,7 +514,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;
@@ -910,7 +910,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
-@@ -59,6 +59,9 @@ import org.chromium.ui.base.LocalizationUtils;
+@@ -61,6 +61,9 @@ import org.chromium.ui.base.LocalizationUtils;
  import org.chromium.ui.base.PageTransition;
  import org.chromium.ui.resources.ResourceManager;
  import org.chromium.url.GURL;
@@ -920,7 +920,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
  
  import java.util.List;
  
-@@ -150,9 +153,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
+@@ -151,9 +154,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
      private final String mDefaultTitle;
      private final Supplier mLayerTitleCacheSupplier;
  
@@ -934,7 +934,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);
          }
-@@ -170,12 +177,14 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
+@@ -171,12 +178,14 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
  
          @Override
          public void drag(float x, float y, float dx, float dy, float tx, float ty) {
@@ -949,7 +949,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);
-@@ -186,11 +195,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
+@@ -187,11 +196,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
  
          @Override
          public void fling(float x, float y, float velocityX, float velocityY) {
@@ -963,20 +963,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
              getActiveStripLayoutHelper().onLongPress(time(), x, y);
          }
  
-@@ -248,7 +259,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
-             LayoutUpdateHost updateHost, LayoutRenderHost renderHost,
+@@ -253,7 +264,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
              Supplier layerTitleCacheSupplier,
              ObservableSupplier tabModelStartupInfoSupplier,
--            ActivityLifecycleDispatcher lifecycleDispatcher) {
-+            ActivityLifecycleDispatcher lifecycleDispatcher,
+             ActivityLifecycleDispatcher lifecycleDispatcher,
+-            MultiInstanceManager multiInstanceManager, View toolbarContainerView) {
++            MultiInstanceManager multiInstanceManager, View toolbarContainerView,
 +            Supplier browserControlsManagerSupplier) {
          mUpdateHost = updateHost;
          mLayerTitleCacheSupplier = layerTitleCacheSupplier;
          mTabStripTreeProvider = new TabStripSceneLayer(context);
-@@ -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);
+@@ -353,6 +365,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
+                 mModelSelectorButton, multiInstanceManager, toolbarContainerView);
+         mIncognitoHelper = new StripLayoutHelper(context, managerHost, updateHost, renderHost, true,
+                 mModelSelectorButton, multiInstanceManager, toolbarContainerView);
 +        mBrowserControlsManagerSupplier = browserControlsManagerSupplier;
 +        mDpToPx = context.getResources().getDisplayMetrics().density;
  
@@ -1131,7 +1131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/Find
 +
  import org.chromium.chrome.R;
  import org.chromium.components.browser_ui.widget.animation.CancelAwareAnimatorListener;
- import org.chromium.components.browser_ui.widget.animation.Interpolators;
+ import org.chromium.ui.interpolators.Interpolators;
 @@ -166,9 +169,11 @@ public class FindToolbarTablet extends FindToolbar {
  
          if (show && getVisibility() != View.VISIBLE && mCurrentAnimation != mAnimationEnter) {
@@ -1249,7 +1249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
  
  import java.util.List;
  
-@@ -574,10 +576,15 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -573,10 +575,15 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
          // + topControlsDistanceToRest| will give the margin for the current animation frame.
          final int topControlsDistanceToRest = mBrowserControlsStateProvider.getContentOffset()
                  - mBrowserControlsStateProvider.getTopControlsHeight();
@@ -1267,7 +1267,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
  
          if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) {
              layoutParams.topMargin = topMargin;
-@@ -597,7 +604,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -596,7 +603,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
       *         strip.
       */
      private int getToolbarExtraYOffset() {
@@ -1347,7 +1347,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
-@@ -84,6 +84,11 @@ import org.chromium.ui.base.WindowDelegate;
+@@ -85,6 +85,11 @@ import org.chromium.ui.base.WindowDelegate;
  import org.chromium.ui.modaldialog.ModalDialogManager;
  import org.chromium.url.GURL;
  
@@ -1359,7 +1359,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. */
-@@ -210,6 +215,12 @@ public class SearchActivity extends AsyncInitializationActivity
+@@ -211,6 +216,12 @@ public class SearchActivity extends AsyncInitializationActivity
          mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById(
                  R.id.search_location_bar);
          mAnchorView = mContentView.findViewById(R.id.toolbar);
@@ -1372,7 +1372,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.
-@@ -235,7 +246,7 @@ public class SearchActivity extends AsyncInitializationActivity
+@@ -236,7 +247,7 @@ public class SearchActivity extends AsyncInitializationActivity
              getOnBackPressedDispatcher().addCallback(this, backPressManager.getCallback());
          }
          // clang-format off
@@ -1384,7 +1384,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
-@@ -318,6 +318,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
+@@ -321,6 +321,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
          if (fragment instanceof INeedSnackbarManager) {
              ((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager);
          }
@@ -1460,7 +1460,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
  /**
   * Contains logic for managing the toolbar visual component.  This class manages the interactions
   * with the rest of the application to ensure the toolbar is always visually up to date.
-@@ -649,7 +652,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+@@ -647,7 +650,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
                      mEphemeralTabCoordinatorSupplier);
              // clang-format off
              LocationBarCoordinator locationBarCoordinator = new LocationBarCoordinator(
@@ -1469,7 +1469,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
                      PrivacyPreferencesManagerImpl.getInstance(), mLocationBarModel,
                      mActionModeController.getActionModeCallback(),
                      new WindowDelegate(mActivity.getWindow()), windowAndroid, mActivityTabProvider,
-@@ -901,11 +904,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+@@ -904,11 +907,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
                  // the height won't be measured by the background image.
                  if (mControlContainer.getBackground() == null) {
                      setControlContainerTopMargin(getToolbarExtraYOffset());
@@ -1483,7 +1483,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
                              mControlContainer.removeOnLayoutChangeListener(mLayoutChangeListener);
                              mLayoutChangeListener = null;
                          }
-@@ -1325,13 +1330,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+@@ -1328,13 +1333,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
          return ((LocationBarCoordinator) mLocationBar).getUrlBarTextWithoutAutocomplete();
      }
  
@@ -1511,7 +1511,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
                  mScrimCoordinator, mOmniboxFocusStateSupplier, mBottomSheetController,
                  mActivityLifecycleDispatcher, mIsWarmOnResumeSupplier, mTabModelSelector,
                  mTabContentManager, mCompositorViewHolder,
-@@ -1339,8 +1356,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+@@ -1342,8 +1359,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
                  mLayoutStateProviderSupplier, mSnackbarManager);
          var bottomControlsCoordinator = new BottomControlsCoordinator(mActivity, mWindowAndroid,
                  mLayoutManager, mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer,
@@ -1523,7 +1523,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
          mBottomControlsCoordinatorSupplier.set(bottomControlsCoordinator);
          bottomControlsCoordinator.getHandleBackPressChangedSupplier().addObserver(
                  (x) -> { onBackPressStateChanged(); });
-@@ -2154,6 +2172,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+@@ -2156,6 +2174,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
      private void setControlContainerTopMargin(int margin) {
          final ViewGroup.MarginLayoutParams layoutParams =
                  ((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams());
@@ -1595,9 +1595,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu
 +import org.chromium.chrome.browser.flags.CachedFeatureFlags;
 +
  import org.chromium.base.ApiCompatibilityUtils;
+ import org.chromium.base.BuildInfo;
  import org.chromium.base.CallbackController;
- import org.chromium.base.supplier.ObservableSupplier;
-@@ -431,6 +435,12 @@ public class StatusBarColorController
+@@ -441,6 +445,12 @@ public class StatusBarColorController
          boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color);
          ApiCompatibilityUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons);
          ApiCompatibilityUtils.setStatusBarColor(window, color);
@@ -1613,7 +1613,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
-@@ -7865,6 +7865,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -7908,6 +7908,11 @@ const FeatureEntry kFeatureEntries[] = {
       flag_descriptions::kWindowsScrollingPersonalityDescription, kOsAll,
       FEATURE_VALUE_TYPE(features::kWindowsScrollingPersonality)},
  
@@ -1712,7 +1712,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
-@@ -1867,6 +1867,10 @@ const char kImprovedKeyboardShortcutsDescription[] =
+@@ -1957,6 +1957,10 @@ const char kImprovedKeyboardShortcutsDescription[] =
      "Ensure keyboard shortcuts work consistently with international keyboard "
      "layouts and deprecate legacy shortcuts.";
  
@@ -1726,7 +1726,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
-@@ -1044,6 +1044,9 @@ extern const char kIgnoreSyncEncryptionKeysLongMissingDescription[];
+@@ -1095,6 +1095,9 @@ extern const char kImprovedIncognitoScreenshotDescription[];
  extern const char kImprovedKeyboardShortcutsName[];
  extern const char kImprovedKeyboardShortcutsDescription[];
  
@@ -1741,8 +1741,8 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
 +++ b/chrome/browser/flags/android/cached_feature_flags.cc
 @@ -13,6 +13,7 @@
  #include "components/prefs/pref_service.h"
+ #include "content/public/browser/network_service_util.h"
  #include "content/public/common/content_features.h"
- #include "content/public/common/network_service_util.h"
 +#include "components/flags_ui/pref_service_flags_storage.h"
  
  using base::android::ConvertJavaStringToUTF8;
@@ -1779,7 +1779,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
  #include "base/no_destructor.h"
  #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[] = {
+@@ -247,6 +248,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
      &kInstantStart,
      &kLensCameraAssistedSearch,
      &kLensOnQuickActionSearchWidget,
@@ -1841,7 +1841,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
-@@ -304,6 +304,8 @@ public abstract class ChromeFeatureList {
+@@ -310,6 +310,8 @@ public abstract class ChromeFeatureList {
              "MessagesForAndroidPermissionUpdate";
      public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
      public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
@@ -1850,8 +1850,8 @@ 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";
-@@ -553,6 +555,8 @@ public abstract class ChromeFeatureList {
-     public static final CachedFlag sInterestFeedV2 = new CachedFlag(INTEREST_FEED_V2, true);
+@@ -567,6 +569,8 @@ public abstract class ChromeFeatureList {
+             new CachedFlag(PRIVACY_GUIDE_POST_MVP, false);
      public static final CachedFlag sOmniboxMatchToolbarAndStatusBarColor =
              new CachedFlag(OMNIBOX_MATCH_TOOLBAR_AND_STATUS_BAR_COLOR, false);
 +    public static final CachedFlag sMoveTopToolbarToBottom =
@@ -1859,10 +1859,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
      public static final CachedFlag sOmniboxModernizeVisualUpdate =
              new CachedFlag(OMNIBOX_MODERNIZE_VISUAL_UPDATE, false);
      public static final CachedFlag sOmniboxMostVisitedTilesAddRecycledViewPool =
-@@ -646,6 +650,7 @@ public abstract class ChromeFeatureList {
-         sInstanceSwitcher,
+@@ -662,6 +666,7 @@ public abstract class ChromeFeatureList {
          sInstantStart,
          sInterestFeedV2,
+         sPrivacyGuidePostMVP,
 +        sMoveTopToolbarToBottom,
          sOmniboxMatchToolbarAndStatusBarColor,
          sOmniboxModernizeVisualUpdate,
@@ -1870,7 +1870,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
 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
-@@ -1830,7 +1830,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
+@@ -1930,7 +1930,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
  
  #if BUILDFLAG(IS_ANDROID)
    registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault,
@@ -1899,7 +1899,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
  import org.chromium.chrome.browser.ui.appmenu.internal.R;
  import org.chromium.components.browser_ui.styles.ChromeColors;
  import org.chromium.components.browser_ui.widget.chips.ChipView;
-@@ -258,6 +261,12 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
+@@ -257,6 +260,12 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
          }
  
          mListView = (ListView) contentView.findViewById(R.id.app_menu_list);
@@ -1912,9 +1912,9 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
  
          int footerHeight = inflateFooter(footerResourceId, contentView, menuWidth);
          int headerHeight = inflateHeader(headerResourceId, contentView, menuWidth);
-@@ -296,6 +305,11 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
-         if (popupHeight + popupPosition[1] > visibleDisplayFrame.bottom) {
-             mPopup.setHeight(visibleDisplayFrame.height());
+@@ -298,6 +307,11 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
+         if (popupHeight + popupPosition[1] > visibleDisplayFrame.height() - anchorViewOffset) {
+             mPopup.setHeight(visibleDisplayFrame.height() - anchorViewOffset);
          }
 +        if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
 +            // due to some unknown behaviour, the popup must be resized to
@@ -1924,7 +1924,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
  
          try {
              mPopup.showAtLocation(anchorView.getRootView(), Gravity.NO_GRAVITY, popupPosition[0],
-@@ -343,6 +357,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
+@@ -345,6 +359,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
          int anchorViewX = tempLocation[0];
          int anchorViewY = tempLocation[1];
  
@@ -1939,22 +1939,21 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
          int[] offsets = new int[2];
          // If we have a hardware menu button, locate the app menu closer to the estimated
          // hardware menu button location.
-@@ -533,6 +555,15 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
-         }
-         int availableScreenSpace = Math.max(
-                 anchorViewY, appDimensions.height() - anchorViewY - anchorViewImpactHeight);
+@@ -528,7 +550,13 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
+ 
+         int availableScreenSpace = appDimensions.height() - anchorViewOffset - padding.bottom
+                 - footerHeight - headerHeight - anchorViewImpactHeight;
+-
 +        if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
-+            // use all available space
-+            availableScreenSpace = appDimensions.height() - anchorViewImpactHeight;
 +            if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N) {
 +                // due to an Android Nougat bug the popup does not appear above the anchorview.
 +                // the display is not pleasant, so we reduce the space
 +                availableScreenSpace -= anchorView.getHeight();
 +            }
 +        }
- 
-         availableScreenSpace -= (padding.bottom + footerHeight + headerHeight);
          if (mIsByPermanentButton) availableScreenSpace -= padding.top;
+         if (availableScreenSpace <= 0 && sExceptionReporter != null) {
+             String logMessage = String.format(
 diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
 --- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
 +++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
@@ -1986,7 +1985,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
 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
-@@ -90,6 +90,7 @@ public class LocationBarCoordinator
+@@ -91,6 +91,7 @@ public class LocationBarCoordinator
      private WindowDelegate mWindowDelegate;
      private WindowAndroid mWindowAndroid;
      private View mAutocompleteAnchorView;
@@ -1994,7 +1993,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
      private LocationBarMediator mLocationBarMediator;
      private View mUrlBar;
      private View mDeleteButton;
-@@ -143,7 +144,7 @@ public class LocationBarCoordinator
+@@ -144,7 +145,7 @@ public class LocationBarCoordinator
       * @param reportExceptionCallback A {@link Callback} to report exceptions.
       * @param backPressManager The {@link BackPressManager} for intercepting back press.
       */
@@ -2003,7 +2002,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
              ObservableSupplier profileObservableSupplier,
              PrivacyPreferencesManager privacyPreferencesManager,
              LocationBarDataProvider locationBarDataProvider, ActionMode.Callback actionModeCallback,
-@@ -175,11 +176,12 @@ public class LocationBarCoordinator
+@@ -176,11 +177,12 @@ public class LocationBarCoordinator
          mActivityLifecycleDispatcher = activityLifecycleDispatcher;
          mActivityLifecycleDispatcher.register(this);
          mAutocompleteAnchorView = autocompleteAnchorView;
@@ -2143,7 +2142,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
-@@ -59,6 +59,9 @@ import org.chromium.ui.modelutil.PropertyModel;
+@@ -60,6 +60,9 @@ import org.chromium.ui.modelutil.PropertyModel;
  import org.chromium.ui.mojom.WindowOpenDisposition;
  import org.chromium.url.GURL;
  
@@ -2153,7 +2152,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;
-@@ -984,7 +987,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
+@@ -987,7 +990,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
      @Override
      public void onSuggestionDropdownScroll() {
          mSuggestionsListScrolled = true;
@@ -2234,7 +2233,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);
-@@ -220,13 +224,25 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
+@@ -221,13 +225,25 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
          setItemAnimator(null);
  
          mLayoutScrollListener = new SuggestionLayoutScrollListener(context);
@@ -2261,7 +2260,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
          ViewCompat.setPaddingRelative(this, 0, 0, 0, paddingBottom);
  
          mStandardBgColor = shouldShowModernizeVisualUpdate
-@@ -364,11 +380,15 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
+@@ -365,11 +381,15 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
          try (TraceEvent tracing = TraceEvent.scoped("OmniboxSuggestionsList.Measure");
                  TimingMetric metric = OmniboxMetrics.recordSuggestionListMeasureTime()) {
              OmniboxAlignment omniboxAlignment = mEmbedder.getCurrentAlignment();
@@ -2308,7 +2307,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
-@@ -1681,6 +1681,12 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -1716,6 +1716,12 @@ Your Google account may have other forms of browsing history like searches and a
        
          Force Tablet Mode
        
@@ -2758,7 +2757,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
  #include "cc/base/math_util.h"
  #include "cc/slim/layer.h"
  #include "components/viz/common/features.h"
-@@ -854,6 +855,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
+@@ -852,6 +853,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
    // factor. Thus, |top_content_offset| in CSS pixels is also in DIPs.
    float top_content_offset =
        metadata.top_controls_height * metadata.top_controls_shown_ratio;
diff --git a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
index ef273d09..9afb13e1 100644
--- a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
+++ b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
@@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
  /**
   * Fragment to keep track of the all the privacy related preferences.
   */
-@@ -77,6 +84,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
+@@ -76,6 +83,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
      private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
      private static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
  
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      private IncognitoLockSettings mIncognitoLockSettings;
      private HelpAndFeedbackLauncher mHelpAndFeedbackLauncher;
      private Profile mProfile;
-@@ -145,6 +162,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
+@@ -144,6 +161,16 @@ public class PrivacySettings extends PreferenceFragmentCompat
  
          setHasOptionsMenu(true);
  
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          ChromeSwitchPreference canMakePaymentPref =
                  (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
          canMakePaymentPref.setOnPreferenceChangeListener(this);
-@@ -225,6 +252,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
+@@ -224,6 +251,9 @@ public class PrivacySettings extends PreferenceFragmentCompat
              UserPrefs.get(mProfile).setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
          } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
              UserPrefs.get(mProfile).setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          }
          return true;
      }
-@@ -239,6 +269,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
+@@ -238,6 +268,8 @@ public class PrivacySettings extends PreferenceFragmentCompat
       * Updates the preferences.
       */
      public void updatePreferences() {
diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch
index 8c430ac7..7a191524 100644
--- a/build/patches/Multiple-fingerprinting-mitigations.patch
+++ b/build/patches/Multiple-fingerprinting-mitigations.patch
@@ -62,9 +62,9 @@ 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
-@@ -2394,6 +2394,7 @@ static_library("browser") {
+@@ -2407,6 +2407,7 @@ static_library("browser") {
+     "//services/device/public/cpp:device_features",
      "//services/device/public/cpp/geolocation",
-     "//services/device/public/cpp/serial:switches",
      "//services/device/public/cpp/usb",
 +    "//third_party/ungoogled:switches",
      "//services/device/public/mojom",
@@ -73,7 +73,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
-@@ -223,6 +223,8 @@
+@@ -224,6 +224,8 @@
  #include "ui/ui_features.h"
  #include "url/url_features.h"
  
@@ -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
-@@ -3876,6 +3878,20 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3877,6 +3879,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
-@@ -250,6 +250,7 @@ source_set("browser") {
+@@ -249,6 +249,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
-@@ -210,6 +210,7 @@
+@@ -211,6 +211,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"
-@@ -3443,6 +3444,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3538,6 +3539,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
      switches::kDisableBreakpad,
      switches::kDisableDatabases,
      switches::kDisableFileSystem,
@@ -138,7 +138,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
 diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
 --- a/content/child/BUILD.gn
 +++ b/content/child/BUILD.gn
-@@ -103,6 +103,7 @@ target(link_target_type, "child") {
+@@ -102,6 +102,7 @@ target(link_target_type, "child") {
      "//third_party/blink/public/common",
      "//third_party/blink/public/strings",
      "//third_party/ced",
@@ -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
-@@ -553,6 +555,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
+@@ -567,6 +569,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"
-@@ -842,6 +843,17 @@ Document::Document(const DocumentInit& initializer,
+@@ -844,6 +845,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();
  
-@@ -2286,6 +2298,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
+@@ -2294,6 +2306,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
-@@ -528,6 +528,10 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -532,6 +532,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;
-@@ -2417,6 +2421,9 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -2432,6 +2436,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
-@@ -2073,6 +2073,7 @@ void Element::ClientQuads(Vector& quads) const {
+@@ -2093,6 +2093,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;
    }
  
-@@ -2081,6 +2082,10 @@ void Element::ClientQuads(Vector& quads) const {
+@@ -2101,6 +2102,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() {
-@@ -2123,6 +2128,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const {
+@@ -2143,6 +2148,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const {
    DCHECK(element_layout_object);
    GetDocument().AdjustRectForScrollAndAbsoluteZoom(result,
                                                     *element_layout_object);
@@ -379,7 +379,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_
 diff --git a/third_party/blink/renderer/core/svg/svg_graphics_element.cc b/third_party/blink/renderer/core/svg/svg_graphics_element.cc
 --- a/third_party/blink/renderer/core/svg/svg_graphics_element.cc
 +++ b/third_party/blink/renderer/core/svg/svg_graphics_element.cc
-@@ -189,6 +189,8 @@ SVGRectTearOff* SVGGraphicsElement::getBBoxFromJavascript() {
+@@ -187,6 +187,8 @@ SVGRectTearOff* SVGGraphicsElement::getBBoxFromJavascript() {
    if (const auto* layout_object = GetLayoutObject()) {
      bounding_box = GetBBox();
  
@@ -391,7 +391,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_graphics_element.cc b/third
 diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/third_party/blink/renderer/core/svg/svg_text_content_element.cc
 --- a/third_party/blink/renderer/core/svg/svg_text_content_element.cc
 +++ b/third_party/blink/renderer/core/svg/svg_text_content_element.cc
-@@ -114,11 +114,16 @@ float SVGTextContentElement::getComputedTextLength() {
+@@ -111,11 +111,16 @@ float SVGTextContentElement::getComputedTextLength() {
    GetDocument().UpdateStyleAndLayoutForNode(this,
                                              DocumentUpdateReason::kJavaScript);
    auto* layout_object = GetLayoutObject();
@@ -410,7 +410,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
  }
  
  float SVGTextContentElement::getSubStringLength(
-@@ -141,9 +146,13 @@ float SVGTextContentElement::getSubStringLength(
+@@ -138,9 +143,13 @@ float SVGTextContentElement::getSubStringLength(
      nchars = number_of_chars - charnum;
  
    auto* layout_object = GetLayoutObject();
@@ -426,7 +426,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
  }
  
  SVGPointTearOff* SVGTextContentElement::getStartPositionOfChar(
-@@ -165,6 +174,8 @@ SVGPointTearOff* SVGTextContentElement::getStartPositionOfChar(
+@@ -162,6 +171,8 @@ SVGPointTearOff* SVGTextContentElement::getStartPositionOfChar(
    if (IsNGTextOrInline(layout_object)) {
      point = NGSvgTextQuery(*layout_object).StartPositionOfCharacter(charnum);
    }
@@ -435,7 +435,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
    return SVGPointTearOff::CreateDetached(point);
  }
  
-@@ -187,6 +198,8 @@ SVGPointTearOff* SVGTextContentElement::getEndPositionOfChar(
+@@ -184,6 +195,8 @@ SVGPointTearOff* SVGTextContentElement::getEndPositionOfChar(
    if (IsNGTextOrInline(layout_object)) {
      point = NGSvgTextQuery(*layout_object).EndPositionOfCharacter(charnum);
    }
@@ -444,7 +444,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
    return SVGPointTearOff::CreateDetached(point);
  }
  
-@@ -209,6 +222,8 @@ SVGRectTearOff* SVGTextContentElement::getExtentOfChar(
+@@ -206,6 +219,8 @@ SVGRectTearOff* SVGTextContentElement::getExtentOfChar(
    if (IsNGTextOrInline(layout_object)) {
      rect = NGSvgTextQuery(*layout_object).ExtentOfCharacter(charnum);
    }
@@ -453,7 +453,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
    return SVGRectTearOff::CreateDetached(rect);
  }
  
-@@ -238,9 +253,12 @@ int SVGTextContentElement::getCharNumAtPosition(
+@@ -235,9 +250,12 @@ int SVGTextContentElement::getCharNumAtPosition(
    GetDocument().UpdateStyleAndLayoutForNode(this,
                                              DocumentUpdateReason::kJavaScript);
    auto* layout_object = GetLayoutObject();
@@ -478,7 +478,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
  #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"
-@@ -2145,6 +2146,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
+@@ -2184,6 +2185,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
            snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
        DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
      }
@@ -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
-@@ -1650,7 +1650,9 @@ component("platform") {
+@@ -1656,7 +1656,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",
-@@ -1722,6 +1724,7 @@ component("platform") {
+@@ -1727,6 +1729,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
-@@ -2034,6 +2034,15 @@
+@@ -2060,6 +2060,15 @@
        status: {"Android": "test", "default": "stable"},
        base_feature: "none",
      },
diff --git a/build/patches/OpenSearch-miscellaneous.patch b/build/patches/OpenSearch-miscellaneous.patch
index 60413ec2..2f362380 100644
--- a/build/patches/OpenSearch-miscellaneous.patch
+++ b/build/patches/OpenSearch-miscellaneous.patch
@@ -188,7 +188,7 @@ diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/c
  #include "base/metrics/histogram_macros.h"
  #include "base/no_destructor.h"
  #include "base/strings/string_number_conversions.h"
-@@ -255,6 +256,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
+@@ -260,6 +261,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
  
    GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
    if (!osdd_url.is_empty()) {
@@ -252,7 +252,7 @@ diff --git a/components/search_engines/template_url_parser.cc b/components/searc
 diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h
 --- a/components/search_engines/template_url_service.h
 +++ b/components/search_engines/template_url_service.h
-@@ -290,7 +290,10 @@ class TemplateURLService : public WebDataServiceConsumer,
+@@ -264,7 +264,10 @@ class TemplateURLService : public WebDataServiceConsumer,
    void UpdateProviderFavicons(const GURL& potential_search_url,
                                const GURL& favicon_url);
  
@@ -264,7 +264,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
    // regardless of |url| if the default search provider is managed by policy or
    // controlled by an extension.
    bool CanMakeDefault(const TemplateURL* url) const;
-@@ -656,9 +659,6 @@ class TemplateURLService : public WebDataServiceConsumer,
+@@ -626,9 +629,6 @@ class TemplateURLService : public WebDataServiceConsumer,
    // SetKeywordSearchTermsForURL is invoked.
    void UpdateKeywordSearchTermsForURL(const URLVisitedDetails& details);
  
diff --git a/build/patches/Override-Navigator-Language.patch b/build/patches/Override-Navigator-Language.patch
index b6268466..03841e7a 100644
--- a/build/patches/Override-Navigator-Language.patch
+++ b/build/patches/Override-Navigator-Language.patch
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
 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
-@@ -68,6 +68,7 @@
+@@ -69,6 +69,7 @@
  #include "cc/base/switches.h"
  #include "components/discardable_memory/public/mojom/discardable_shared_memory_manager.mojom.h"
  #include "components/discardable_memory/service/discardable_shared_memory_manager.h"
@@ -60,7 +60,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
  #include "components/metrics/single_sample_metrics.h"
  #include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h"
  #include "components/services/storage/public/cpp/buckets/bucket_id.h"
-@@ -3370,8 +3371,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+@@ -3463,8 +3464,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
    PropagateBrowserCommandLineToRenderer(browser_command_line, command_line);
  
    // Pass on the browser locale.
diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch
index c42cb90b..e7bda119 100644
--- a/build/patches/Partition-Blink-memory-cache.patch
+++ b/build/patches/Partition-Blink-memory-cache.patch
@@ -54,7 +54,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b
 diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
 --- a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
 +++ b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
-@@ -2284,7 +2284,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document,
+@@ -2296,7 +2296,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document,
    Resource* cached_resource = document->Fetcher()->CachedResource(url);
    if (!cached_resource) {
      cached_resource = MemoryCache::Get()->ResourceForURL(
@@ -81,7 +81,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc b
 diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_party/blink/renderer/core/loader/image_loader.cc
 --- a/third_party/blink/renderer/core/loader/image_loader.cc
 +++ b/third_party/blink/renderer/core/loader/image_loader.cc
-@@ -722,7 +722,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const {
+@@ -719,7 +719,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const {
    // content when style recalc is over and DOM mutation is allowed again.
    if (!url.IsNull()) {
      Resource* resource = MemoryCache::Get()->ResourceForURL(
@@ -185,7 +185,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
    // Most off-main-thread resource fetches use Resource::kRaw and don't reach
    // this point, but off-main-thread module fetches might.
    if (IsMainThread()) {
-@@ -1299,7 +1300,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params,
+@@ -1294,7 +1295,9 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params,
          resource = nullptr;
        } else {
          resource = MemoryCache::Get()->ResourceForURL(
@@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
        }
        if (resource) {
          policy = DetermineRevalidationPolicy(resource_type, params, *resource,
-@@ -1413,6 +1416,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params,
+@@ -1408,6 +1411,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params,
      if (resource_cache_remote_.is_bound()) {
        resource_cache_remote_->Contains(
            params.Url(),
@@ -205,7 +205,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
            WTF::BindOnce(&ResourceFetcher::OnResourceCacheContainsFinished,
                          WrapWeakPersistent(this), base::TimeTicks::Now(),
                          resource_request.GetRequestDestination()));
-@@ -1553,7 +1558,8 @@ Resource* ResourceFetcher::CreateResourceForLoading(
+@@ -1549,7 +1554,8 @@ Resource* ResourceFetcher::CreateResourceForLoading(
      const FetchParameters& params,
      const ResourceFactory& factory) {
    const String cache_identifier =
@@ -215,7 +215,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
    if (!base::FeatureList::IsEnabled(
            blink::features::kScopeMemoryCachePerContext)) {
      DCHECK(!IsMainThread() || params.IsStaleRevalidation() ||
-@@ -2538,10 +2544,13 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() {
+@@ -2563,10 +2569,13 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() {
    to_be_removed.clear();
  }
  
@@ -231,7 +231,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
    }
  
    // Requests that can be satisfied via `archive_` (i.e. MHTML) or
-@@ -2554,7 +2563,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const {
+@@ -2579,7 +2588,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const {
    if (bundle)
      return bundle->GetCacheIdentifier();
  
diff --git a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
index 223211b5..c2d8ddf1 100644
--- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
+++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
@@ -131,7 +131,7 @@ diff --git a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browse
 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
-@@ -9450,6 +9450,13 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -9465,6 +9465,13 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(base::i18n::kLacrosMergeIcuDataFile)},
  #endif
  
@@ -148,9 +148,9 @@ 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
-@@ -3797,6 +3797,11 @@ const char kChromeSharingHubLaunchAdjacentDescription[] =
-     "In multi-window mode, launches share hub actions in an adjacent window. "
-     "For internal debugging.";
+@@ -3846,6 +3846,11 @@ const char kChimeAndroidSdkDescription[] =
+     "Enable Chime SDK to receive push notification.";
+ const char kChimeAndroidSdkName[] = "Use Chime SDK";
  
 +const char kCloseAllTabsModalDialogName[] = "Close all tabs modal dialog";
 +const char kCloseAllTabsModalDialogDescription[] =
@@ -176,16 +176,16 @@ 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
-@@ -167,6 +167,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -170,6 +170,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
      &kBackGestureActivityTabProvider,
      &kBackGestureRefactorActivityAndroid,
      &kBackGestureRefactorAndroid,
 +    &kCloseAllTabsModalDialog,
      &kBackgroundThreadPool,
      &kBaselineGM3SurfaceColors,
-     &kBottomSheetGtsSupport,
-@@ -491,6 +492,10 @@ BASE_FEATURE(kBottomSheetGtsSupport,
-              "BottomSheetGtsSupport",
+     &kCastDeviceFilter,
+@@ -493,6 +494,10 @@ BASE_FEATURE(kBaselineGM3SurfaceColors,
+              "BaselineGM3SurfaceColors",
               base::FEATURE_ENABLED_BY_DEFAULT);
  
 +BASE_FEATURE(kCloseAllTabsModalDialog,
@@ -195,7 +195,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
  // Used in downstream code.
  BASE_FEATURE(kCastDeviceFilter,
               "CastDeviceFilter",
-@@ -501,8 +506,8 @@ BASE_FEATURE(kClearOmniboxFocusAfterNavigation,
+@@ -503,8 +508,8 @@ BASE_FEATURE(kClearOmniboxFocusAfterNavigation,
               base::FEATURE_ENABLED_BY_DEFAULT);
  
  BASE_FEATURE(kCloseTabSuggestions,
@@ -209,9 +209,9 @@ 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
-@@ -32,6 +32,7 @@ BASE_DECLARE_FEATURE(kBackgroundThreadPool);
+@@ -31,6 +31,7 @@ BASE_DECLARE_FEATURE(kBackGestureRefactorAndroid);
+ BASE_DECLARE_FEATURE(kBackgroundThreadPool);
  BASE_DECLARE_FEATURE(kBaselineGM3SurfaceColors);
- BASE_DECLARE_FEATURE(kBottomSheetGtsSupport);
  BASE_DECLARE_FEATURE(kClearOmniboxFocusAfterNavigation);
 +BASE_DECLARE_FEATURE(kCloseAllTabsModalDialog);
  BASE_DECLARE_FEATURE(kCloseTabSuggestions);
@@ -220,7 +220,7 @@ 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
-@@ -179,6 +179,7 @@ public abstract class ChromeFeatureList {
+@@ -187,6 +187,7 @@ public abstract class ChromeFeatureList {
      public static final String CCT_RESIZABLE_90_MAXIMUM_HEIGHT = "CCTResizable90MaximumHeight";
      public static final String CCT_RESIZABLE_ALLOW_RESIZE_BY_USER_GESTURE =
              "CCTResizableAllowResizeByUserGesture";
diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch
index 178eb9eb..3e4b201b 100644
--- a/build/patches/Re-introduce-override_build_timestamp.patch
+++ b/build/patches/Re-introduce-override_build_timestamp.patch
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 diff --git a/base/BUILD.gn b/base/BUILD.gn
 --- a/base/BUILD.gn
 +++ b/base/BUILD.gn
-@@ -4030,8 +4030,13 @@ action("build_date") {
+@@ -4104,8 +4104,13 @@ action("build_date") {
  
    args = [
      rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir),
diff --git a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
index 4da3a61a..56754dd3 100644
--- a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
+++ b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
@@ -36,7 +36,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
 diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
 --- a/net/url_request/url_request_http_job.cc
 +++ b/net/url_request/url_request_http_job.cc
-@@ -350,6 +350,7 @@ void URLRequestHttpJob::OnGotFirstPartySetCacheFilterMatchInfo(
+@@ -351,6 +351,7 @@ void URLRequestHttpJob::OnGotFirstPartySetCacheFilterMatchInfo(
    // fields in the referrer.
    GURL referrer(request_->referrer());
  
@@ -44,7 +44,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
    // Our consumer should have made sure that this is a safe referrer (e.g. via
    // URLRequestJob::ComputeReferrerForPolicy).
    if (referrer.is_valid()) {
-@@ -357,11 +358,14 @@ void URLRequestHttpJob::OnGotFirstPartySetCacheFilterMatchInfo(
+@@ -358,11 +359,14 @@ void URLRequestHttpJob::OnGotFirstPartySetCacheFilterMatchInfo(
      request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
                                            referer_value);
    }
@@ -59,7 +59,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
  
    AddExtraHeaders();
  
-@@ -614,9 +618,9 @@ void URLRequestHttpJob::StartTransactionInternal() {
+@@ -615,9 +619,9 @@ void URLRequestHttpJob::StartTransactionInternal() {
  void URLRequestHttpJob::AddExtraHeaders() {
    request_info_.extra_headers.SetAcceptEncodingIfMissing(
        request()->url(), request()->accepted_stream_types(),
diff --git a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
index 71d4e575..57df2f25 100644
--- a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
+++ b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
@@ -38,7 +38,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
-@@ -669,6 +669,8 @@ chrome_java_resources = [
+@@ -671,6 +671,8 @@ chrome_java_resources = [
    "java/res/xml/incognito_preferences.xml",
    "java/res/xml/privacy_preferences.xml",
    "java/res/xml/privacy_preferences_v2.xml",
@@ -50,7 +50,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
 --- a/chrome/android/chrome_java_sources.gni
 +++ b/chrome/android/chrome_java_sources.gni
-@@ -964,6 +964,8 @@ chrome_java_sources = [
+@@ -955,6 +955,8 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
    "java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
    "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
@@ -177,10 +177,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      private static final String PREF_SAFE_BROWSING = "safe_browsing";
      private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
 +    private static final String PREF_REFERER_POLICY = "referers_policy";
-     private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
      private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
      private static final String PREF_PROXY_OPTIONS = "proxy";
-@@ -359,6 +361,10 @@ public class PrivacySettings extends PreferenceFragmentCompat
+     private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
+@@ -358,6 +360,10 @@ public class PrivacySettings extends PreferenceFragmentCompat
                              : R.string.text_off);
          }
  
@@ -404,7 +404,7 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render
 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
-@@ -937,6 +937,30 @@ CHAR_LIMIT guidelines:
+@@ -969,6 +969,30 @@ CHAR_LIMIT guidelines:
  
  For example, some websites may respond to this request by showing you ads that aren’t based on other websites you’ve visited. Many websites will still collect and use your browsing data — for example to improve security, to provide content, ads and recommendations, and to generate reporting statistics.
        
@@ -462,7 +462,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
 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
-@@ -1341,6 +1341,9 @@ const char kEnableHyperlinkAuditing[] = "enable_a_ping";
+@@ -1362,6 +1362,9 @@ const char kEnableHyperlinkAuditing[] = "enable_a_ping";
  // Whether to enable sending referrers.
  const char kEnableReferrers[] = "enable_referrers";
  
@@ -475,7 +475,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
-@@ -413,6 +413,7 @@ extern const char kPinnedTabs[];
+@@ -415,6 +415,7 @@ extern const char kPinnedTabs[];
  extern const char kDisable3DAPIs[];
  extern const char kEnableHyperlinkAuditing[];
  extern const char kEnableReferrers[];
@@ -486,7 +486,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
 diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
-@@ -413,6 +413,14 @@ void AddAdditionalRequestHeaders(
+@@ -390,6 +390,14 @@ void AddAdditionalRequestHeaders(
          blink::mojom::Referrer(GURL(), network::mojom::ReferrerPolicy::kNever);
    }
  
diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch
index b4674b9c..aa2b2e86 100644
--- a/build/patches/Remove-help-menu-item.patch
+++ b/build/patches/Remove-help-menu-item.patch
@@ -60,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
-@@ -568,7 +568,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
@@ -58,7 +58,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/
                  });
  
                  mPropertyModel.set(LENS_BUTTON_CLICK_LISTENER, v -> {
-@@ -1380,10 +1371,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
+@@ -1456,10 +1447,6 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
          // incorrect state if check synchronously.
          ThreadUtils.postOnUiThread(() -> {
              if (mOmniboxStub != null) {
@@ -101,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSess
  import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
  import org.chromium.chrome.browser.tab.Tab;
  import org.chromium.chrome.browser.tabmodel.TabModel;
-@@ -113,24 +112,6 @@ public class UmaSessionStats {
+@@ -112,24 +111,6 @@ public class UmaSessionStats {
          updatePreferences();
          updateMetricsServiceState();
          DefaultBrowserInfo.logDefaultBrowserStats();
@@ -147,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.
-@@ -147,7 +145,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -146,7 +144,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
      protected boolean mSearchProviderHasLogo;
  
      protected OmniboxStub mOmniboxStub;
@@ -155,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;
-@@ -235,8 +232,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -234,8 +231,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
  
          @Override
          public boolean isVoiceSearchEnabled() {
@@ -165,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
          }
  
          @Override
-@@ -244,21 +240,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -243,21 +239,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
              if (mIsDestroyed) return;
              FeedReliabilityLogger feedReliabilityLogger =
                      mFeedSurfaceProvider.getReliabilityLogger();
@@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
          }
  
          @Override
-@@ -754,12 +735,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -753,12 +734,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
                  mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger);
              }
          }
@@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
      }
  
      @Override
-@@ -770,11 +745,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -769,11 +744,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
          }
      }
  
@@ -212,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);
-@@ -793,9 +763,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -792,9 +762,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
          mLastShownTimeNs = System.nanoTime();
          RecordUserAction.record("MobileNTPShown");
          SuggestionsMetrics.recordSurfaceVisible();
@@ -222,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. */
-@@ -803,7 +770,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -802,7 +769,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
          RecordHistogram.recordMediumTimesHistogram("NewTabPage.TimeSpent",
                  (System.nanoTime() - mLastShownTimeNs) / TimeUtils.NANOSECONDS_PER_MILLISECOND);
          SuggestionsMetrics.recordSurfaceHidden();
@@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
      }
  
      /**
-@@ -902,9 +868,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
+@@ -901,9 +867,6 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
          }
          mFeedSurfaceProvider.destroy();
          mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager);
@@ -254,7 +254,7 @@ 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
-@@ -52,7 +52,6 @@ import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
+@@ -53,7 +53,6 @@ import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider;
  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;
@@ -262,7 +262,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
  import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
  import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
  import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
-@@ -399,14 +398,12 @@ public class SearchActivity extends AsyncInitializationActivity
+@@ -400,14 +399,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);
@@ -278,7 +278,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
          RecordUserAction.record("SearchWidget.WidgetSelected");
  
          getActivityDelegate().onFinishDeferredInitialization();
-@@ -477,8 +474,7 @@ public class SearchActivity extends AsyncInitializationActivity
+@@ -478,8 +475,7 @@ public class SearchActivity extends AsyncInitializationActivity
          if (isFromQuickActionSearchWidget()) {
              recordQuickActionSearchType(searchType);
          }
@@ -291,7 +291,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/searchwidget/SearchActivityLocationBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java
-@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState;
+@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState;
  import org.chromium.chrome.browser.omnibox.UrlBarData;
  import org.chromium.chrome.browser.omnibox.status.StatusCoordinator;
  import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
@@ -299,16 +299,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
  import org.chromium.chrome.browser.toolbar.top.ToolbarPhone;
  import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
  import org.chromium.components.browser_ui.styles.ChromeColors;
-@@ -91,7 +90,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+@@ -90,7 +89,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
  
      /** Called when the SearchActivity has finished initialization. */
      void onDeferredStartup(@SearchType int searchType,
 -            @NonNull VoiceRecognitionHandler voiceRecognitionHandler,
              @NonNull WindowAndroid windowAndroid) {
-         mAutocompleteCoordinator.prefetchZeroSuggestResults();
- 
-@@ -106,7 +104,7 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
-         }
+         SearchActivityPreferencesManager.updateFeatureAvailability(getContext(), windowAndroid);
+         assert !LocaleManager.getInstance().needToCheckForSearchEnginePromo();
+@@ -103,7 +101,7 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+                 mUrlCoordinator.getTextWithoutAutocomplete(), textWithAutocomplete);
  
          if (mPendingBeginQuery) {
 -            beginQueryInternal(searchType, voiceRecognitionHandler, windowAndroid);
@@ -316,7 +316,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
              mPendingBeginQuery = false;
          }
      }
-@@ -115,12 +113,10 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+@@ -112,12 +110,10 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
       * Begins a new query.
       * @param searchType The type of search to invoke.
       * @param optionalText Prepopulate with a query, this may be null.
@@ -329,7 +329,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
              @NonNull WindowAndroid windowAndroid) {
          // Clear the text regardless of the promo decision.  This allows the user to enter text
          // before native has been initialized and have it not be cleared one the delayed beginQuery
-@@ -134,11 +130,10 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+@@ -131,11 +127,10 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
              return;
          }
  
@@ -342,7 +342,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
              @NonNull WindowAndroid windowAndroid) {
          assert !mPendingSearchPromoDecision;
  
-@@ -148,7 +143,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+@@ -145,7 +140,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
          }
  
          if (searchType == SearchType.VOICE) {
@@ -350,7 +350,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
          } else if (searchType == SearchType.LENS) {
              runGoogleLens(windowAndroid);
          } else {
-@@ -156,33 +150,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+@@ -153,33 +147,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
          }
      }
  
@@ -384,7 +384,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
      /**
       * Begins a new Lens query.
       *
-@@ -236,9 +203,4 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
+@@ -233,9 +200,4 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
              mAutocompleteCoordinator.startCachedZeroSuggest();
          });
      }
@@ -405,12 +405,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
  import org.chromium.chrome.browser.page_info.ChromePageInfo;
  import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
  import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
-@@ -2120,11 +2119,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+@@ -2122,10 +2121,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
          return mLocationBar.getOmniboxStub();
      }
  
--    @Nullable
--    public VoiceRecognitionHandler getVoiceRecognitionHandler() {
+-    public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() {
 -        return mLocationBar.getVoiceRecognitionHandler();
 -    }
 -
@@ -429,7 +428,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
  import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
  import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
  import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
-@@ -280,7 +278,6 @@ public class RootUiCoordinator
+@@ -281,7 +279,6 @@ public class RootUiCoordinator
      protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>();
      protected Supplier mStartSurfaceParentTabSupplier;
      @Nullable
@@ -437,7 +436,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;
-@@ -568,9 +565,6 @@ public class RootUiCoordinator
+@@ -575,9 +572,6 @@ public class RootUiCoordinator
          }
  
          if (mToolbarManager != null) {
@@ -447,7 +446,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
              mToolbarManager.destroy();
              mToolbarManager = null;
          }
-@@ -1126,19 +1120,11 @@ public class RootUiCoordinator
+@@ -1135,19 +1129,11 @@ public class RootUiCoordinator
                      new VoiceToolbarButtonController.VoiceSearchDelegate() {
                          @Override
                          public boolean isVoiceSearchEnabled() {
@@ -468,7 +467,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
                          }
                      };
              TranslateToolbarButtonController translateToolbarButtonController =
-@@ -1239,13 +1225,6 @@ public class RootUiCoordinator
+@@ -1249,13 +1235,6 @@ public class RootUiCoordinator
              if (!mSupportsAppMenuSupplier.getAsBoolean()) {
                  mToolbarManager.getToolbar().disableMenuButton();
              }
@@ -485,7 +484,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
 diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
 --- a/chrome/browser/ui/android/omnibox/BUILD.gn
 +++ b/chrome/browser/ui/android/omnibox/BUILD.gn
-@@ -136,7 +136,6 @@ android_library("java") {
+@@ -137,7 +137,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",
@@ -504,13 +503,13 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
  import org.chromium.chrome.browser.tab.Tab;
  
  /**
-@@ -67,11 +66,6 @@ public interface LocationBar {
+@@ -66,11 +65,6 @@ public interface LocationBar {
+      */
      View getSecurityIconView();
  
- 
+-
 -    /** Returns the {@link VoiceRecognitionHandler} associated with this LocationBar. */
--    @Nullable
--    default VoiceRecognitionHandler getVoiceRecognitionHandler() {
+-    default @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() {
 -        return null;
 -    }
      /**
@@ -519,7 +518,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
-@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate;
+@@ -40,7 +40,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;
@@ -527,7 +526,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
  import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager;
  import org.chromium.chrome.browser.profiles.Profile;
  import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-@@ -382,13 +381,6 @@ public class LocationBarCoordinator
+@@ -383,13 +382,6 @@ public class LocationBarCoordinator
          return mLocationBarLayout.getSecurityIconView();
      }
  
@@ -541,7 +540,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
      @Nullable
      @Override
      public OmniboxStub getOmniboxStub() {
-@@ -661,11 +653,6 @@ public class LocationBarCoordinator
+@@ -660,11 +652,6 @@ public class LocationBarCoordinator
  
      // End tablet-specific methods.
  
@@ -632,7 +631,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
              return false;
          }
          boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean();
-@@ -1220,7 +1206,6 @@ class LocationBarMediator
+@@ -1219,7 +1205,6 @@ class LocationBarMediator
          // This method needs to be called first as it computes |mBrandedColorScheme|.
          updateBrandedColorScheme();
  
@@ -640,7 +639,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
          updateLensButtonColors();
      }
  
-@@ -1307,16 +1292,6 @@ class LocationBarMediator
+@@ -1306,16 +1291,6 @@ class LocationBarMediator
          }
      }
  
@@ -657,7 +656,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
      @Override
      public void addUrlFocusChangeListener(UrlFocusChangeListener listener) {
          mUrlFocusChangeListeners.addObserver(listener);
-@@ -1332,29 +1307,10 @@ class LocationBarMediator
+@@ -1331,29 +1306,10 @@ class LocationBarMediator
          return mUrlHasFocus;
      }
  
@@ -687,7 +686,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
      public void setSearchQuery(String query) {
          if (TextUtils.isEmpty(query)) return;
  
-@@ -1373,21 +1329,9 @@ class LocationBarMediator
+@@ -1372,21 +1328,9 @@ class LocationBarMediator
          mUrlCoordinator.setKeyboardVisibility(true, false);
      }
  
@@ -745,7 +744,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;
-@@ -261,24 +260,6 @@ public class AutocompleteController implements Destroyable {
+@@ -264,24 +263,6 @@ public class AutocompleteController implements Destroyable {
                  completedLength, webContents);
      }
  
@@ -770,7 +769,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.
-@@ -370,8 +351,6 @@ public class AutocompleteController implements Destroyable {
+@@ -373,8 +354,6 @@ public class AutocompleteController implements Destroyable {
                  long nativeAutocompleteControllerAndroid, int matchIndex,
                  long elapsedTimeSinceInputChange, String newQueryText, String[] newQueryParams);
          Tab getMatchingTabForSuggestion(long nativeAutocompleteControllerAndroid, int matchIndex);
@@ -790,7 +789,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;
-@@ -318,13 +317,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC
+@@ -319,13 +318,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC
          mRecycledViewPool.onNativeInitialized();
      }
  
@@ -807,7 +806,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
-@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On
+@@ -36,7 +36,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;
@@ -815,7 +814,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;
-@@ -385,14 +384,6 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
+@@ -388,14 +387,6 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
          mShouldPreventOmniboxAutocomplete = prevent;
      }
  
diff --git a/build/patches/Remove-window-name-on-cross-origin-navigation.patch b/build/patches/Remove-window-name-on-cross-origin-navigation.patch
index 5b2ea2f2..72b10232 100644
--- a/build/patches/Remove-window-name-on-cross-origin-navigation.patch
+++ b/build/patches/Remove-window-name-on-cross-origin-navigation.patch
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
 --- a/third_party/blink/renderer/core/loader/document_loader.cc
 +++ b/third_party/blink/renderer/core/loader/document_loader.cc
-@@ -2547,7 +2547,7 @@ void DocumentLoader::CommitNavigation() {
+@@ -2550,7 +2550,7 @@ void DocumentLoader::CommitNavigation() {
      // that the name would be nulled and if the name is accessed after we will
      // fire a UseCounter. If we decide to move forward with this change, we'd
      // actually clean the name here.
@@ -22,7 +22,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
      frame_->Tree().ExperimentalSetNulledName();
    }
  
-@@ -2558,6 +2558,7 @@ void DocumentLoader::CommitNavigation() {
+@@ -2561,6 +2561,7 @@ void DocumentLoader::CommitNavigation() {
      // TODO(shuuran): CrossSiteCrossBrowsingContextGroupSetNulledName will just
      // record the fact that the name would be nulled and if the name is accessed
      // after we will fire a UseCounter.
diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch
index 91a53575..1e62ea20 100644
--- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch
+++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch
@@ -22,7 +22,7 @@ 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
-@@ -9327,6 +9327,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -9342,6 +9342,9 @@ const FeatureEntry kFeatureEntries[] = {
       flag_descriptions::kDesksTemplatesDescription, kOsCrOS,
       FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)},
  #endif
@@ -35,7 +35,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
 --- a/chrome/browser/flag-metadata.json
 +++ b/chrome/browser/flag-metadata.json
-@@ -2973,6 +2973,11 @@
+@@ -3092,6 +3092,11 @@
      // Added feature, for testing. expiry deep in future.
      "expiry_milestone": 116
    },
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
 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
-@@ -4205,6 +4205,11 @@ const char kSendTabToSelfV2Description[] =
+@@ -4255,6 +4255,11 @@ const char kSendTabToSelfV2Description[] =
      "Enables new received tab "
      "UI shown next to the profile icon instead of using system notifications.";
  
@@ -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
-@@ -2451,6 +2451,9 @@ extern const char kShowScrollableMVTOnNTPAndroidDescription[];
+@@ -2476,6 +2476,9 @@ extern const char kShowScrollableMVTOnNTPAndroidDescription[];
  extern const char kSendTabToSelfV2Name[];
  extern const char kSendTabToSelfV2Description[];
  
@@ -78,7 +78,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
-@@ -262,6 +262,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -264,6 +264,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
      &kRecordSuppressionMetrics,
      &kReduceToolbarUpdatesForSameDocNavigations,
      &kReengagementNotification,
@@ -86,7 +86,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
      &kRelatedSearches,
      &kReportParentalControlSitesChild,
      &kRequestDesktopSiteDefaults,
-@@ -440,6 +441,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
+@@ -449,6 +450,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
               "AllowNewIncognitoTabIntents",
               base::FEATURE_ENABLED_BY_DEFAULT);
  
@@ -100,10 +100,10 @@ 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
-@@ -149,6 +149,7 @@ BASE_DECLARE_FEATURE(kRequestDesktopSiteOptInSynthetic);
- BASE_DECLARE_FEATURE(kRequestDesktopSiteDefaultsDowngrade);
+@@ -150,6 +150,7 @@ BASE_DECLARE_FEATURE(kRequestDesktopSiteDefaultsDowngrade);
  BASE_DECLARE_FEATURE(kRequestDesktopSiteDefaultsLogging);
  BASE_DECLARE_FEATURE(kRequestDesktopSitePerSiteIph);
+ BASE_DECLARE_FEATURE(kRestoreTabsOnFRE);
 +BASE_DECLARE_FEATURE(kSearchReadyOmniboxFeature);
  BASE_DECLARE_FEATURE(kSharingHubLinkToggle);
  BASE_DECLARE_FEATURE(kShowScrollableMVTOnNTPAndroid);
@@ -111,7 +111,7 @@ 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
-@@ -297,6 +297,7 @@ public abstract class ChromeFeatureList {
+@@ -303,6 +303,7 @@ public abstract class ChromeFeatureList {
              "MessagesForAndroidInfrastructure";
      public static final String MESSAGES_FOR_ANDROID_PERMISSION_UPDATE =
              "MessagesForAndroidPermissionUpdate";
@@ -138,7 +138,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
  
      DropdownItemViewInfoListBuilder(@NonNull Supplier tabSupplier, BookmarkState bookmarkState,
              OpenHistoryClustersDelegate openHistoryClustersDelegate) {
-@@ -100,8 +102,10 @@ class DropdownItemViewInfoListBuilder {
+@@ -102,8 +104,10 @@ class DropdownItemViewInfoListBuilder {
              mDividerLineProcessor = new DividerLineProcessor(context);
          }
          mHeaderProcessor = new HeaderProcessor(context);
@@ -151,7 +151,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
          registerSuggestionProcessor(
                  new AnswerSuggestionProcessor(context, host, textProvider, imageFetcherSupplier));
          registerSuggestionProcessor(
-@@ -233,6 +237,9 @@ class DropdownItemViewInfoListBuilder {
+@@ -239,6 +243,9 @@ class DropdownItemViewInfoListBuilder {
      /** Signals that native initialization has completed. */
      void onNativeInitialized() {
          mHeaderProcessor.onNativeInitialized();
diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch
index 5b285cab..9474d3c0 100644
--- a/build/patches/Restore-Simplified-NTP-launch.patch
+++ b/build/patches/Restore-Simplified-NTP-launch.patch
@@ -29,7 +29,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
-@@ -564,6 +564,7 @@ chrome_java_resources = [
+@@ -566,6 +566,7 @@ chrome_java_resources = [
    "java/res/layout/new_tab_page_incognito.xml",
    "java/res/layout/new_tab_page_layout.xml",
    "java/res/layout/new_tab_page_tile_grid_placeholder.xml",
@@ -40,7 +40,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
 --- a/chrome/android/chrome_java_sources.gni
 +++ b/chrome/android/chrome_java_sources.gni
-@@ -600,6 +600,7 @@ chrome_java_sources = [
+@@ -599,6 +599,7 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
    "java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
    "java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
@@ -192,10 +192,10 @@ new file mode 100644
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
-@@ -26,9 +26,9 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
+@@ -25,9 +25,9 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
+  * {@link NativePageNavigationDelegate} implementation.
   */
  public class NativePageNavigationDelegateImpl implements NativePageNavigationDelegate {
-     private static final String TAG = "PageNavDelegate";
 -    private final Profile mProfile;
 +    protected final Profile mProfile;
      private final TabModelSelector mTabModelSelector;
@@ -215,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
  import org.chromium.chrome.browser.lens.LensMetrics;
  import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
  import org.chromium.chrome.browser.logo.LogoBridge.Logo;
-@@ -101,6 +102,8 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -100,6 +101,8 @@ public class NewTabPageLayout extends LinearLayout {
      private UiConfig mUiConfig;
      private CallbackController mCallbackController = new CallbackController();
  
@@ -224,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
      /**
       * Whether the tiles shown in the layout have finished loading.
       * With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
-@@ -228,6 +231,7 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -227,6 +230,7 @@ public class NewTabPageLayout extends LinearLayout {
          initializeMostVisitedTilesCoordinator(profile, lifecycleDispatcher, tileGroupDelegate,
                  touchEnabledDelegate, isScrollableMvtEnabled(), searchProviderIsGoogle);
          initializeSearchBoxBackground();
@@ -232,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
          initializeSearchBoxTextView();
          initializeVoiceSearchButton();
          initializeLensButton();
-@@ -573,16 +577,22 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -572,16 +576,22 @@ public class NewTabPageLayout extends LinearLayout {
                  marginLayoutParams.leftMargin = lateralPaddingsForNTP;
                  marginLayoutParams.rightMargin = lateralPaddingsForNTP;
              }
@@ -257,7 +257,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
              marginLayoutParams.bottomMargin = getGridMvtBottomMargin();
          }
          if (mIsNtpAsHomeSurfaceEnabled) {
-@@ -885,6 +895,22 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -884,6 +894,22 @@ public class NewTabPageLayout extends LinearLayout {
          return iphCommandBuilder;
      }
  
@@ -295,7 +295,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
  /**
   * Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods.
   */
-@@ -25,6 +30,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
+@@ -23,6 +28,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
          super(activity, profile, host, tabModelSelector, tab);
      }
  
@@ -317,7 +317,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
 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
-@@ -5220,6 +5220,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -5208,6 +5208,9 @@ const FeatureEntry kFeatureEntries[] = {
       SINGLE_VALUE_TYPE_AND_VALUE(
           switches::kForceShowUpdateMenuItemCustomSummary,
           "Custom Summary")},
@@ -330,7 +330,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
-@@ -4282,6 +4282,9 @@ const char kStartSurfaceWithAccessibilityName[] =
+@@ -4332,6 +4332,9 @@ const char kStartSurfaceWithAccessibilityName[] =
  const char kStartSurfaceWithAccessibilityDescription[] =
      "Enable Start Surface with Accessibility.";
  
@@ -343,7 +343,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
-@@ -2475,6 +2475,9 @@ extern const char kSlimCompositorDescription[];
+@@ -2500,6 +2500,9 @@ extern const char kSlimCompositorDescription[];
  extern const char kSmartSuggestionForLargeDownloadsName[];
  extern const char kSmartSuggestionForLargeDownloadsDescription[];
  
@@ -356,7 +356,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
-@@ -239,6 +239,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -240,6 +240,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
      &kIncognitoReauthenticationForAndroid,
      &kIncognitoScreenshot,
      &kInfobarScrollOptimization,
@@ -364,7 +364,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
      &kInstanceSwitcher,
      &kInstantStart,
      &kLensCameraAssistedSearch,
-@@ -783,6 +784,10 @@ BASE_FEATURE(kInstanceSwitcher,
+@@ -782,6 +783,10 @@ BASE_FEATURE(kInstanceSwitcher,
               "InstanceSwitcher",
               base::FEATURE_ENABLED_BY_DEFAULT);
  
@@ -378,7 +378,7 @@ 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
-@@ -122,6 +122,7 @@ BASE_DECLARE_FEATURE(kOmniboxModernizeVisualUpdate);
+@@ -121,6 +121,7 @@ BASE_DECLARE_FEATURE(kOmniboxModernizeVisualUpdate);
  BASE_DECLARE_FEATURE(kOmniboxWarmRecycledViewPool);
  BASE_DECLARE_FEATURE(kOptimizeGeolocationHeaderGeneration);
  BASE_DECLARE_FEATURE(kPageAnnotationsService);
@@ -389,7 +389,7 @@ 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
-@@ -295,6 +295,7 @@ public abstract class ChromeFeatureList {
+@@ -301,6 +301,7 @@ public abstract class ChromeFeatureList {
      public static final String LOOKALIKE_NAVIGATION_URL_SUGGESTIONS_UI =
              "LookalikeUrlNavigationSuggestionsUI";
      public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked";
@@ -400,7 +400,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
 diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
 --- a/testing/variations/fieldtrial_testing_config.json
 +++ b/testing/variations/fieldtrial_testing_config.json
-@@ -6706,6 +6706,24 @@
+@@ -6637,6 +6637,24 @@
              ]
          }
      ],
diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch
index d3da8c24..14576f27 100644
--- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch
+++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch
@@ -21,14 +21,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
 --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
 @@ -45,6 +45,7 @@ import org.chromium.chrome.browser.signin.services.SigninManager;
- import org.chromium.chrome.browser.sync.SyncService;
+ import org.chromium.chrome.browser.sync.SyncServiceFactory;
  import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
  import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
 +import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarFeatures;
  import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarStatePredictor;
  import org.chromium.chrome.browser.tracing.settings.DeveloperSettings;
  import org.chromium.components.browser_ui.settings.ChromeBasePreference;
-@@ -211,7 +212,9 @@ public class MainSettings extends PreferenceFragmentCompat
+@@ -212,7 +213,9 @@ public class MainSettings extends PreferenceFragmentCompat
  
          new AdaptiveToolbarStatePredictor(null).recomputeUiState(uiState -> {
              // We don't show the toolbar shortcut settings page if disabled from finch.
@@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareButt
 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
-@@ -625,18 +625,12 @@ const FeatureEntry::FeatureParam kAdaptiveButtonCustomization_Share[] = {
+@@ -632,18 +632,12 @@ const FeatureEntry::FeatureParam kAdaptiveButtonCustomization_Share[] = {
      {"default_segment", "share"},
      {"show_ui_only_after_ready", "false"},
      {"ignore_segmentation_results", "true"}};
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
      /**
       * Returns whether the adaptive toolbar is enabled with segmentation and customization.
       *
-@@ -205,12 +231,49 @@ public class AdaptiveToolbarFeatures {
+@@ -205,11 +231,48 @@ public class AdaptiveToolbarFeatures {
                          ChromeFeatureList.CONTEXTUAL_PAGE_ACTIONS, "enable_ui", true);
      }
  
@@ -235,8 +235,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
       * Returns the default variant to be shown in segmentation experiment when the backend results
       * are unavailable or not configured.
       */
-     @AdaptiveToolbarButtonVariant
-     static int getSegmentationDefault() {
+     static @AdaptiveToolbarButtonVariant int getSegmentationDefault() {
 +        assert !isSingleVariantModeEnabled();
          assert isCustomizationEnabled();
          if (sButtonVariant != null) return sButtonVariant;
@@ -244,7 +243,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
 diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java
 --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java
 +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java
-@@ -94,7 +94,12 @@ public class AdaptiveToolbarStatePredictor {
+@@ -93,7 +93,12 @@ public class AdaptiveToolbarStatePredictor {
  
          // Early return if the feature isn't enabled.
          if (!AdaptiveToolbarFeatures.isCustomizationEnabled()) {
diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch
index fe295a8d..5cd74615 100644
--- a/build/patches/Restore-offline-indicator-v2-flag.patch
+++ b/build/patches/Restore-offline-indicator-v2-flag.patch
@@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
 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
-@@ -832,7 +832,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -848,7 +848,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
      private void initStatusIndicatorCoordinator(LayoutManagerImpl layoutManager) {
          // TODO(crbug.com/1035584): Disable on tablets for now as we need to do one or two extra
          // things for tablets.
@@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
              return;
          }
  
-@@ -854,6 +855,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -870,6 +871,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
          mStatusIndicatorCoordinator.addObserver(mStatusIndicatorObserver);
          mStatusIndicatorCoordinator.addObserver(mStatusBarColorController);
  
@@ -114,7 +114,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
 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
-@@ -5125,6 +5125,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -5113,6 +5113,9 @@ const FeatureEntry kFeatureEntries[] = {
       flag_descriptions::kOfflinePagesLivePageSharingName,
       flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
       FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
@@ -127,7 +127,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
 --- a/chrome/browser/flag-metadata.json
 +++ b/chrome/browser/flag-metadata.json
-@@ -5471,6 +5471,11 @@
+@@ -5630,6 +5630,11 @@
      "owners": [ "//components/search/OWNERS" ],
      "expiry_milestone": 118
    },
@@ -142,7 +142,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
 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
-@@ -4029,6 +4029,10 @@ const char kNotificationPermissionRationaleBottomSheetDescription[] =
+@@ -4079,6 +4079,10 @@ const char kNotificationPermissionRationaleBottomSheetDescription[] =
      "flow. "
      "Only works with builds targeting Android T+.";
  
@@ -156,7 +156,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
-@@ -2347,6 +2347,9 @@ extern const char kNetworkServiceInProcessDescription[];
+@@ -2372,6 +2372,9 @@ extern const char kNetworkServiceInProcessDescription[];
  extern const char kNotificationPermissionRationaleName[];
  extern const char kNotificationPermissionRationaleDescription[];
  
@@ -169,7 +169,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
-@@ -248,6 +248,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -249,6 +249,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
      &kLensOnQuickActionSearchWidget,
      &kNotificationPermissionVariant,
      &kNotificationPermissionBottomSheet,
@@ -177,7 +177,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
      &kPageAnnotationsService,
      &kPreconnectOnTabCreation,
      &kInlineUpdateFlow,
-@@ -751,6 +752,10 @@ BASE_FEATURE(kDrawEdgeToEdge,
+@@ -749,6 +750,10 @@ BASE_FEATURE(kDrawEdgeToEdge,
  
  BASE_FEATURE(kEmptyStates, "EmptyStates", base::FEATURE_DISABLED_BY_DEFAULT);
  
@@ -191,7 +191,7 @@ 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
-@@ -113,6 +113,7 @@ BASE_DECLARE_FEATURE(kLanguagesPreference);
+@@ -112,6 +112,7 @@ BASE_DECLARE_FEATURE(kLanguagesPreference);
  BASE_DECLARE_FEATURE(kLensCameraAssistedSearch);
  BASE_DECLARE_FEATURE(kLensOnQuickActionSearchWidget);
  BASE_DECLARE_FEATURE(kLocationBarModelOptimizations);
@@ -202,7 +202,7 @@ 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
-@@ -307,6 +307,7 @@ public abstract class ChromeFeatureList {
+@@ -313,6 +313,7 @@ public abstract class ChromeFeatureList {
      public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
      public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
              "NotificationPermissionBottomSheet";
diff --git a/build/patches/Revert-Delete-block-external-form-redirects.patch b/build/patches/Revert-Delete-block-external-form-redirects.patch
index a44f7afa..58c6a2e0 100644
--- a/build/patches/Revert-Delete-block-external-form-redirects.patch
+++ b/build/patches/Revert-Delete-block-external-form-redirects.patch
@@ -20,7 +20,7 @@ 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
-@@ -242,6 +242,7 @@
+@@ -243,6 +243,7 @@
  #include "chrome/browser/push_messaging/push_messaging_features.h"
  #include "components/browser_ui/photo_picker/android/features.h"
  #include "components/content_creation/notes/core/note_features.h"
@@ -28,8 +28,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
  #include "components/translate/content/android/translate_message.h"
  #include "ui/android/ui_android_features.h"
  #else  // BUILDFLAG(IS_ANDROID)
-@@ -7998,6 +7999,12 @@ const FeatureEntry kFeatureEntries[] = {
- #endif  // BUILDFLAG(ENABLE_PAINT_PREVIEW) && BUILDFLAG(IS_ANDROID)
+@@ -10018,6 +10019,12 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif  // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
  
  #if BUILDFLAG(IS_ANDROID)
 +    {"block-external-form-redirects-no-gesture",
@@ -38,13 +38,13 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
 +     kOsAndroid,
 +     FEATURE_VALUE_TYPE(
 +         external_intents::kIntentBlockExternalFormRedirectsNoGesture)},
-     {"recover-from-never-save-android",
-      flag_descriptions::kRecoverFromNeverSaveAndroidName,
-      flag_descriptions::kRecoverFromNeverSaveAndroidDescription, kOsAndroid,
+     {"external-navigation-debug-logs",
+      flag_descriptions::kExternalNavigationDebugLogsName,
+      flag_descriptions::kExternalNavigationDebugLogsDescription, kOsAndroid,
 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
 --- a/chrome/browser/flag-metadata.json
 +++ b/chrome/browser/flag-metadata.json
-@@ -729,6 +729,11 @@
+@@ -788,6 +788,11 @@
      "owners": [ "ioanap", "vsemeniuk@google.com" ],
      "expiry_milestone": 117
    },
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
 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
-@@ -3949,6 +3949,12 @@ const char kInstantStartName[] = "Instant start";
+@@ -3999,6 +3999,12 @@ const char kInstantStartName[] = "Instant start";
  const char kInstantStartDescription[] =
      "Show start surface before native library is loaded.";
  
@@ -75,7 +75,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
-@@ -2299,6 +2299,9 @@ extern const char kInstanceSwitcherDescription[];
+@@ -2324,6 +2324,9 @@ extern const char kInstanceSwitcherDescription[];
  extern const char kInstantStartName[];
  extern const char kInstantStartDescription[];
  
diff --git a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
index ce8182a1..849baf2e 100644
--- a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
+++ b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
 --- a/chrome/browser/flag-metadata.json
 +++ b/chrome/browser/flag-metadata.json
-@@ -1556,6 +1556,10 @@
+@@ -1650,6 +1650,10 @@
        "yangsharon@google.com", "alexmos@google.com", "creis@google.com" ],
      "expiry_milestone": 122
    },
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
 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
-@@ -4080,6 +4080,10 @@ const char kReadLaterDescription[] =
+@@ -4130,6 +4130,10 @@ const char kReadLaterDescription[] =
      "Allow users to save tabs for later. Enables a new button and menu for "
      "accessing tabs saved for later.";
  
@@ -58,7 +58,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
-@@ -2382,6 +2382,9 @@ extern const char kQueryTilesSegmentationDescription[];
+@@ -2407,6 +2407,9 @@ extern const char kQueryTilesSegmentationDescription[];
  extern const char kQueryTilesSwapTrendingName[];
  extern const char kQueryTilesSwapTrendingDescription[];
  
diff --git a/build/patches/Revert-flags-remove-num-raster-threads.patch b/build/patches/Revert-flags-remove-num-raster-threads.patch
index 20851be8..fb1c9ff8 100644
--- a/build/patches/Revert-flags-remove-num-raster-threads.patch
+++ b/build/patches/Revert-flags-remove-num-raster-threads.patch
@@ -15,7 +15,7 @@ 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
-@@ -380,6 +380,15 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
+@@ -387,6 +387,15 @@ const FeatureEntry::Choice kOverlayStrategiesChoices[] = {
       "single-fullscreen,single-on-top,underlay"},
  };
  
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
  const FeatureEntry::Choice kTouchTextSelectionStrategyChoices[] = {
      {flags_ui::kGenericExperimentChoiceDefault, "", ""},
      {flag_descriptions::kTouchSelectionStrategyCharacter,
-@@ -4772,6 +4781,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -4767,6 +4776,9 @@ const FeatureEntry kFeatureEntries[] = {
       FEATURE_VALUE_TYPE(mojo::core::kMojoLinuxChannelSharedMem)},
  #endif
  #if BUILDFLAG(IS_ANDROID)
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
 --- a/chrome/browser/flag-metadata.json
 +++ b/chrome/browser/flag-metadata.json
-@@ -5123,6 +5123,10 @@
+@@ -5288,6 +5288,10 @@
      "owners": [ "lazzzis", "aishwaryarj"],
      "expiry_milestone": 118
    },
@@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
 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
-@@ -2109,6 +2109,14 @@ const char kOmniboxActionsInSuggestDescription[] =
+@@ -2199,6 +2199,14 @@ const char kOmniboxActionsInSuggestDescription[] =
      "Actions in Suggest permits optional Action Chips to be attached to "
      "Entity suggestions.";
  
@@ -76,7 +76,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
-@@ -1189,6 +1189,13 @@ extern const char kOmitCorsClientCertDescription[];
+@@ -1243,6 +1243,13 @@ extern const char kOmitCorsClientCertDescription[];
  extern const char kOmniboxActionsInSuggestName[];
  extern const char kOmniboxActionsInSuggestDescription[];
  
diff --git a/build/patches/Revert-removal-of-execution-context-address-space.patch b/build/patches/Revert-removal-of-execution-context-address-space.patch
index 7032a9be..3b51281c 100644
--- a/build/patches/Revert-removal-of-execution-context-address-space.patch
+++ b/build/patches/Revert-removal-of-execution-context-address-space.patch
@@ -70,7 +70,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
 diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
 --- a/third_party/blink/renderer/core/execution_context/execution_context.cc
 +++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
-@@ -527,6 +527,15 @@ void ExecutionContext::SetReferrerPolicy(
+@@ -524,6 +524,15 @@ void ExecutionContext::SetReferrerPolicy(
    policy_container_->UpdateReferrerPolicy(referrer_policy);
  }
  
@@ -97,7 +97,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
  #include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
  #include "third_party/abseil-cpp/absl/types/optional.h"
  #include "third_party/blink/public/common/tokens/tokens.h"
-@@ -382,6 +383,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable,
+@@ -386,6 +387,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable,
        const String& message = g_empty_string,
        const String& source_file = g_empty_string) const {}
  
@@ -110,7 +110,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
 diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
 --- a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
-@@ -273,6 +273,7 @@ void WebSharedWorkerImpl::StartWorkerContext(
+@@ -251,6 +251,7 @@ void WebSharedWorkerImpl::StartWorkerContext(
        MakeGarbageCollected(),
        std::make_unique(
            std::move(content_settings)),
@@ -121,7 +121,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
 diff --git a/third_party/blink/renderer/core/frame/policy_container.cc b/third_party/blink/renderer/core/frame/policy_container.cc
 --- a/third_party/blink/renderer/core/frame/policy_container.cc
 +++ b/third_party/blink/renderer/core/frame/policy_container.cc
-@@ -55,12 +55,22 @@ network::mojom::blink::ReferrerPolicy PolicyContainer::GetReferrerPolicy()
+@@ -56,12 +56,22 @@ network::mojom::blink::ReferrerPolicy PolicyContainer::GetReferrerPolicy()
    return policies_->referrer_policy;
  }
  
@@ -219,7 +219,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_par
 diff --git a/third_party/blink/renderer/core/layout/ng/custom/layout_worklet_global_scope_proxy.cc b/third_party/blink/renderer/core/layout/ng/custom/layout_worklet_global_scope_proxy.cc
 --- a/third_party/blink/renderer/core/layout/ng/custom/layout_worklet_global_scope_proxy.cc
 +++ b/third_party/blink/renderer/core/layout/ng/custom/layout_worklet_global_scope_proxy.cc
-@@ -56,7 +56,7 @@ LayoutWorkletGlobalScopeProxy::LayoutWorkletGlobalScopeProxy(
+@@ -48,7 +48,7 @@ LayoutWorkletGlobalScopeProxy::LayoutWorkletGlobalScopeProxy(
        window->GetReferrerPolicy(), window->GetSecurityOrigin(),
        window->IsSecureContext(), window->GetHttpsState(),
        nullptr /* worker_clients */,
@@ -606,7 +606,7 @@ diff --git a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_
          /*inherited_trial_features=*/nullptr,
          /*parent_devtools_token=*/base::UnguessableToken::Create(),
          /*worker_settings=*/nullptr,
-@@ -117,6 +118,7 @@ void ThreadedWorkletMessagingProxy::Initialize(
+@@ -108,6 +109,7 @@ void ThreadedWorkletMessagingProxy::Initialize(
            window->GetReferrerPolicy(), window->GetSecurityOrigin(),
            window->IsSecureContext(), window->GetHttpsState(), worker_clients,
            frame_client->CreateWorkerContentSettingsClient(),
@@ -695,7 +695,7 @@ diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.h b/thi
  #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
  #include "third_party/blink/public/common/loader/worker_main_script_load_parameters.h"
  #include "third_party/blink/public/common/tokens/tokens.h"
-@@ -165,6 +166,7 @@ class CORE_EXPORT WorkerGlobalScope
+@@ -172,6 +173,7 @@ class CORE_EXPORT WorkerGlobalScope
    virtual void Initialize(
        const KURL& response_url,
        network::mojom::ReferrerPolicy response_referrer_policy,
@@ -760,7 +760,7 @@ diff --git a/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
 diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc b/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc
 --- a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc
 +++ b/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope_proxy.cc
-@@ -54,7 +54,7 @@ PaintWorkletGlobalScopeProxy::PaintWorkletGlobalScopeProxy(
+@@ -47,7 +47,7 @@ PaintWorkletGlobalScopeProxy::PaintWorkletGlobalScopeProxy(
        window->GetReferrerPolicy(), window->GetSecurityOrigin(),
        window->IsSecureContext(), window->GetHttpsState(),
        nullptr /* worker_clients */,
@@ -861,7 +861,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl
 diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
 --- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
 +++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
-@@ -123,6 +123,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final
+@@ -124,6 +124,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final
    void Initialize(
        const KURL& response_url,
        network::mojom::ReferrerPolicy response_referrer_policy,
@@ -869,7 +869,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl
        Vector response_csp,
        const Vector* response_origin_trial_tokens) override;
    // Fetches and runs the top-level classic worker script.
-@@ -373,6 +374,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final
+@@ -378,6 +379,7 @@ class MODULES_EXPORT ServiceWorkerGlobalScope final
    void RunClassicScript(
        const KURL& response_url,
        network::mojom::ReferrerPolicy response_referrer_policy,
diff --git a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch
index 878f4fab..c92af3b4 100644
--- a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch
+++ b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 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
-@@ -528,6 +528,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
+@@ -529,6 +529,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
                  setUpSoundPreference(preference);
              } else if (type == ContentSettingsType.JAVASCRIPT) {
                  setUpJavascriptPreference(preference);
@@ -22,7 +22,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
              } else if (type == ContentSettingsType.GEOLOCATION) {
                  setUpLocationPreference(preference);
              } else if (type == ContentSettingsType.NOTIFICATIONS) {
-@@ -887,16 +889,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
+@@ -888,16 +890,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
      private void setUpAdsInformationalBanner() {
          // Add the informational banner which shows at the top of the UI if ad blocking is
          // activated on this site.
@@ -39,7 +39,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
      }
  
      private SiteSettingsCategory getWarningCategory() {
-@@ -1068,17 +1062,35 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
+@@ -1069,17 +1063,35 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
          @Nullable
          Integer currentValue =
                  mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT);
@@ -81,7 +81,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
      /**
       * Updates the ads list preference based on whether the site is a candidate for blocking. This
       * has some custom behavior.
-@@ -1094,22 +1106,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
+@@ -1095,22 +1107,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
              setupContentSettingsPreference(preference, null, false);
              return;
          }
diff --git a/build/patches/Switch-to-fstack-protector-strong.patch b/build/patches/Switch-to-fstack-protector-strong.patch
index 21e5f8ec..d49dd769 100644
--- a/build/patches/Switch-to-fstack-protector-strong.patch
+++ b/build/patches/Switch-to-fstack-protector-strong.patch
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
 --- a/build/config/compiler/BUILD.gn
 +++ b/build/config/compiler/BUILD.gn
-@@ -360,18 +360,12 @@ config("compiler") {
+@@ -361,18 +361,12 @@ config("compiler") {
            cflags += [ "-fstack-protector" ]
          }
        } else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) {
diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch
index 031b13b7..e10cf6df 100644
--- a/build/patches/Timezone-customization.patch
+++ b/build/patches/Timezone-customization.patch
@@ -51,9 +51,9 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
      "java/src/org/chromium/components/browser_ui/site_settings/WebsiteRowPreference.java",
 +    "java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java"
    ]
-   annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
+ 
    resources_package = "org.chromium.components.browser_ui.site_settings"
-@@ -265,6 +266,8 @@ android_resources("java_resources") {
+@@ -267,6 +268,8 @@ android_resources("java_resources") {
      "java/res/xml/site_settings_preferences.xml",
      "java/res/xml/site_settings_preferences_with_categories.xml",
      "java/res/xml/website_preferences.xml",
@@ -652,7 +652,7 @@ new file mode 100644
 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
-@@ -90,6 +90,8 @@ void PrefProvider::RegisterProfilePrefs(
+@@ -71,6 +71,8 @@ void PrefProvider::RegisterProfilePrefs(
                                       info->GetPrefRegistrationFlags());
    }
  
@@ -661,7 +661,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
    // Obsolete prefs ----------------------------------------------------------
  
    // These prefs have been removed, but need to be registered so they can
-@@ -172,6 +174,10 @@ PrefProvider::PrefProvider(PrefService* prefs,
+@@ -142,6 +144,10 @@ PrefProvider::PrefProvider(PrefService* prefs,
      event_args->set_number_of_exceptions(
          num_exceptions);  // PrefProvider::PrefProvider.
    });
@@ -672,7 +672,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
  }
  
  PrefProvider::~PrefProvider() {
-@@ -365,4 +371,14 @@ void PrefProvider::SetClockForTesting(base::Clock* clock) {
+@@ -330,4 +336,14 @@ void PrefProvider::SetClockForTesting(base::Clock* clock) {
    clock_ = clock;
  }
  
@@ -726,7 +726,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
 diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
 --- a/components/content_settings/core/browser/host_content_settings_map.cc
 +++ b/components/content_settings/core/browser/host_content_settings_map.cc
-@@ -613,6 +613,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) {
+@@ -628,6 +628,14 @@ void HostContentSettingsMap::SetClockForTesting(base::Clock* clock) {
      provider->SetClockForTesting(clock);
  }
  
@@ -744,7 +744,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
 diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h
 --- a/components/content_settings/core/browser/host_content_settings_map.h
 +++ b/components/content_settings/core/browser/host_content_settings_map.h
-@@ -335,6 +335,9 @@ class HostContentSettingsMap : public content_settings::Observer,
+@@ -344,6 +344,9 @@ class HostContentSettingsMap : public content_settings::Observer,
      allow_invalid_secondary_pattern_for_testing_ = allow;
    }
  
@@ -764,7 +764,7 @@ new file mode 100644
 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
-@@ -105,6 +105,7 @@ struct RendererContentSettingRules {
+@@ -110,6 +110,7 @@ struct RendererContentSettingRules {
    ContentSettingsForOneType popup_redirect_rules;
    ContentSettingsForOneType mixed_content_rules;
    ContentSettingsForOneType auto_dark_content_rules;
@@ -775,7 +775,7 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon
 diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
 --- a/components/content_settings/core/common/content_settings.mojom
 +++ b/components/content_settings/core/common/content_settings.mojom
-@@ -84,4 +84,5 @@ struct RendererContentSettingRules {
+@@ -101,4 +101,5 @@ struct RendererContentSettingRules {
    array popup_redirect_rules;
    array mixed_content_rules;
    array auto_dark_content_rules;
@@ -784,7 +784,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
 diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
 --- a/components/content_settings/core/common/content_settings_mojom_traits.cc
 +++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
-@@ -112,7 +112,8 @@ bool StructTraitsscript_rules) &&
           data.ReadPopupRedirectRules(&out->popup_redirect_rules) &&
           data.ReadMixedContentRules(&out->mixed_content_rules) &&
@@ -797,7 +797,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
 diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
 --- a/components/content_settings/core/common/content_settings_mojom_traits.h
 +++ b/components/content_settings/core/common/content_settings_mojom_traits.h
-@@ -174,6 +174,11 @@ struct StructTraits<
+@@ -218,6 +218,11 @@ struct StructTraits<
      return r.auto_dark_content_rules;
    }
  
@@ -812,7 +812,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
 diff --git a/components/content_settings/core/common/pref_names.cc b/components/content_settings/core/common/pref_names.cc
 --- a/components/content_settings/core/common/pref_names.cc
 +++ b/components/content_settings/core/common/pref_names.cc
-@@ -181,4 +181,7 @@ const char kDesktopSitePeripheralSettingEnabled[] =
+@@ -182,4 +182,7 @@ const char kDesktopSitePeripheralSettingEnabled[] =
  const char kDesktopSiteDisplaySettingEnabled[] = "desktop_site.display_setting";
  #endif
  
diff --git a/build/patches/Use-4-tile-rows-never-show-logo.patch b/build/patches/Use-4-tile-rows-never-show-logo.patch
index a7d62e8a..4c2b0788 100644
--- a/build/patches/Use-4-tile-rows-never-show-logo.patch
+++ b/build/patches/Use-4-tile-rows-never-show-logo.patch
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
-@@ -113,7 +113,7 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -112,7 +112,7 @@ public class NewTabPageLayout extends LinearLayout {
       */
      private boolean mHasShownView;
  
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
      private boolean mSearchProviderIsGoogle;
      private boolean mShowingNonStandardLogo;
  
-@@ -361,7 +361,7 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -360,7 +360,7 @@ public class NewTabPageLayout extends LinearLayout {
              boolean isScrollableMvtEnabled, boolean searchProviderIsGoogle) {
          assert mMvTilesContainerLayout != null;
  
@@ -31,7 +31,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
          if (searchProviderIsGoogle && QueryTileUtils.isQueryTilesEnabledOnNTP()) {
              maxRows = QueryTileSection.getMaxRowsForMostVisitedTiles(getContext());
          }
-@@ -541,7 +541,7 @@ public class NewTabPageLayout extends LinearLayout {
+@@ -540,7 +540,7 @@ public class NewTabPageLayout extends LinearLayout {
                  && mInitialized) {
              return;
          }
diff --git a/build/patches/Use-dummy-DFM-installer.patch b/build/patches/Use-dummy-DFM-installer.patch
index 02527917..eb64920f 100644
--- a/build/patches/Use-dummy-DFM-installer.patch
+++ b/build/patches/Use-dummy-DFM-installer.patch
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
 --- a/components/module_installer/android/BUILD.gn
 +++ b/components/module_installer/android/BUILD.gn
-@@ -19,13 +19,11 @@ android_library("module_installer_java") {
+@@ -20,13 +20,11 @@ android_library("module_installer_java") {
      "java/src/org/chromium/components/module_installer/logger/Logger.java",
      "java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java",
      "java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java",
diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch
index e8c7e77b..4b68477b 100644
--- a/build/patches/User-agent-customization.patch
+++ b/build/patches/User-agent-customization.patch
@@ -73,7 +73,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
 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
-@@ -669,4 +669,6 @@ chrome_java_resources = [
+@@ -671,4 +671,6 @@ chrome_java_resources = [
    "java/res/xml/privacy_preferences_v2.xml",
    "java/res/xml/search_widget_info.xml",
    "java/res/xml/tracing_preferences.xml",
@@ -83,7 +83,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
 --- a/chrome/android/chrome_java_sources.gni
 +++ b/chrome/android/chrome_java_sources.gni
-@@ -937,6 +937,7 @@ chrome_java_sources = [
+@@ -928,6 +928,7 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java",
    "java/src/org/chromium/chrome/browser/payments/ui/LineItem.java",
    "java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java",
@@ -542,7 +542,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
  import org.chromium.base.supplier.Supplier;
  import org.chromium.chrome.R;
  import org.chromium.chrome.browser.ActivityUtils;
-@@ -554,6 +558,32 @@ public class TabImpl implements Tab {
+@@ -553,6 +557,32 @@ public class TabImpl implements Tab {
                  params.setOverrideUserAgent(calculateUserAgentOverrideOption(null));
              }
  
@@ -575,7 +575,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
              @TabLoadStatus
              int result = loadUrlInternal(params, fixedUrl);
  
-@@ -1463,8 +1493,15 @@ public class TabImpl implements Tab {
+@@ -1462,8 +1492,15 @@ public class TabImpl implements Tab {
  
              mWebContents.setImportance(mImportance);
  
@@ -593,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
  
              mContentView.addOnAttachStateChangeListener(mAttachStateChangeListener);
              updateInteractableState();
-@@ -1621,6 +1658,10 @@ public class TabImpl implements Tab {
+@@ -1620,6 +1657,10 @@ public class TabImpl implements Tab {
              if (mWebContents != null) mWebContents.getNavigationController().loadIfNecessary();
              mIsBeingRestored = true;
              for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
@@ -604,7 +604,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
          } finally {
              TraceEvent.end("Tab.restoreIfNeeded");
          }
-@@ -1757,6 +1798,13 @@ public class TabImpl implements Tab {
+@@ -1756,6 +1797,13 @@ public class TabImpl implements Tab {
      }
  
      private @UserAgentOverrideOption int calculateUserAgentOverrideOption(@Nullable GURL url) {
@@ -618,7 +618,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
          WebContents webContents = getWebContents();
          boolean currentRequestDesktopSite = TabUtils.isUsingDesktopUserAgent(webContents);
          @TabUserAgent
-@@ -1823,6 +1871,43 @@ public class TabImpl implements Tab {
+@@ -1821,6 +1869,43 @@ public class TabImpl implements Tab {
                  /* forcedByUser */ false, caller);
      }
  
@@ -665,7 +665,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
-@@ -34,6 +34,10 @@ import org.chromium.ui.base.WindowAndroid;
+@@ -35,6 +35,10 @@ import org.chromium.ui.base.WindowAndroid;
  import org.chromium.ui.display.DisplayAndroidManager;
  import org.chromium.url.GURL;
  
@@ -913,7 +913,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
 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
-@@ -983,6 +983,9 @@ public final class ChromePreferenceKeys {
+@@ -971,6 +971,9 @@ public final class ChromePreferenceKeys {
      public static final String BLUETOOTH_NOTIFICATION_IDS = "Chrome.Bluetooth.NotificationIds";
      public static final String USB_NOTIFICATION_IDS = "Chrome.USB.NotificationIds";
  
@@ -923,7 +923,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
      /**
       * These values are currently used as SharedPreferences keys, along with the keys in
       * {@link LegacyChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys
-@@ -1120,6 +1123,8 @@ public final class ChromePreferenceKeys {
+@@ -1106,6 +1109,8 @@ public final class ChromePreferenceKeys {
                  SIGNIN_PROMO_NTP_LAST_SHOWN_TIME,
                  SYNC_PROMO_TOTAL_SHOW_COUNT,
                  SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP,
@@ -1050,7 +1050,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
 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
-@@ -380,6 +380,19 @@ const char kAllowJavascriptAppleEvents[] =
+@@ -376,6 +376,19 @@ const char kAllowJavascriptAppleEvents[] =
  
  #endif
  
@@ -1073,9 +1073,9 @@ 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
-@@ -1243,6 +1243,14 @@ extern const char kDesktopSharingHubEnabled[];
- #if !BUILDFLAG(IS_ANDROID)
+@@ -1246,6 +1246,14 @@ extern const char kDesktopSharingHubEnabled[];
  extern const char kLastWhatsNewVersion[];
+ extern const char kHasShownRefreshWhatsNew[];
  #endif
 +#if BUILDFLAG(IS_ANDROID)
 +extern const char kOverrideUserAgentEnabled[];
@@ -1112,7 +1112,7 @@ diff --git a/components/browser_ui/widget/android/java/src/org/chromium/componen
 diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
 --- a/components/embedder_support/user_agent_utils.cc
 +++ b/components/embedder_support/user_agent_utils.cc
-@@ -605,6 +605,10 @@ blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service) {
+@@ -563,6 +563,10 @@ blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service) {
            policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled);
      ua_options.force_major_to_minor = GetMajorToMinorFromPrefs(pref_service);
    }
@@ -1123,7 +1123,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
    metadata.brand_version_list = GetBrandMajorVersionList(
        enable_updated_grease_by_policy, ua_options.force_major_to_minor);
    metadata.brand_full_version_list = GetBrandFullVersionList(
-@@ -642,7 +646,9 @@ void SetDesktopUserAgentOverride(content::WebContents* web_contents,
+@@ -600,7 +604,9 @@ void SetDesktopUserAgentOverride(content::WebContents* web_contents,
  
    blink::UserAgentOverride spoofed_ua;
    spoofed_ua.ua_string_override = content::BuildUserAgentFromOSAndProduct(
@@ -1145,7 +1145,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
      const JavaParamRef& j_initiator_origin,
      jboolean has_user_gesture,
      jboolean should_clear_history_list,
-@@ -340,6 +341,9 @@ NavigationControllerAndroid::LoadUrl(
+@@ -351,6 +352,9 @@ NavigationControllerAndroid::LoadUrl(
  
    params.navigation_ui_data = std::move(navigation_ui_data);
  
@@ -1169,7 +1169,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con
 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
-@@ -3628,6 +3628,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3722,6 +3722,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
      switches::kLacrosUseChromeosProtectedMedia,
      switches::kLacrosUseChromeosProtectedAv1,
  #endif
@@ -1188,7 +1188,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
  #include "base/check_op.h"
  #include "base/command_line.h"
  #include "base/containers/contains.h"
-@@ -2906,6 +2907,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() {
+@@ -2932,6 +2933,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences() {
  #else
      prefs.viewport_meta_enabled = false;
  #endif
@@ -1207,27 +1207,27 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
                      params.getIsRendererInitiated(), params.getShouldReplaceCurrentEntry(),
 +                    params.getUserAgentOverrideOption(),
                      params.getInitiatorOrigin(), params.getHasUserGesture(),
-                     params.getShouldClearHistoryList(), params.getImpression(), inputStart,
-                     params.getNavigationUIDataSupplier() == null
-@@ -376,7 +377,7 @@ import org.chromium.url.Origin;
+                     params.getShouldClearHistoryList(), params.getAdditionalNavigationParams(),
+                     inputStart,
+@@ -377,7 +378,7 @@ import org.chromium.url.Origin;
                  String referrerUrl, int referrerPolicy, int uaOverrideOption, String extraHeaders,
                  ResourceRequestBody postData, String baseUrlForDataUrl, String virtualUrlForDataUrl,
                  String dataUrlAsString, boolean canLoadLocalResources, boolean isRendererInitiated,
 -                boolean shouldReplaceCurrentEntry, Origin initiatorOrigin, boolean hasUserGesture,
 +                boolean shouldReplaceCurrentEntry, int userAgentOverrideOption, Origin initiatorOrigin, boolean hasUserGesture,
-                 boolean shouldClearHistoryList, Impression impression, long inputStart,
+                 boolean shouldClearHistoryList,
+                 AdditionalNavigationParams additionalNavigationParams, long inputStart,
                  long navigationUIDataPtr);
-         void clearHistory(long nativeNavigationControllerAndroid, NavigationControllerImpl caller);
 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
-@@ -930,7 +930,6 @@ void RenderThreadImpl::InitializeRenderer(
+@@ -922,7 +922,6 @@ void RenderThreadImpl::InitializeRenderer(
      const std::vector& cors_exempt_header_list,
      network::mojom::AttributionSupport attribution_support,
      blink::mojom::OriginTrialsSettingsPtr origin_trials_settings) {
 -  DCHECK(user_agent_.IsNull());
-   DCHECK(reduced_user_agent_.IsNull());
-   DCHECK(full_user_agent_.IsNull());
  
+   user_agent_ = WebString::FromUTF8(user_agent);
+   GetContentClient()->renderer()->DidSetUserAgent(user_agent);
 --
 2.25.1
diff --git a/build/patches/Viewport-Protection-Site-Setting.patch b/build/patches/Viewport-Protection-Site-Setting.patch
index cf067c9c..dd97b00a 100644
--- a/build/patches/Viewport-Protection-Site-Setting.patch
+++ b/build/patches/Viewport-Protection-Site-Setting.patch
@@ -183,19 +183,19 @@ new file mode 100644
 diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -222,7 +222,7 @@ BASE_FEATURE(kPath2DPaintCache,
+@@ -1302,7 +1302,7 @@ constexpr base::FeatureParam
  
  BASE_FEATURE(kViewportProtection,
               "ViewportProtection",
 -             base::FEATURE_ENABLED_BY_DEFAULT);
 +             base::FEATURE_DISABLED_BY_DEFAULT);
  
- BASE_FEATURE(kPrivacySandboxAdsAPIs,
-              "PrivacySandboxAdsAPIs",               // disabled by default
+ BASE_FEATURE(kProcessHtmlDataImmediately,
+              "ProcessHtmlDataImmediately",
 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
-@@ -2305,6 +2305,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
+@@ -2298,6 +2298,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
      //     var w = window.open()
      //     var not_emulated_screen_info = w.screen
      bool protection_enabled = base::FeatureList::IsEnabled(features::kViewportProtection);
@@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
 diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
 --- a/third_party/blink/renderer/core/page/page.cc
 +++ b/third_party/blink/renderer/core/page/page.cc
-@@ -888,6 +888,9 @@ void Page::UpdateAcceleratedCompositingSettings() {
+@@ -887,6 +887,9 @@ void Page::UpdateAcceleratedCompositingSettings() {
  
  void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
    bool isEnabled = base::FeatureList::IsEnabled(features::kViewportProtection);
diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch
index 6437396c..0d5bebb8 100644
--- a/build/patches/Viewport-Protection-flag.patch
+++ b/build/patches/Viewport-Protection-flag.patch
@@ -34,9 +34,9 @@ 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
-@@ -8043,6 +8043,11 @@ const FeatureEntry kFeatureEntries[] = {
-      FEATURE_VALUE_TYPE(paint_preview::kPaintPreviewDemo)},
- #endif  // BUILDFLAG(ENABLE_PAINT_PREVIEW) && BUILDFLAG(IS_ANDROID)
+@@ -10101,6 +10101,11 @@ const FeatureEntry kFeatureEntries[] = {
+      FEATURE_VALUE_TYPE(features::kDesktopPWAsAppHomePage)},
+ #endif  // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
  
 +    {"viewport-protection",
 +     flag_descriptions::kViewportProtectionName,
@@ -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
-@@ -7206,6 +7206,12 @@ const char kPaintPreviewDemoDescription[] =
+@@ -7352,6 +7352,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
-@@ -4171,6 +4171,9 @@ extern const char kPaintPreviewDemoName[];
+@@ -4249,6 +4249,9 @@ extern const char kPaintPreviewDemoName[];
  extern const char kPaintPreviewDemoDescription[];
  #endif  // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID)
  
@@ -78,23 +78,23 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
 diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
 --- a/third_party/blink/common/features.cc
 +++ b/third_party/blink/common/features.cc
-@@ -220,6 +220,10 @@ BASE_FEATURE(kPath2DPaintCache,
-              "Path2DPaintCache",
-              base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -1300,6 +1300,10 @@ constexpr base::FeatureParam
+                                                   "fledge_extensions_enabled",
+                                                   /*default_value=*/true};
  
 +BASE_FEATURE(kViewportProtection,
 +             "ViewportProtection",
 +             base::FEATURE_ENABLED_BY_DEFAULT);
 +
- BASE_FEATURE(kPrivacySandboxAdsAPIs,
-              "PrivacySandboxAdsAPIs",               // disabled by default
-              base::FEATURE_DISABLED_BY_DEFAULT);    // in bromite
+ BASE_FEATURE(kProcessHtmlDataImmediately,
+              "ProcessHtmlDataImmediately",
+              base::FEATURE_DISABLED_BY_DEFAULT);
 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
-@@ -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);
+@@ -1202,6 +1202,9 @@ BLINK_COMMON_EXPORT bool IsFencedFramesEnabled();
+ 
+ BLINK_COMMON_EXPORT bool IsMaxUnthrottledTimeoutNestingLevelEnabled();
  
 +// Enable blink viewport protection
 +BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kViewportProtection);
@@ -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
-@@ -1709,7 +1709,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const {
+@@ -1712,7 +1712,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
-@@ -1039,7 +1039,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
+@@ -1040,7 +1040,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,7 +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
-@@ -1511,7 +1511,12 @@ int LocalDOMWindow::outerHeight() const {
+@@ -1504,7 +1504,12 @@ int LocalDOMWindow::outerHeight() const {
    if (frame->IsInFencedFrameTree()) {
      return innerHeight();
    }
@@ -252,7 +252,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
    Page* page = frame->GetPage();
    if (!page)
      return 0;
-@@ -1536,7 +1541,12 @@ int LocalDOMWindow::outerWidth() const {
+@@ -1529,7 +1534,12 @@ int LocalDOMWindow::outerWidth() const {
    if (frame->IsInFencedFrameTree()) {
      return innerWidth();
    }
@@ -266,7 +266,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
    Page* page = frame->GetPage();
    if (!page)
      return 0;
-@@ -1729,7 +1739,8 @@ double LocalDOMWindow::devicePixelRatio() const {
+@@ -1722,7 +1732,8 @@ double LocalDOMWindow::devicePixelRatio() const {
    if (!GetFrame())
      return 0.0;
  
@@ -276,7 +276,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 {
-@@ -2284,6 +2295,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
+@@ -2277,6 +2288,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
    if (!completed_url.IsEmpty() || result.new_window)
      result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
  
@@ -301,7 +301,7 @@ 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
-@@ -1376,6 +1376,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
+@@ -1423,6 +1423,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
    return gfx::SizeF(inline_size, block_size);
  }
  
@@ -312,7 +312,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_);
  }
-@@ -1515,12 +1519,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
+@@ -1562,12 +1566,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
    return mojo_handler_->GetDevicePosture();
  }
  
@@ -334,7 +334,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
-@@ -409,13 +409,14 @@ class CORE_EXPORT LocalFrame final
+@@ -412,13 +412,14 @@ class CORE_EXPORT LocalFrame final
    void SetInViewSourceMode(bool = true);
  
    void SetPageZoomFactor(float);
@@ -351,7 +351,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.
-@@ -1023,6 +1024,7 @@ class CORE_EXPORT LocalFrame final
+@@ -1036,6 +1037,7 @@ class CORE_EXPORT LocalFrame final
    unsigned hidden_ : 1;
  
    float page_zoom_factor_;
@@ -457,7 +457,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
-@@ -1713,6 +1713,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
+@@ -1714,6 +1714,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
  
      if (auto* device_emulator = DeviceEmulator()) {
        device_emulator->UpdateVisualProperties(visual_properties);
@@ -537,7 +537,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
  #include "third_party/blink/public/common/features.h"
  #include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
  #include "third_party/blink/public/platform/platform.h"
-@@ -92,6 +93,9 @@
+@@ -91,6 +92,9 @@
  #include "third_party/blink/renderer/platform/scheduler/public/agent_group_scheduler.h"
  #include "third_party/blink/renderer/platform/scheduler/public/frame_scheduler.h"
  #include "third_party/skia/include/core/SkColor.h"
@@ -547,7 +547,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
  
  namespace blink {
  
-@@ -882,7 +886,79 @@ void Page::UpdateAcceleratedCompositingSettings() {
+@@ -881,7 +885,79 @@ void Page::UpdateAcceleratedCompositingSettings() {
    }
  }
  
@@ -630,9 +630,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
-@@ -432,6 +432,9 @@ class CORE_EXPORT Page final : public GarbageCollected,
-   // in.
-   const base::UnguessableToken& CoopRelatedGroupToken();
+@@ -436,6 +436,9 @@ class CORE_EXPORT Page final : public GarbageCollected,
+   // place.
+   void UpdateBrowsingContextGroup(const blink::BrowsingContextGroupInfo&);
  
 +  void CalculateEmulatedScreenSetting(LocalFrame* frame, bool force = false);
 +  bool IsScreenEmulated() { return is_screen_emulated; }
@@ -640,7 +640,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren
   private:
    friend class ScopedPagePauser;
  
-@@ -575,6 +578,10 @@ class CORE_EXPORT Page final : public GarbageCollected,
+@@ -579,6 +582,10 @@ class CORE_EXPORT Page final : public GarbageCollected,
    // browser side FrameTree has the FrameTree::Type of kFencedFrame.
    bool is_fenced_frame_tree_ = false;
  
@@ -654,7 +654,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
-@@ -1875,8 +1875,8 @@
+@@ -1899,8 +1899,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/Welcome-screen.patch b/build/patches/Welcome-screen.patch
index 6efd9ebd..fe2ee8ac 100644
--- a/build/patches/Welcome-screen.patch
+++ b/build/patches/Welcome-screen.patch
@@ -27,18 +27,18 @@ 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
-@@ -528,6 +528,7 @@ chrome_java_resources = [
+@@ -529,6 +529,7 @@ chrome_java_resources = [
    "java/res/layout/find_in_page.xml",
    "java/res/layout/find_toolbar.xml",
    "java/res/layout/fre_tos_privacy_disclaimer.xml",
 +  "java/res/layout/fre_tosanduma.xml",
-   "java/res/layout/fullscreen_notification.xml",
    "java/res/layout/history_clear_browsing_data_header.xml",
    "java/res/layout/history_item_view.xml",
+   "java/res/layout/history_main.xml",
 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
-@@ -627,6 +627,8 @@ chrome_java_sources = [
+@@ -626,6 +626,8 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/firstrun/SyncConsentFirstRunFragment.java",
    "java/src/org/chromium/chrome/browser/firstrun/TabbedModeFirstRunActivity.java",
    "java/src/org/chromium/chrome/browser/firstrun/TosDialogBehaviorSharedPrefInvalidator.java",
@@ -294,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ChildA
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
-@@ -29,9 +29,7 @@ import org.chromium.chrome.browser.fonts.FontPreloader;
+@@ -30,9 +30,7 @@ import org.chromium.chrome.browser.fonts.FontPreloader;
  import org.chromium.chrome.browser.metrics.UmaUtils;
  import org.chromium.chrome.browser.profiles.Profile;
  import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
@@ -303,9 +303,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
 -import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial;
 +import org.chromium.chrome.browser.firstrun.ToSAndUMAFirstRunFragment;
  import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
+ import org.chromium.components.feature_engagement.EventConstants;
  import org.chromium.components.metrics.LowEntropySource;
- import org.chromium.ui.base.ActivityWindowAndroid;
-@@ -120,7 +118,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -122,7 +120,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
      /** Creates first page and sets up adapter. Should result UI being shown on the screen. */
      private void createFirstPage() {
          BooleanSupplier showWelcomePage = () -> !FirstRunStatus.shouldSkipWelcomePage();
@@ -314,7 +314,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
          mFreProgressStates.add(MobileFreProgress.WELCOME_SHOWN);
          mPagerAdapter = new FirstRunPagerAdapter(FirstRunActivity.this, mPages);
          mPager.setAdapter(mPagerAdapter);
-@@ -142,13 +140,11 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -144,13 +142,11 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
          //
          // TODO(b/245912657): explicitly sign in supervised users in {@link
          // SigninFirstRunMediator#handleContinueWithNative} rather than relying on SigninChecker.
@@ -328,7 +328,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
  
          // An optional page to select a default search engine.
          if (showSearchEnginePromo.getAsBoolean()) {
-@@ -157,11 +153,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -159,11 +155,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
              mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN);
          }
  
@@ -340,7 +340,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
          if (mPagerAdapter != null) {
              mPagerAdapter.notifyDataSetChanged();
          }
-@@ -206,10 +197,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -208,10 +199,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
  
      @Override
      public void triggerLayoutInflation() {
@@ -351,7 +351,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
          super.triggerLayoutInflation();
  
          initializeStateFromLaunchData();
-@@ -495,10 +482,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
+@@ -500,10 +487,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
      public void acceptTermsOfService(boolean allowMetricsAndCrashUploading) {
          assert mNativeInitializationPromise.isFulfilled();
  
@@ -1234,7 +1234,7 @@ new file mode 100644
 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
-@@ -3122,7 +3122,29 @@ To change this setting, <resetlink>reset sync

<resetlink>reset sync

%1$sGoogle Maps will open in Chrome. By continuing, you agree to the <LINK1>Google Terms of Service</LINK1>, and the <LINK2>Google Chrome and ChromeOS Additional Terms of Service</LINK2>. The <LINK3>Privacy Policy</LINK3> also applies. diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch index 80d9961d..3cdab6c4 100644 --- a/build/patches/autofill-miscellaneous.patch +++ b/build/patches/autofill-miscellaneous.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -1062,11 +1062,11 @@ void RegisterProfilePrefsForMigration( +@@ -1138,11 +1138,11 @@ void RegisterProfilePrefsForMigration( PrefRegistry::LOSSY_PREF); // Deprecated 11/2022. @@ -41,7 +41,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc --- a/chrome/browser/ui/autofill/chrome_autofill_client.cc +++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -181,12 +181,7 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -182,12 +182,7 @@ ChromeAutofillClient::GetURLLoaderFactory() { } AutofillDownloadManager* ChromeAutofillClient::GetDownloadManager() { @@ -154,7 +154,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.h b/comp diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/components/autofill/core/browser/browser_autofill_manager.h --- a/components/autofill/core/browser/browser_autofill_manager.h +++ b/components/autofill/core/browser/browser_autofill_manager.h -@@ -770,9 +770,9 @@ class BrowserAutofillManager : public AutofillManager, +@@ -784,9 +784,9 @@ class BrowserAutofillManager : public AutofillManager, credit_card_form_event_logger_; // Have we logged whether Autofill is enabled for this page load? @@ -169,7 +169,7 @@ diff --git a/components/autofill/core/browser/browser_autofill_manager.h b/compo diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc --- a/components/autofill/core/common/autofill_features.cc +++ b/components/autofill/core/common/autofill_features.cc -@@ -711,8 +711,8 @@ BASE_FEATURE(kAutofillLogToTerminal, +@@ -718,8 +718,8 @@ BASE_FEATURE(kAutofillLogToTerminal, // "upload" resources. // i.e., https://other.autofill.server:port/tbproxy/af/ BASE_FEATURE(kAutofillServerCommunication, @@ -183,7 +183,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc -@@ -123,7 +123,7 @@ const char kAutofillPaymentMethodsMandatoryReauthPromoShownCounter[] = +@@ -129,7 +129,7 @@ const char kAutofillPaymentMethodsMandatoryReauthPromoShownCounter[] = void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { // Synced prefs. Used for cross-device choices, e.g., credit card Autofill. registry->RegisterBooleanPref( @@ -192,7 +192,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterIntegerPref( prefs::kAutofillLastVersionDeduped, 0, -@@ -135,10 +135,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -141,10 +141,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { prefs::kAutofillLastVersionDisusedAddressesDeleted, 0, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( @@ -203,17 +203,17 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto - prefs::kAutofillIBANEnabled, true, + prefs::kAutofillIBANEnabled, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); - - // Non-synced prefs. Used for per-device choices, e.g., signin promo. -@@ -168,7 +168,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { + registry->RegisterBooleanPref( + prefs::kAutofillPaymentCvcStorageAndFilling, true, +@@ -176,7 +176,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { // Deprecated prefs registered for migration. registry->RegisterBooleanPref( - prefs::kAutofillEnabledDeprecated, true, + prefs::kAutofillEnabledDeprecated, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); + registry->RegisterBooleanPref(prefs::kAutofillOrphanRowsRemoved, false); } - diff --git a/components/password_manager/core/browser/password_generation_frame_helper.cc b/components/password_manager/core/browser/password_generation_frame_helper.cc --- a/components/password_manager/core/browser/password_generation_frame_helper.cc +++ b/components/password_manager/core/browser/password_generation_frame_helper.cc diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index c3e790eb..de9ba8c3 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -121,7 +121,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu diff --git a/build/android/gyp/util/build_utils.py b/build/android/gyp/util/build_utils.py --- a/build/android/gyp/util/build_utils.py +++ b/build/android/gyp/util/build_utils.py -@@ -493,4 +493,27 @@ def ReadSourcesList(sources_list_file_name): +@@ -491,4 +491,27 @@ def ReadSourcesList(sources_list_file_name): Note that this function should not be used to parse response files. """ with open(sources_list_file_name) as f: @@ -405,7 +405,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -590,7 +590,7 @@ if (enable_java_templates && is_android) { +@@ -433,7 +433,7 @@ if (enable_java_templates && is_android) { # } template("java_cpp_enum") { action_with_pydeps(target_name) { @@ -414,7 +414,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni # The sources aren't compiled so don't check their dependencies. check_includes = false -@@ -601,6 +601,10 @@ if (enable_java_templates && is_android) { +@@ -444,6 +444,10 @@ if (enable_java_templates && is_android) { _rebased_sources = rebase_path(invoker.sources, root_build_dir) args = [ "--srcjar=$_rebased_srcjar_path" ] + _rebased_sources diff --git a/build/patches/build-remove-calling-untrusted-hooks.patch b/build/patches/build-remove-calling-untrusted-hooks.patch index 793ef2a9..193252f7 100644 --- a/build/patches/build-remove-calling-untrusted-hooks.patch +++ b/build/patches/build-remove-calling-untrusted-hooks.patch @@ -31,7 +31,7 @@ diff --git a/DEPS b/DEPS # By default bot checkouts the WPR archive files only when this # flag is set True. -@@ -4542,49 +4542,6 @@ hooks = [ +@@ -4550,49 +4550,6 @@ hooks = [ 'sync', '--extract', ], }, @@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS { # Case-insensitivity for the Win SDK. Must run before win_toolchain below. 'name': 'ciopfs_linux', -@@ -4735,57 +4692,6 @@ hooks = [ +@@ -4743,57 +4700,6 @@ hooks = [ ], }, @@ -139,7 +139,7 @@ diff --git a/DEPS b/DEPS # Pull rc binaries using checked-in hashes. { 'name': 'rc_win', -@@ -4811,30 +4717,6 @@ hooks = [ +@@ -4819,30 +4725,6 @@ hooks = [ '-s', 'src/build/toolchain/win/rc/mac/rc.sha1', ], }, diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index 78c22d84..2e2970b9 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java -@@ -202,12 +202,6 @@ public class WebViewChromiumAwInit { +@@ -199,12 +199,6 @@ public class WebViewChromiumAwInit { AwBrowserProcess.configureChildProcessLauncher(); @@ -28,7 +28,7 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java -@@ -474,10 +474,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -485,10 +485,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { } } diff --git a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch index 5bdc7882..42aee3f3 100644 --- a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch +++ b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -155,12 +155,12 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds; +@@ -156,12 +156,12 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds; // Time between IPv6 probes, i.e. for how long results of each IPv6 probe are // cached. diff --git a/build/patches/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch index fae6ec11..b34d604a 100644 --- a/build/patches/enable-ftrivial-auto-var-init-zero.patch +++ b/build/patches/enable-ftrivial-auto-var-init-zero.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -381,6 +381,10 @@ config("compiler") { +@@ -382,6 +382,10 @@ config("compiler") { cflags += [ "-fwrapv" ] } diff --git a/build/patches/kill-Location-fall-back-to-system.patch b/build/patches/kill-Location-fall-back-to-system.patch index 6fd1ea86..94bc4e17 100644 --- a/build/patches/kill-Location-fall-back-to-system.patch +++ b/build/patches/kill-Location-fall-back-to-system.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -161,7 +161,6 @@ if (is_android) { +@@ -162,7 +162,6 @@ if (is_android) { "android/java/src/org/chromium/device/geolocation/LocationProviderAdapter.java", "android/java/src/org/chromium/device/geolocation/LocationProviderAndroid.java", "android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java", diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index 9509c31e..2e9eca86 100644 --- a/build/patches/kill-Vision.patch +++ b/build/patches/kill-Vision.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -278,8 +278,6 @@ if (current_toolchain == default_toolchain) { +@@ -280,8 +280,6 @@ if (current_toolchain == default_toolchain) { "$google_play_services_package:google_play_services_gcm_java", "$google_play_services_package:google_play_services_iid_java", "$google_play_services_package:google_play_services_tasks_java", diff --git a/build/patches/net-cert-increase-default-key-length.patch b/build/patches/net-cert-increase-default-key-length.patch index e2bee69f..df5c3d23 100644 --- a/build/patches/net-cert-increase-default-key-length.patch +++ b/build/patches/net-cert-increase-default-key-length.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/cert/x509_util.cc b/net/cert/x509_util.cc --- a/net/cert/x509_util.cc +++ b/net/cert/x509_util.cc -@@ -248,7 +248,7 @@ bool GetTLSServerEndPointChannelBinding(const X509Certificate& certificate, +@@ -254,7 +254,7 @@ bool GetTLSServerEndPointChannelBinding(const X509Certificate& certificate, } // RSA keys created by CreateKeyAndSelfSignedCert will be of this length. diff --git a/build/patches/translate-disable-fetching-of-languages-from-server.patch b/build/patches/translate-disable-fetching-of-languages-from-server.patch index 6622fce2..47add6e1 100644 --- a/build/patches/translate-disable-fetching-of-languages-from-server.patch +++ b/build/patches/translate-disable-fetching-of-languages-from-server.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/translate/core/browser/translate_language_list.cc b/components/translate/core/browser/translate_language_list.cc --- a/components/translate/core/browser/translate_language_list.cc +++ b/components/translate/core/browser/translate_language_list.cc -@@ -229,6 +229,7 @@ GURL TranslateLanguageList::TranslateLanguageUrl() { +@@ -242,6 +242,7 @@ GURL TranslateLanguageList::TranslateLanguageUrl() { } void TranslateLanguageList::RequestLanguageList() { @@ -18,7 +18,7 @@ diff --git a/components/translate/core/browser/translate_language_list.cc b/comp // If resource requests are not allowed, we'll get a callback when they are. if (!resource_requests_allowed_) { request_pending_ = true; -@@ -258,6 +259,7 @@ void TranslateLanguageList::RequestLanguageList() { +@@ -271,6 +272,7 @@ void TranslateLanguageList::RequestLanguageList() { if (!result) NotifyEvent(__LINE__, "Request is omitted due to retry limit"); } diff --git a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch index 65f75373..fb3834b7 100644 --- a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch +++ b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc --- a/components/network_time/network_time_tracker.cc +++ b/components/network_time/network_time_tracker.cc -@@ -292,7 +292,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, +@@ -289,7 +289,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, } bool NetworkTimeTracker::AreTimeFetchesEnabled() const { diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 9f977cad..a793cd5b 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -13,7 +13,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 -@@ -1411,8 +1411,6 @@ static_library("browser") { +@@ -1423,8 +1423,6 @@ static_library("browser") { "profiles/profile_attributes_storage.cc", "profiles/profile_attributes_storage.h", "profiles/profile_attributes_storage_observer.h", diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index b4affb09..4ee2d6db 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -167,7 +167,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse 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 -@@ -1755,9 +1755,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1790,9 +1790,6 @@ Your Google account may have other forms of browsing history like searches and a Websites will show text in your preferred language, when possible. diff --git a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index b0a72547..667e77b0 100644 --- a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch +++ b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser/media/webrtc/webrtc_log_uploader.cc --- a/chrome/browser/media/webrtc/webrtc_log_uploader.cc +++ b/chrome/browser/media/webrtc/webrtc_log_uploader.cc -@@ -127,36 +127,7 @@ void WebRtcLogUploader::OnLoggingStopped( +@@ -128,36 +128,7 @@ void WebRtcLogUploader::OnLoggingStopped( DCHECK(meta_data.get()); DCHECK(!upload_done_data.paths.directory.empty()); @@ -50,7 +50,7 @@ diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser } void WebRtcLogUploader::PrepareMultipartPostData( -@@ -167,6 +138,11 @@ void WebRtcLogUploader::PrepareMultipartPostData( +@@ -168,6 +139,11 @@ void WebRtcLogUploader::PrepareMultipartPostData( DCHECK(!compressed_log.empty()); DCHECK(meta_data.get()); @@ -76,7 +76,7 @@ diff --git a/chrome/browser/media/webrtc/webrtc_logging_controller.cc b/chrome/b diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -96,7 +96,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -98,7 +98,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false); registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); registry->RegisterBooleanPref(prefs::kWebRTCAllowLegacyTLSProtocols, false); diff --git a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch index b32edba2..dea951e9 100644 --- a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch +++ b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch @@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -91,7 +91,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -93,7 +93,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, diff --git a/build/patches/webview-Hard-no-to-persistent-histograms.patch b/build/patches/webview-Hard-no-to-persistent-histograms.patch index 64dff8b3..7e36c28f 100644 --- a/build/patches/webview-Hard-no-to-persistent-histograms.patch +++ b/build/patches/webview-Hard-no-to-persistent-histograms.patch @@ -18,8 +18,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browser/aw_field_trials.cc --- a/android_webview/browser/aw_field_trials.cc +++ b/android_webview/browser/aw_field_trials.cc -@@ -11,11 +11,4 @@ - #include "components/metrics/persistent_histograms.h" +@@ -47,13 +47,6 @@ class AwFeatureOverrides { + } // namespace void AwFieldTrials::OnVariationsSetupComplete() { - // Persistent histograms must be enabled ASAP, but depends on Features. @@ -30,5 +30,7 @@ diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browse - NOTREACHED(); - } } + + // TODO(crbug.com/1453407): Consider to migrate all WebView feature overrides -- 2.25.1