From 8e5a82cb9ed5de06ffc4614f9f7c6b351491a77e Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Mon, 29 Sep 2025 11:50:52 +0200 Subject: [PATCH] Patches for 141 --- .../Add-AllowUserCertificates-flag.patch | 14 +- ...dd-Alt-D-hotkey-to-focus-address-bar.patch | 6 +- ...tialLowEndModeOnMidRangeDevices-flag.patch | 10 +- .../Add-a-flag-to-disable-GamePad-API.patch | 8 +- .../Add-a-proxy-configuration-page.patch | 14 +- build/patches/Add-autoplay-site-setting.patch | 2 +- .../Add-bookmark-import-export-actions.patch | 74 ++--- build/patches/Add-cromite-flags-support.patch | 203 ++++++------- build/patches/Add-cromite-test-support.patch | 22 +- ...dd-custom-tab-intents-privacy-option.patch | 38 +-- build/patches/Add-exit-menu-item.patch | 16 +- ...g-for-omnibox-autocomplete-filtering.patch | 8 +- .../Add-flag-to-disable-IPv6-probes.patch | 4 +- ...-to-disable-external-intent-requests.patch | 16 +- .../Add-flag-to-disable-vibration.patch | 2 +- ...-switch-for-unsupported-clangd-flags.patch | 12 +- ...Add-lifetime-options-for-permissions.patch | 128 ++++---- .../Add-menu-item-to-bookmark-all-tabs.patch | 26 +- .../Add-menu-item-to-view-source.patch | 10 +- .../Add-option-to-disable-snapshots.patch | 31 +- ...-to-not-persist-tabs-across-sessions.patch | 14 +- .../Add-option-to-use-home-page-as-NTP.patch | 36 +-- build/patches/Add-search-engine.patch | 15 +- .../Add-setting-to-clear-data-on-exit.patch | 28 +- ...d-setting-to-invert-tap-and-long-tap.patch | 69 ++--- build/patches/Add-site-engagement-flag.patch | 6 +- ...-support-for-ISupportHelpAndFeedback.patch | 4 +- .../Add-support-for-writing-URIs.patch | 2 +- build/patches/Add-webGL-site-setting.patch | 4 +- build/patches/Add-webRTC-site-settings.patch | 6 +- ...ow-building-without-enable_reporting.patch | 22 +- ...ow-building-without-supervised-users.patch | 26 +- .../Allow-playing-audio-in-background.patch | 6 +- ...ays-open-browser-controls-in-new-tab.patch | 10 +- ...e-new-tab-page-for-default-home-page.patch | 17 +- .../patches/Android-Pixel-Perfect-Mode.patch | 276 +++++++++--------- ...roid-Toolbar-Scroll-Ablation-setting.patch | 4 +- ...Ask-for-restart-on-connection-change.patch | 60 ++-- ...Block-gateway-attacks-via-websockets.patch | 2 +- ...k-leakage-of-urls-in-sandbox-iframes.patch | 4 +- .../Block-qjz9zk-or-trk-requests.patch | 4 +- build/patches/Bromite-auto-updater.patch | 82 +++--- .../Bromite-subresource-adblocker.patch | 30 +- .../Bubble-Locking-on-UI-DevTools.patch | 12 +- .../patches/Chrome-web-store-protection.patch | 155 +++++----- ...ORS-Preflight-Cache-on-clearing-data.patch | 2 +- build/patches/Client-hints-overrides.patch | 53 ++-- .../patches/Close-Sessions-On-Ip-Change.patch | 6 +- ...romite-Branding--improve-settings-ui.patch | 10 +- build/patches/Cromite-Branding.patch | 53 ++-- build/patches/Customize-selection-popup.patch | 32 +- ...ctionary-suggestions-for-the-Omnibox.patch | 9 +- .../Disable-Android-Tab-Declutter.patch | 2 +- .../Disable-CSS-blink-feature-support.patch | 2 +- .../Disable-CSSDynamicRangeLimit.patch | 2 +- build/patches/Disable-Compose-feature.patch | 6 +- ...ble-Compression-Dictionary-Transport.patch | 2 +- .../Disable-Device-Attributes-API.patch | 4 +- build/patches/Disable-FedCm.patch | 2 +- build/patches/Disable-GSA-by-default.patch | 26 +- .../Disable-GetInstalledRelatedApps-API.patch | 2 +- .../Disable-Paint-Preview-by-default.patch | 2 +- build/patches/Disable-Real-Box.patch | 4 +- build/patches/Disable-TLS-resumption.patch | 12 +- build/patches/Disable-Viewport-Segments.patch | 2 +- build/patches/Disable-WebGPU.patch | 8 +- .../patches/Disable-all-predictors-code.patch | 199 ++++++------- build/patches/Disable-all-promo-dialogs.patch | 6 +- .../Disable-conversion-measurement-api.patch | 44 +-- build/patches/Disable-crash-reporting.patch | 6 +- .../Disable-css-preferred-text-scale.patch | 2 +- ...Disable-fetching-of-all-field-trials.patch | 26 +- build/patches/Disable-idle-detection.patch | 2 +- ...media-router-and-remoting-by-default.patch | 6 +- .../Disable-omission-of-URL-elements.patch | 6 +- .../patches/Disable-plugins-enumeration.patch | 2 +- .../Disable-prefers-reduced-motion.patch | 10 +- ...ers-reduced-transparency-media-query.patch | 2 +- ...e-privacy-issues-in-password-manager.patch | 10 +- build/patches/Disable-privacy-sandbox.patch | 51 ++-- ...e-references-to-fonts.googleapis.com.patch | 6 +- ...ble-remote-altsvc-for-h3-connections.patch | 10 +- .../Disable-smart-selection-by-default.patch | 8 +- ...isable-some-signed-exchange-features.patch | 2 +- ...isable-speechSynthesis-getVoices-API.patch | 2 +- .../Disable-text-fragments-by-default.patch | 8 +- .../Disable-third-party-origin-trials.patch | 10 +- build/patches/Disable-various-metrics.patch | 50 ++-- .../Disable-visited-pseudo-class.patch | 10 +- ...allow-Android-App-Scheme-as-referrer.patch | 2 +- .../Do-not-build-API-keys-infobar.patch | 2 +- .../Do-not-compile-QR-code-sharing.patch | 18 +- .../patches/Do-not-link-with-libatomic.patch | 2 +- .../Do-not-store-passwords-by-default.patch | 9 +- ...Windows-ClearType-Text-Tuner-setting.patch | 4 +- build/patches/DoH-improvements.patch | 6 +- ...ndroid-Dynamic-Performance-Framework.patch | 20 +- build/patches/Enable-Cert-Management-UI.patch | 2 +- .../Enable-Certificate-Transparency.patch | 8 +- ...le-Document-Open-Inheritance-Removal.patch | 4 +- .../Enable-Global-Privacy-Control.patch | 40 +-- build/patches/Enable-HEVC-by-default.patch | 14 +- ...Enable-HighEfficiencyMode-by-default.patch | 2 +- ...ctOriginIsolation-and-SitePerProcess.patch | 8 +- build/patches/Enable-component-updater.patch | 14 +- ...e-darken-websites-checkbox-in-themes.patch | 2 +- ...fwrapv-in-Clang-for-non-UBSan-builds.patch | 2 +- .../patches/Enable-gwp-asan-on-Android.patch | 22 +- .../Enable-menu-on-reload-button.patch | 4 +- .../Enable-network-isolation-features.patch | 12 +- ...le-platform-aac-audio-and-h264-video.patch | 16 +- build/patches/Enable-share-intent.patch | 26 +- build/patches/Enable-snackbar-swipe.patch | 14 +- ...ivation-of-the-js-debugger-statement.patch | 16 +- .../Experimental-user-scripts-support.patch | 54 ++-- build/patches/Eyeo-Adblock-for-Cromite.patch | 48 +-- build/patches/Fix-chromium-build-bugs.patch | 12 +- .../Fonts-fingerprinting-mitigation.patch | 20 +- .../Force-use-vpython3-for-some-scripts.patch | 2 +- .../Guard-for-user-agent-reduction.patch | 8 +- ...story-number-of-days-privacy-setting.patch | 47 ++- build/patches/Internal-firewall.patch | 24 +- build/patches/JIT-site-settings.patch | 16 +- .../Keep-ComputePressure-disabled.patch | 2 +- .../patches/Keep-Manta-Service-Disabled.patch | 2 +- .../patches/Keep-disabled-FetchLaterAPI.patch | 4 +- ...ep-disabled-WebViewMediaIntegrityApi.patch | 8 +- .../Keep-empty-tabs-between-sessions.patch | 10 +- ...-allow-screenshots-in-Incognito-mode.patch | 6 +- build/patches/Keyboard-protection-flag.patch | 12 +- .../Lock-Profile-Cookie-Database.patch | 6 +- ...ing-attributes-in-some-html-elements.patch | 14 +- build/patches/Logcat-crash-reports-UI.patch | 8 +- .../patches/Modify-default-preferences.patch | 12 +- ...nt-settings-back-to-privacy-settings.patch | 12 +- .../Multiple-fingerprinting-mitigations.patch | 36 +-- ...er-treat-Proguard-warnings-as-errors.patch | 2 +- build/patches/OpenSearch-miscellaneous.patch | 8 +- .../patches/Override-Navigator-Language.patch | 6 +- .../Partition-Blink-memory-cache.patch | 18 +- .../patches/Partition-HSTS-cache-by-NAK.patch | 58 ++-- .../Partition-MediaDeviceId-by-default.patch | 2 +- .../Partition-blobs-by-top-frame-URL.patch | 2 +- ...vate-network-access-content-settings.patch | 16 +- ...redential-fingerprinting-mitigations.patch | 6 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 12 +- ...e-introduce-override_build_timestamp.patch | 2 +- ...ders-in-DoH-requests-to-bare-minimum.patch | 13 +- .../Remove-ChromiumNetworkAdapter.patch | 2 +- ...referrals-in-cross-origin-navigation.patch | 42 +-- build/patches/Remove-SMS-integration.patch | 24 +- .../Remove-binary-blob-integrations.patch | 158 +++++----- ...cklisted-URLs-upon-bookmark-creation.patch | 2 +- .../Remove-detection-of-captive-portals.patch | 2 +- build/patches/Remove-help-menu-item.patch | 20 +- .../Remove-segmentation-platform.patch | 6 +- ...Remove-voice-recognition-integration.patch | 106 +++---- ...ndow-name-on-cross-origin-navigation.patch | 10 +- ...ore-BookmarkToolbar-setCurrentFolder.patch | 25 +- .../Restore-LastTabStandingTracker.patch | 8 +- .../Restore-Search-Ready-Omnibox-flag.patch | 41 ++- .../Restore-Simplified-NTP-launch.patch | 126 ++++---- ...-button-in-top-toolbar-customization.patch | 14 +- .../Restore-chrome-password-store.patch | 44 +-- .../Restore-classic-new-tab-page.patch | 6 +- .../Restore-offline-indicator-v2-flag.patch | 18 +- ...emove-disable-pull-to-refresh-effect.patch | 2 +- ...l-of-execution-context-address-space.patch | 38 +-- ...script-content-setting-secondary-url.patch | 6 +- .../Set-caret-blink-interval-to-default.patch | 2 +- .../Set-the-screen-frame-rate-to-60-Hz.patch | 34 +-- build/patches/Show-NTP-at-startup.patch | 36 +-- build/patches/Site-setting-for-images.patch | 12 +- .../Switch-to-fstack-protector-strong.patch | 2 +- ...-Add-a-log-to-track-strange-behavior.patch | 2 +- ...formanceNavigationTiming-privacy-fix.patch | 4 +- .../Temp-disable-UseContextSnapshot.patch | 8 +- ...e-experimental-web-platform-features.patch | 2 +- ...ileSystemAccessPersistentPermissions.patch | 6 +- ...arily-disable-Tab-Group-Sync-Android.patch | 4 +- build/patches/Timezone-customization.patch | 16 +- .../patches/Use-BoringSSL-for-RandBytes.patch | 30 +- .../Use-browser-navigation-handler.patch | 10 +- .../Use-list-mode-for-tab-switcher.patch | 46 +-- build/patches/User-agent-customization.patch | 60 ++-- build/patches/Viewport-Protection-flag.patch | 36 +-- build/patches/WIN-Disable-updater.patch | 8 +- build/patches/WIN-Fix-log-to-file.patch | 2 +- .../WIN-disable-annotate-downloads.patch | 2 +- build/patches/WIN-enable-pdf-plugin.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 6 +- build/patches/Welcome-screen.patch | 22 +- build/patches/add-browser-policy.patch | 55 ++-- ...load-of-clang-for-windows-crossbuild.patch | 32 +- build/patches/autofill-miscellaneous.patch | 20 +- build/patches/bromite-build-utils.patch | 12 +- .../disable-WebView-variations-support.patch | 8 +- .../disable-appending-variations-header.patch | 2 +- ...IPv6-connectivity-probes-to-RIPE-DNS.patch | 2 +- ...ot-block-build-incompatible-profiles.patch | 2 +- .../enable-ftrivial-auto-var-init-zero.patch | 2 +- .../eyeo-133.0.6943.49-android_api.patch | 18 +- .../eyeo-133.0.6943.49-android_settings.patch | 36 +-- build/patches/eyeo-133.0.6943.49-base.patch | 62 ++-- ...yeo-133.0.6943.49-chrome_integration.patch | 80 ++--- .../eyeo-133.0.6943.49-extension_api.patch | 24 +- .../kill-Location-fall-back-to-system.patch | 21 +- build/patches/kill-Vision.patch | 2 +- .../sharing-hub-always-use-visible-URL.patch | 2 +- ...gled-chromium-Disable-profile-avatar.patch | 6 +- ...romium-Disable-translate-integration.patch | 17 +- ...chromium-Disable-webRTC-log-uploader.patch | 2 +- ...ed-chromium-no-special-hosts-domains.patch | 109 +++---- ...RTC-do-not-expose-local-IP-addresses.patch | 4 +- 214 files changed, 2286 insertions(+), 2318 deletions(-) diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index b77fcca6..df21203f 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -20,7 +20,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 -@@ -236,6 +236,7 @@ import org.chromium.content_public.browser.LoadUrlParams; +@@ -239,6 +239,7 @@ import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.common.ContentSwitches; @@ -28,7 +28,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; -@@ -985,6 +986,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -999,6 +1000,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); @@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv 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 -@@ -184,6 +184,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedPerformanceStudy, &feed::kFeedShowSignInCommand, &feed::kFeedSignedOutViewDemotion, @@ -59,7 +59,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = "AdaptiveButtonInTopToolbarPageSummary"; public static final String ALLOW_TAB_CLOSING_UPON_MINIMIZATION = -@@ -768,6 +769,8 @@ public abstract class ChromeFeatureList { +@@ -796,6 +797,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sAndroidWindowPopupResizeAfterSpawn = newCachedFlag(ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN, false); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); @@ -68,9 +68,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sAppSpecificHistoryViewIntent = newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true); public static final CachedFlag sAsyncNotificationManager = -@@ -1080,6 +1083,7 @@ public abstract class ChromeFeatureList { - sAccountForSuppressedKeyboardInsets, - sAllowTabClosingUponMinimization, +@@ -1131,6 +1134,7 @@ public abstract class ChromeFeatureList { + sAndroidAnimatedProgressBarInBrowser, + sAndroidAnimatedProgressBarInViz, sAndroidAppIntegration, + sAllowUserCertificates, sAndroidAppIntegrationModule, diff --git a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch index b9df368a..26d2be12 100644 --- a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch +++ b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch @@ -10,9 +10,9 @@ 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/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java --- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java -@@ -890,6 +890,11 @@ public class KeyboardShortcuts { - KeyEvent.KEYCODE_B, - (KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON)); +@@ -895,6 +895,11 @@ public class KeyboardShortcuts { + KeyEvent.KEYCODE_ESCAPE, + KeyEvent.META_CTRL_ON); } + addShortcut(context, + shortcutGroupsById.get(R.string.keyboard_shortcut_chrome_feature_group_header), diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index 0983566d..8c82ee41 100644 --- a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch +++ b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/features.cc b/base/features.cc --- a/base/features.cc +++ b/base/features.cc -@@ -149,6 +149,10 @@ bool IsReducePPMsEnabled() { +@@ -129,6 +129,10 @@ bool IsReducePPMsEnabled() { return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed); } @@ -29,15 +29,15 @@ diff --git a/base/features.cc b/base/features.cc diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc --- a/content/renderer/render_process_impl.cc +++ b/content/renderer/render_process_impl.cc -@@ -7,6 +7,7 @@ - #pragma allow_unsafe_libc_calls - #endif +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. +#include "base/features.h" #include "content/renderer/render_process_impl.h" #include "build/build_config.h" -@@ -127,10 +128,18 @@ RenderProcessImpl::RenderProcessImpl() +@@ -122,10 +123,18 @@ RenderProcessImpl::RenderProcessImpl() base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDisallowV8FeatureFlagOverrides); if (!disallow_v8_feature_flag_overrides) { diff --git a/build/patches/Add-a-flag-to-disable-GamePad-API.patch b/build/patches/Add-a-flag-to-disable-GamePad-API.patch index 5d48178d..a64f07cc 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.patch @@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.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 -@@ -8690,9 +8690,9 @@ +@@ -8787,9 +8787,9 @@ "expiry_milestone": 150 }, { @@ -28,11 +28,11 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js + "expiry_milestone": -1 }, { - "name": "retain-omnibox-on-focus", + "name": "rewriter-api-for-gemini-nano", 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 -@@ -258,6 +258,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -263,6 +263,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)}, {wf::EnablePeriodicBackgroundSync, raw_ref(features::kPeriodicBackgroundSync)}, @@ -56,7 +56,7 @@ new file mode 100644 diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc --- a/device/gamepad/public/cpp/gamepad_features.cc +++ b/device/gamepad/public/cpp/gamepad_features.cc -@@ -36,4 +36,12 @@ bool IsGamepadMultitouchEnabled() { +@@ -33,4 +33,12 @@ bool IsGamepadMultitouchEnabled() { return false; } diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 0c6a07a3..cd0fc177 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -78,7 +78,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -100,6 +100,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -102,6 +102,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; @@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -376,6 +376,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -409,6 +409,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { builtins_to_provide.push_back(chrome::kChromeUISettingsURL16); #endif builtins_to_provide.push_back(chrome::kChromeUIVersionURL16); @@ -206,7 +206,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/extensions/background_mode_manager.h" #endif -@@ -1605,6 +1607,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1685,6 +1687,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -661,7 +661,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 -@@ -169,6 +169,8 @@ static_library("ui") { +@@ -156,6 +156,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -683,7 +683,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -422,7 +425,7 @@ void RegisterChromeWebUIConfigs() { +@@ -424,7 +427,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif @@ -1135,7 +1135,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 -@@ -50,6 +50,7 @@ bool IsSystemWebUIHost(std::string_view host) { +@@ -53,6 +53,7 @@ bool IsSystemWebUIHost(std::string_view host) { kChromeUILockScreenNetworkHost, kChromeUILockScreenStartReauthHost, kChromeUIMobileSetupHost, @@ -1143,7 +1143,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons kChromeUIMultiDeviceSetupHost, kChromeUINetworkHost, kChromeUINotificationTesterHost, -@@ -71,6 +72,7 @@ bool IsSystemWebUIHost(std::string_view host) { +@@ -74,6 +75,7 @@ bool IsSystemWebUIHost(std::string_view host) { // These hosts will also be suggested by BuiltinProvider. base::span ChromeURLHosts() { static constexpr auto kChromeURLHosts = std::to_array({ diff --git a/build/patches/Add-autoplay-site-setting.patch b/build/patches/Add-autoplay-site-setting.patch index 7b784340..4d3ff33b 100644 --- a/build/patches/Add-autoplay-site-setting.patch +++ b/build/patches/Add-autoplay-site-setting.patch @@ -308,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi if (!IsLockedPendingUserGesture()) return false; -@@ -458,6 +461,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() { +@@ -457,6 +460,17 @@ void AutoplayPolicy::MaybeSetAutoplayInitiated() { } } diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 7754a013..e7db3b19 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -94,17 +94,17 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java -@@ -13,6 +13,7 @@ import org.chromium.base.jank_tracker.JankTracker; - import org.chromium.base.supplier.ObservableSupplier; +@@ -11,6 +11,7 @@ import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; - import org.chromium.base.supplier.Supplier; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.compositor.CompositorViewHolder; -@@ -60,7 +61,7 @@ import java.util.List; - * ChromeTabbedActivity}. +@@ -60,7 +61,7 @@ import java.util.function.Supplier; */ + @NullMarked public class TabbedModeTabDelegateFactory implements TabDelegateFactory { - private final Activity mActivity; + private final ChromeActivity mActivity; @@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe private final Supplier mShareDelegateSupplier; private final Supplier mEphemeralTabCoordinatorSupplier; @@ -91,7 +92,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { - private NativePageFactory mNativePageFactory; + private @Nullable NativePageFactory mNativePageFactory; public TabbedModeTabDelegateFactory( - Activity activity, @@ -199,33 +199,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java -@@ -19,6 +19,7 @@ import org.chromium.base.supplier.ObservableSupplier; - import org.chromium.base.supplier.OneshotSupplier; - import org.chromium.base.supplier.Supplier; +@@ -20,6 +20,7 @@ import org.chromium.base.supplier.OneshotSupplier; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; +import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage; import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier; -@@ -63,7 +64,7 @@ import org.chromium.ui.util.ColorUtils; - * Creates NativePage objects to show chrome-native:// URLs using the native Android view system. +@@ -67,7 +68,7 @@ import java.util.function.Supplier; */ + @NullMarked public class NativePageFactory { - private final Activity mActivity; + private final ChromeActivity mActivity; private final BottomSheetController mBottomSheetController; private final BrowserControlsManager mBrowserControlsManager; - private final Supplier mCurrentTabSupplier; -@@ -87,7 +88,7 @@ public class NativePageFactory { - private static NativePage sTestPage; + private final Supplier<@Nullable Tab> mCurrentTabSupplier; +@@ -91,7 +92,7 @@ public class NativePageFactory { + private static @Nullable NativePage sTestPage; public NativePageFactory( -- @NonNull Activity activity, -+ @NonNull ChromeActivity activity, - @NonNull BottomSheetController sheetController, - @NonNull BrowserControlsManager browserControlsManager, - @NonNull Supplier currentTabSupplier, -@@ -162,7 +163,7 @@ public class NativePageFactory { +- Activity activity, ++ ChromeActivity activity, + BottomSheetController sheetController, + BrowserControlsManager browserControlsManager, + Supplier<@Nullable Tab> currentTabSupplier, +@@ -166,7 +167,7 @@ public class NativePageFactory { @VisibleForTesting static class NativePageBuilder { @@ -234,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final Supplier mNewTabPageCreationTracker; private final BrowserControlsManager mBrowserControlsManager; -@@ -271,7 +272,7 @@ public class NativePageFactory { +@@ -275,7 +276,7 @@ public class NativePageFactory { mBrowserControlsManager, mTabModelSelector, mEdgeToEdgeControllerSupplier), @@ -246,7 +246,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 -@@ -245,6 +245,8 @@ static_library("browser") { +@@ -241,6 +241,8 @@ static_library("browser") { "bluetooth/chrome_bluetooth_delegate_impl_client.h", "bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.h", @@ -255,7 +255,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", -@@ -1721,6 +1723,13 @@ static_library("browser") { +@@ -1688,6 +1690,13 @@ static_library("browser") { ] } @@ -269,7 +269,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -3704,8 +3713,6 @@ static_library("browser") { +@@ -3712,8 +3721,6 @@ static_library("browser") { "bookmarks/bookmark_expanded_state_tracker.h", "bookmarks/bookmark_expanded_state_tracker_factory.cc", "bookmarks/bookmark_expanded_state_tracker_factory.h", @@ -681,10 +681,10 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java -@@ -57,6 +57,8 @@ import org.chromium.components.image_fetcher.ImageFetcher; - import org.chromium.components.image_fetcher.ImageFetcherConfig; +@@ -57,6 +57,8 @@ import org.chromium.components.image_fetcher.ImageFetcherConfig; import org.chromium.components.image_fetcher.ImageFetcherFactory; import org.chromium.ui.KeyboardVisibilityDelegate; + import org.chromium.ui.edge_to_edge.EdgeToEdgePadAdjuster; +import org.chromium.ui.base.ActivityWindowAndroid; +import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager; @@ -714,9 +714,9 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows +import org.chromium.ui.base.ActivityWindowAndroid; +import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.accessibility.AccessibilityState; - import org.chromium.ui.listmenu.ListMenu; - import org.chromium.ui.listmenu.ListMenuItemProperties; -@@ -81,6 +83,47 @@ import java.util.function.BooleanSupplier; + import org.chromium.ui.base.DeviceFormFactor; + import org.chromium.ui.base.DeviceInput; +@@ -83,6 +85,47 @@ import java.util.function.BooleanSupplier; import java.util.function.Consumer; import java.util.function.Predicate; @@ -764,7 +764,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** Responsible for BookmarkManager business logic. */ // TODO(crbug.com/40256938): Remove BookmarkDelegate if possible. @NullMarked -@@ -91,6 +134,9 @@ class BookmarkManagerMediator +@@ -93,6 +136,9 @@ class BookmarkManagerMediator private static boolean sPreventLoadingForTesting; @@ -774,7 +774,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** Keeps track of whether drag is enabled / active for bookmark lists. */ private class BookmarkDragStateDelegate implements DragStateDelegate { private BookmarkDelegate mBookmarkDelegate; -@@ -597,6 +643,14 @@ class BookmarkManagerMediator +@@ -608,6 +654,14 @@ class BookmarkManagerMediator mNativePage = nativePage; } @@ -789,7 +789,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** See BookmarkManager(Coordinator)#updateForUrl */ void updateForUrl(String url) { // Bookmark model is null if the manager has been destroyed. -@@ -769,6 +823,235 @@ class BookmarkManagerMediator +@@ -780,6 +834,235 @@ class BookmarkManagerMediator } } @@ -1250,7 +1250,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse 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 -@@ -251,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kBatchTabRestore, &kBlockIntentsWhileLocked, &kBookmarkPaneAndroid, @@ -1261,7 +1261,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 -@@ -689,6 +689,7 @@ public abstract class ChromeFeatureList { +@@ -702,6 +702,7 @@ public abstract class ChromeFeatureList { public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID = "UseLibunwindstackNativeUnwinderAndroid"; public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService"; @@ -1324,7 +1324,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro /** Whether Chrome is set as the default browser. Default value is false. */ public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser"; -@@ -1017,6 +1019,7 @@ public final class ChromePreferenceKeys { +@@ -1051,6 +1053,7 @@ public final class ChromePreferenceKeys { AUXILIARY_SEARCH_SCHEMA_VERSION, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1410,7 +1410,7 @@ diff --git a/components/headless/select_file_dialog/headless_select_file_dialog. diff --git a/components/user_data_importer/content/content_bookmark_parser_utils.cc b/components/user_data_importer/content/content_bookmark_parser_utils.cc --- a/components/user_data_importer/content/content_bookmark_parser_utils.cc +++ b/components/user_data_importer/content/content_bookmark_parser_utils.cc -@@ -89,6 +89,7 @@ std::optional GetTimeAttribute(const std::string& attribute_list, +@@ -138,6 +138,7 @@ std::optional GetBoolAttribute(std::string_view attribute_list, // Given the URL of a page and a favicon data URL, adds an appropriate record // to the given favicon usage vector. @@ -1418,7 +1418,7 @@ diff --git a/components/user_data_importer/content/content_bookmark_parser_utils void DataURLToFaviconUsage(const GURL& link_url, const GURL& favicon_data, favicon_base::FaviconUsageDataList* favicons) { -@@ -438,9 +439,11 @@ BookmarkParser::ParsedBookmarks ParseBookmarksUnsafe( +@@ -495,9 +496,11 @@ BookmarkParser::ParsedBookmarks ParseBookmarksUnsafe( } parsing_result.bookmarks.push_back(std::move(entry)); diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 28ab519e..d012f919 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -35,7 +35,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../browser/flags/ChromeFeatureList.java | 13 +- .../flags/cromite/include_all_directory.java | 1 + .../java_template/CromiteCachedFlag.java.tmpl | 47 +++++ - chrome/browser/settings/BUILD.gn | 1 + .../settings/ChromeBaseSettingsFragment.java | 50 +++++ .../strings/android_chrome_strings.grd | 1 + .../Add-cromite-flags-support.grdp | 9 + @@ -107,7 +106,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html third_party/blink/public/common/features.h | 1 + ui/base/ui_base_features.cc | 1 + ui/base/ui_base_features.h | 1 + - 94 files changed, 834 insertions(+), 31 deletions(-) + 93 files changed, 832 insertions(+), 32 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp @@ -144,7 +143,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -174,6 +174,8 @@ use_epoll = is_linux || is_chromeos || is_android +@@ -170,6 +170,8 @@ use_epoll = is_linux || is_chromeos || is_android # This does not include test code (test support and anything in the test # directory) which should use source_set as is recommended for GN targets). component("base") { @@ -153,7 +152,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1043,7 +1045,7 @@ component("base") { +@@ -1046,7 +1048,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -180,7 +179,7 @@ diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc diff --git a/base/android/java/src/org/chromium/base/cached_flags/ValuesReturned.java b/base/android/java/src/org/chromium/base/cached_flags/ValuesReturned.java --- a/base/android/java/src/org/chromium/base/cached_flags/ValuesReturned.java +++ b/base/android/java/src/org/chromium/base/cached_flags/ValuesReturned.java -@@ -18,7 +18,7 @@ import java.util.Map; +@@ -18,7 +18,7 @@ import java.util.function.Supplier; @NullMarked public abstract class ValuesReturned { @GuardedBy("sBoolValues") @@ -192,7 +191,7 @@ diff --git a/base/android/java/src/org/chromium/base/cached_flags/ValuesReturned diff --git a/base/feature_list.cc b/base/feature_list.cc --- a/base/feature_list.cc +++ b/base/feature_list.cc -@@ -41,6 +41,31 @@ +@@ -42,6 +42,31 @@ namespace base { @@ -224,7 +223,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc namespace { // Pointer to the FeatureList instance singleton that was set via -@@ -470,6 +495,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { +@@ -471,6 +496,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { return g_feature_list_instance->IsFeatureEnabled(feature); } @@ -271,7 +270,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc // static bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) { return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos; -@@ -737,6 +802,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor, +@@ -738,6 +803,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor, void FeatureList::FinalizeInitialization() { DCHECK(!initialized_); @@ -292,7 +291,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc diff --git a/base/feature_list.h b/base/feature_list.h --- a/base/feature_list.h +++ b/base/feature_list.h -@@ -177,8 +177,10 @@ enum class FeatureMacroHandshake { kSecret }; +@@ -238,8 +238,10 @@ constexpr const char* GetFeatureNameFromIdentifier(std::string_view feature) { struct BASE_EXPORT LOGICALLY_CONST Feature { constexpr Feature(const char* name, FeatureState default_state, @@ -305,7 +304,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h #if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX) if (std::string_view(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) == 0) { -@@ -205,6 +207,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { +@@ -266,6 +268,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { // command line switch. const FeatureState default_state; @@ -315,7 +314,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h private: friend class FeatureList; -@@ -485,6 +490,11 @@ class BASE_EXPORT FeatureList { +@@ -546,6 +551,11 @@ class BASE_EXPORT FeatureList { // instance, which is checked in builds with DCHECKs enabled. static bool IsEnabled(const Feature& feature); @@ -327,7 +326,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h // Some characters are not allowed to appear in feature names or the // associated field trial names, as they are used as special characters for // command-line serialization. This function checks that the strings are ASCII -@@ -754,4 +764,70 @@ class BASE_EXPORT FeatureList { +@@ -815,4 +825,70 @@ class BASE_EXPORT FeatureList { } // namespace base @@ -401,10 +400,10 @@ diff --git a/base/feature_list.h b/base/feature_list.h diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp_features.py --- a/build/android/gyp/java_cpp_features.py +++ b/build/android/gyp/java_cpp_features.py -@@ -21,10 +21,27 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate): - # ExtractConstantName() -> 'ConstantName' - # ExtractValue() -> '"StringNameOfTheFeature"' - FEATURE_RE = re.compile(r'BASE_FEATURE\(k([^,]+),') +@@ -25,10 +25,27 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate): + _FEATURE_RE_3_ARGS = re.compile(r'BASE_FEATURE\(k([^,]+),') + # For 2-arg macro: BASE_FEATURE(MyFeature, ...) + _FEATURE_RE_2_ARGS = re.compile(r'BASE_FEATURE\(([^,]+),') + + FEATURE_RE1 = re.compile(r'CROMITE_FEATURE\(k([^,]+),') + FEATURE_RE2 = re.compile(r'CROMITE_FEATURE_KEEP_DISABLED\(k([^,]+),') @@ -412,10 +411,10 @@ diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp + FEATURE_RE4 = re.compile(r'CROMITE_FEATURE_KEEP_ENABLED\(k([^,]+),') + FEATURE_RE5 = re.compile(r'CROMITE_FEATURE_ENABLED\(k([^,]+),') + - VALUE_RE = re.compile(r'\s*("(?:\"|[^"])*")\s*,') + _VALUE_RE = re.compile(r'\s*("(?:\\"|[^"])*")\s*,') def ExtractConstantName(self, line): - match = FeatureParserDelegate.FEATURE_RE.match(line) + match = self._FEATURE_RE_3_ARGS.match(line) + if match is None: + match = FeatureParserDelegate.FEATURE_RE1.match(line) + if match is None: @@ -426,9 +425,9 @@ diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp + match = FeatureParserDelegate.FEATURE_RE4.match(line) + if match is None: + match = FeatureParserDelegate.FEATURE_RE5.match(line) - return match.group(1) if match else None - - def ExtractValue(self, line): + if match: + return match.group(1) + match = self._FEATURE_RE_2_ARGS.match(line) diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml --- a/chrome/android/java/res/values/values.xml +++ b/chrome/android/java/res/values/values.xml @@ -471,7 +470,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin 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 -@@ -130,7 +130,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -132,7 +132,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } @Override @@ -483,18 +482,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java -@@ -11,6 +11,7 @@ import androidx.annotation.NonNull; +@@ -10,6 +10,7 @@ import android.os.Bundle; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; +import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; - import org.chromium.chrome.browser.accessibility.settings.ChromeAccessibilitySettingsDelegate; -@@ -70,18 +71,21 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + import org.chromium.build.annotations.NullMarked; +@@ -72,24 +73,31 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl private final OneshotSupplier mSnackbarManagerSupplier; private final OneshotSupplier mBottomSheetControllerSupplier; - private final ObservableSupplier mModalDialogManagerSupplier; + private final ObservableSupplier<@Nullable ModalDialogManager> mModalDialogManagerSupplier; + private final Supplier mRequireRestartDelegateSupplier; public FragmentDependencyProvider( @@ -502,8 +501,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme Profile profile, OneshotSupplier snackbarManagerSupplier, OneshotSupplier bottomSheetControllerSupplier, -- ObservableSupplier modalDialogManagerSupplier) { -+ ObservableSupplier modalDialogManagerSupplier, +- ObservableSupplier<@Nullable ModalDialogManager> modalDialogManagerSupplier) { ++ ObservableSupplier<@Nullable ModalDialogManager> modalDialogManagerSupplier, + Supplier requireRestartDelegateSupplier) { mContext = context; mProfile = profile; @@ -514,9 +513,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme } @Override -@@ -90,6 +94,10 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl - @NonNull Fragment fragment, - @NonNull Context unusedContext) { + public void onFragmentAttached( + FragmentManager fragmentManager, Fragment fragment, Context unusedContext) { // Common dependencies attachments. + if (fragment instanceof ChromeBaseSettingsFragment) { + ((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegateSupplier( @@ -528,25 +526,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme 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 -@@ -4,6 +4,7 @@ +@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.settings; - package org.chromium.chrome.browser.settings; + import static org.chromium.build.NullUtil.assumeNonNull; +import android.app.Activity; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; -@@ -32,7 +33,9 @@ import org.chromium.base.Callback; - import org.chromium.base.CallbackUtils; +@@ -32,7 +33,9 @@ import org.chromium.base.CallbackUtils; + import org.chromium.base.DeviceInfo; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; +import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.ObservableSupplier; +import org.chromium.base.supplier.OneshotSupplier; import org.chromium.base.supplier.OneshotSupplierImpl; - import org.chromium.chrome.R; - import org.chromium.chrome.browser.ChromeBaseAppCompatActivity; -@@ -40,12 +43,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +@@ -42,12 +45,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.init.ChromeBrowserInitializer; @@ -561,7 +559,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; -@@ -88,6 +93,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -92,6 +97,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable { private static final String TAG = "SettingsActivity"; @@ -602,7 +600,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; -@@ -154,7 +193,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -158,7 +197,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity mProfile, mSnackbarManagerSupplier, mBottomSheetControllerSupplier, @@ -615,22 +613,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -19,12 +19,13 @@ import org.chromium.build.annotations.Nullable; - import org.chromium.chrome.R; - import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; - import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -+import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; - import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; - import org.chromium.components.browser_ui.settings.SettingsUtils; +@@ -23,8 +23,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; /** Settings fragment containing preferences aimed at Chrome and web developers. */ @NullMarked --public class DeveloperSettings extends PreferenceFragmentCompat implements EmbeddableSettingsPage { +-public class DeveloperSettings extends ChromeBaseSettingsFragment +- implements EmbeddableSettingsPage { +public class DeveloperSettings extends ChromeBaseSettingsFragment implements EmbeddableSettingsPage { private static final String UI_PREF_BETA_STABLE_HINT = "beta_stable_hint"; // Non-translated strings: -@@ -55,7 +56,7 @@ public class DeveloperSettings extends PreferenceFragmentCompat implements Embed +@@ -55,7 +54,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment } @Override @@ -642,7 +635,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting 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 -@@ -381,6 +381,10 @@ using flags_ui::kOsLinux; +@@ -384,6 +384,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -653,9 +646,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4903,6 +4907,10 @@ const FeatureEntry::FeatureVariation - constexpr char kWebiumFlag[] = "webium"; - #endif // !BUILDFLAG(IS_ANDROID) +@@ -4895,6 +4899,10 @@ const FeatureEntry::FeatureVariation kNtpEnterpriseShortcutsVariations[] = { + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ + // BUILDFLAG(IS_CHROMEOS) +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -664,7 +657,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc // RECORDING USER METRICS FOR FLAGS: // ----------------------------------------------------------------------------- // The first line of the entry is the internal name. -@@ -4929,6 +4937,9 @@ constexpr char kWebiumFlag[] = "webium"; +@@ -4921,6 +4929,9 @@ const FeatureEntry::FeatureVariation kNtpEnterpriseShortcutsVariations[] = { const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -686,7 +679,7 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features.h --- a/chrome/browser/browser_features.h +++ b/chrome/browser/browser_features.h -@@ -121,6 +121,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); +@@ -125,6 +125,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); // module, e.g. // //chrome/browser//features.h // @@ -736,7 +729,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn 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 -@@ -1489,5 +1489,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, +@@ -1554,5 +1554,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, "WebOtpCrossDeviceSimpleString", base::FEATURE_DISABLED_BY_DEFAULT); @@ -746,7 +739,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 -@@ -337,6 +337,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutSnippetAsSubtitle( +@@ -345,6 +345,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutSnippetAsSubtitle( "snippet_as_subtitle", /*default_value=*/false); @@ -768,18 +761,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -1063,7 +1067,7 @@ public abstract class ChromeFeatureList { - public static final CachedFlag sWebApkMinShellApkVersion = +@@ -1111,7 +1115,7 @@ public abstract class ChromeFeatureList { newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); + // keep-sorted end - public static final List sFlagsCachedFullBrowser = + public static final List sFlagsCachedFullBrowserChromium = List.of( + // keep-sorted start sAccountForSuppressedKeyboardInsets, - sAllowTabClosingUponMinimization, -@@ -1205,6 +1209,13 @@ public abstract class ChromeFeatureList { - sUseLibunwindstackNativeUnwinderAndroid, - sWebApkMinShellApkVersion); +@@ -1268,6 +1272,13 @@ public abstract class ChromeFeatureList { + // keep-sorted end + ); + private static List concatenateLists(List... collections) { + return Arrays.stream(collections).flatMap(x -> x.stream()).collect(Collectors.toList()); @@ -849,30 +842,20 @@ new file mode 100644 + }} + +}} -diff --git a/chrome/browser/settings/BUILD.gn b/chrome/browser/settings/BUILD.gn ---- a/chrome/browser/settings/BUILD.gn -+++ b/chrome/browser/settings/BUILD.gn -@@ -35,6 +35,7 @@ android_library("java") { - "//base:base_java", - "//chrome/browser/feedback/android:factory_java", - "//chrome/browser/feedback/android:java", -+ "//chrome/browser/flags:java", - "//chrome/browser/preferences:java", - "//chrome/browser/profiles/android:java", - "//chrome/browser/ui/android/favicon:java", diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java --- a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java +++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java -@@ -8,12 +8,19 @@ import androidx.preference.PreferenceFragmentCompat; - +@@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView; import org.chromium.build.annotations.Initializer; import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +import org.chromium.base.supplier.Supplier; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherFactory; - import org.chromium.chrome.browser.profiles.Profile; - import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; - import org.chromium.components.browser_ui.settings.SettingsCustomTabLauncher; + import org.chromium.chrome.browser.flags.ChromeFeatureList; +@@ -28,6 +29,12 @@ import org.chromium.components.browser_ui.settings.SettingsStylingController; + + import java.util.Objects; +import android.os.Bundle; +import androidx.preference.Preference; @@ -883,9 +866,9 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse /** * Base class for settings in Chrome. * -@@ -28,6 +35,49 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa - private Profile mProfile; - private SettingsCustomTabLauncher mCustomTabLauncher; +@@ -89,6 +96,49 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa + }); + } + private Supplier mRequireRestartDelegateSupplier; + @@ -967,9 +950,9 @@ new file mode 100644 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 -@@ -619,4 +619,5 @@ bool IsBookmarkTabGroupConversionEnabled() { - return base::FeatureList::IsEnabled(kBookmarkTabGroupConversion); +@@ -748,4 +748,5 @@ bool IsNewTabAddsToActiveGroupEnabled() { } + #endif // !BUILDFLAG(IS_ANDROID) +#include "cromite_flags/chrome_browser_ui_ui_features_cc.inc" } // namespace features @@ -1008,9 +991,9 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc 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 -@@ -1977,5 +1977,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, - BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating, - "SilentPolicyAndDefaultAppUpdating", +@@ -1612,5 +1612,5 @@ BASE_FEATURE(DisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT); + // happen silently without prompting an updating dialog. + BASE_FEATURE(SilentPolicyAndDefaultAppUpdating, base::FEATURE_DISABLED_BY_DEFAULT); - +#include "cromite_flags/chrome_common_chrome_features_cc.inc" @@ -1160,7 +1143,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc --- a/components/content_settings/core/common/features.cc +++ b/components/content_settings/core/common/features.cc -@@ -181,5 +181,6 @@ BASE_FEATURE(kForceAllowStorageAccess, +@@ -176,5 +176,6 @@ BASE_FEATURE(kForceAllowStorageAccess, "ForceAllowStorageAccess", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1196,7 +1179,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc --- a/components/password_manager/core/browser/features/password_features.cc +++ b/components/password_manager/core/browser/features/password_features.cc -@@ -219,4 +219,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction, +@@ -225,4 +225,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) @@ -1205,7 +1188,7 @@ diff --git a/components/password_manager/core/browser/features/password_features diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -139,6 +139,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, +@@ -137,6 +137,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, "OsAdditionalSecurityPermissionKillSwitch", base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -1638,7 +1621,7 @@ diff --git a/components/webui/version/version_handler_helper.cc b/components/web diff --git a/content/common/features.cc b/content/common/features.cc --- a/content/common/features.cc +++ b/content/common/features.cc -@@ -743,4 +743,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { +@@ -761,4 +761,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument); } @@ -1647,7 +1630,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc 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 -@@ -1676,4 +1676,5 @@ bool IsPushSubscriptionChangeEventEnabled() { +@@ -1403,4 +1403,5 @@ bool IsPushSubscriptionChangeEventEnabled() { features::kPushSubscriptionChangeEventOnResubscribe); } @@ -1656,7 +1639,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 -@@ -400,6 +400,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); +@@ -404,6 +404,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled(); @@ -2002,7 +1985,7 @@ new file mode 100755 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 -@@ -2008,5 +2008,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1727,5 +1727,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -2012,7 +1995,7 @@ 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 -@@ -601,5 +601,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); +@@ -603,5 +603,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -2022,18 +2005,18 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -909,4 +909,5 @@ BASE_FEATURE_PARAM(bool, - "url_request_redirect_job", - false); +@@ -804,4 +804,5 @@ BASE_FEATURE_PARAM(std::string, + /*name=*/"wildcard_quic_hints", + /*default_value=*/""); +#include "cromite_flags/net_base_features_cc.inc" } // namespace net::features diff --git a/net/base/features.h b/net/base/features.h --- a/net/base/features.h +++ b/net/base/features.h -@@ -896,6 +896,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(bool, kNetTaskSchedulerURLRequestJob); - NET_EXPORT BASE_DECLARE_FEATURE_PARAM(bool, - kNetTaskSchedulerURLRequestRedirectJob); +@@ -912,6 +912,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, kQuicHintHostPortPairs); + NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, + kWildcardQuicHintHostPortPairs); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -2042,7 +2025,7 @@ diff --git a/net/base/features.h b/net/base/features.h 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 -@@ -666,4 +666,5 @@ BASE_FEATURE_PARAM(bool, +@@ -674,4 +674,5 @@ BASE_FEATURE_PARAM(bool, "url_loader", false); @@ -2051,7 +2034,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 -@@ -366,6 +366,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler); +@@ -367,6 +367,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler); COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES) BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerURLLoader); @@ -2062,7 +2045,7 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp 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 -@@ -2927,4 +2927,5 @@ bool IsXrDevice() { +@@ -2566,4 +2566,5 @@ bool IsXrDevice() { // // DO NOT ADD NEW FEATURES HERE. @@ -2071,7 +2054,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h -@@ -1912,6 +1912,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); +@@ -1903,6 +1903,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); // // DO NOT ADD NEW FEATURES HERE. @@ -2082,18 +2065,18 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -483,4 +483,5 @@ bool IsHandleIMESpanChangesOnUpdateCompositionEnabled() { - features::kHandleIMESpanChangesOnUpdateComposition); - } +@@ -492,4 +492,5 @@ BASE_FEATURE(kUseSystemDefaultAccentColors, + "UseSystemDefaultAccentColors", + base::FEATURE_ENABLED_BY_DEFAULT); +#include "cromite_flags/ui_base_features_cc.inc" } // namespace features diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h --- a/ui/base/ui_base_features.h +++ b/ui/base/ui_base_features.h -@@ -242,6 +242,7 @@ BASE_DECLARE_FEATURE(kHandleIMESpanChangesOnUpdateComposition); +@@ -248,6 +248,7 @@ bool IsHandleIMESpanChangesOnUpdateCompositionEnabled(); COMPONENT_EXPORT(UI_BASE_FEATURES) - bool IsHandleIMESpanChangesOnUpdateCompositionEnabled(); + BASE_DECLARE_FEATURE(kUseSystemDefaultAccentColors); +#include "cromite_flags/ui_base_features_h.inc" } // namespace features diff --git a/build/patches/Add-cromite-test-support.patch b/build/patches/Add-cromite-test-support.patch index 28804ab7..2aef794b 100644 --- a/build/patches/Add-cromite-test-support.patch +++ b/build/patches/Add-cromite-test-support.patch @@ -73,15 +73,15 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr 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 -@@ -139,6 +139,7 @@ import org.chromium.ui.base.PhotoPickerListener; - import org.chromium.ui.base.SelectFileDialog; +@@ -144,6 +144,7 @@ import org.chromium.ui.base.SelectFileDialog; import org.chromium.ui.base.WindowAndroid; + import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider; import org.chromium.url.GURL; +import org.chromium.chrome.browser.flags.cromite.sActAsWebView; import java.io.File; import java.nio.charset.StandardCharsets; -@@ -698,7 +699,10 @@ public class ProcessInitializationHandler { +@@ -710,7 +711,10 @@ public class ProcessInitializationHandler { tasks.add( () -> { @@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -37,7 +37,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb +@@ -35,7 +35,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb private final ObservableSupplier mPageTitle = new ObservableSupplierImpl<>(MSG_DEVELOPER_OPTIONS_TITLE); @@ -434,7 +434,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -657,6 +657,7 @@ mojom("mojo_bindings") { +@@ -662,6 +662,7 @@ mojom("mojo_bindings") { sources = [ "chrome_render_frame.mojom", "google_accounts_private_api_extension.mojom", @@ -457,7 +457,7 @@ new file mode 100644 diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -74,6 +74,8 @@ static_library("renderer") { +@@ -80,6 +80,8 @@ static_library("renderer") { "chrome_render_thread_observer.cc", "chrome_render_thread_observer.h", "custom_menu_commands.h", @@ -469,7 +469,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -54,6 +54,7 @@ +@@ -56,6 +56,7 @@ #include "chrome/renderer/chrome_render_frame_observer.h" #include "chrome/renderer/chrome_render_thread_observer.h" #include "chrome/renderer/controlled_frame/controlled_frame_extensions_renderer_api_provider.h" @@ -477,7 +477,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #include "chrome/renderer/google_accounts_private_api_extension.h" #include "chrome/renderer/loadtimes_extension_bindings.h" #include "chrome/renderer/media/flash_embed_rewrite.h" -@@ -624,6 +625,7 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -645,6 +646,7 @@ void ChromeContentRendererClient::RenderFrameCreated( TrustedVaultEncryptionKeysExtension::Create(render_frame); GoogleAccountsPrivateApiExtension::Create(render_frame); @@ -851,7 +851,7 @@ diff --git a/content/browser/log_console_message.h b/content/browser/log_console 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 -@@ -315,6 +315,8 @@ +@@ -319,6 +319,8 @@ #include "url/origin.h" #include "url/url_constants.h" @@ -860,7 +860,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b #if BUILDFLAG(IS_ANDROID) #include "content/browser/accessibility/browser_accessibility_manager_android.h" #include "content/browser/android/content_url_loader_factory.h" -@@ -4755,7 +4757,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4763,7 +4765,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( if (delegate_->DidAddMessageToConsole(this, log_level, message, line_no, updated_source_id, untrusted_stack_trace)) { @@ -870,7 +870,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b } // Pass through log severity only on builtin components pages to limit console -@@ -4772,8 +4775,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4780,8 +4783,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( const bool is_off_the_record = GetSiteInstance()->GetBrowserContext()->IsOffTheRecord(); diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index 5073f0e6..e5cd9a9f 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis // Since configureIntentForResizableCustomTab() might change the componenet/class // associated with the passed intent, it needs to be called after #setClassName(context, // CustomTabActivity.class.getName()); -@@ -490,6 +500,17 @@ public class LaunchIntentDispatcher { +@@ -489,6 +499,17 @@ public class LaunchIntentDispatcher { if (Intent.ACTION_VIEW.equals(newIntent.getAction()) && !IntentHandler.wasIntentSenderChrome(newIntent)) { @@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java -@@ -233,16 +233,16 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -236,16 +236,16 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid // Extra whose value is an array of ints that is supplied to // SyntheticTrialRegistry::RegisterExternalExperiments(). @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust /** * Extra that, if set, makes the Custom Tab Activity's height to be x pixels, the Custom Tab -@@ -682,7 +682,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -685,7 +685,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid TrustedWebActivityIntentBuilder.EXTRA_SCREEN_ORIENTATION, ScreenOrientation.DEFAULT)); @@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust mBreakPointDp = getActivityBreakPointFromIntent(intent); mInitialActivityHeight = getInitialActivityHeightFromIntent(intent); -@@ -695,8 +695,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -698,8 +698,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid intent, EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR, ACTIVITY_HEIGHT_DEFAULT); mIsPartialCustomTabFixedHeight = activityHeightResizeBehavior == ACTIVITY_HEIGHT_FIXED; @@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust @BackgroundInteractBehavior int backgroundInteractBehavior = IntentUtils.safeGetIntExtra( -@@ -1267,7 +1267,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1270,7 +1270,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid public @CustomTabProfileType int getCustomTabMode() { return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ? CustomTabProfileType.INCOGNITO @@ -166,7 +166,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java -@@ -780,7 +780,7 @@ public class CustomTabsConnection { +@@ -776,7 +776,7 @@ public class CustomTabsConnection { ThreadUtils.assertOnUiThread(); if (extras == null) return; int[] experimentIds = @@ -175,7 +175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust if (experimentIds == null) return; // When ids are set through cct, they should not override existing ids. boolean override = false; -@@ -996,6 +996,7 @@ public class CustomTabsConnection { +@@ -992,6 +992,7 @@ public class CustomTabsConnection { PostTask.postTask( TaskTraits.UI_DEFAULT, () -> { @@ -206,7 +206,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled(); } -@@ -220,6 +226,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -221,6 +227,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD } public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) { @@ -217,7 +217,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco if (!isIncognitoRequested(intent)) return false; var session = SessionHolder.getSessionHolderFromIntent(intent); if (isIntentFromThirdPartyAllowed() -@@ -329,6 +339,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -330,6 +340,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD @Override public @CustomTabProfileType int getCustomTabMode() { @@ -231,7 +231,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 -@@ -10,6 +10,7 @@ import android.content.Context; +@@ -11,6 +11,7 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.drawable.Drawable; @@ -239,7 +239,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import android.os.Bundle; import android.text.SpannableString; import android.text.style.ClickableSpan; -@@ -79,6 +80,15 @@ import org.chromium.ui.text.SpanApplier; +@@ -80,6 +81,15 @@ import org.chromium.ui.text.SpanApplier; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -255,7 +255,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import androidx.preference.PreferenceCategory; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; import org.chromium.base.shared_preferences.SharedPreferencesManager; -@@ -152,6 +162,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -154,6 +164,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment startTag, endTag, new ChromeClickableSpan(context, onClickCallback)); } @@ -265,7 +265,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); -@@ -384,6 +397,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -385,6 +398,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment new SpanApplier.SpanInfo("", "", servicesLink)); } @@ -275,7 +275,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(); -@@ -404,6 +420,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -405,6 +421,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -307,7 +307,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -436,6 +477,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -437,6 +478,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -327,7 +327,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 -@@ -1093,7 +1093,7 @@ BASE_FEATURE(kMagicStackAndroid, +@@ -1149,7 +1149,7 @@ BASE_FEATURE(kMagicStackAndroid, // Enables an experimental feature which forces mayLaunchUrl to use a different // storage partition. This may reduce performance. This should not be enabled by // default. @@ -339,7 +339,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 -@@ -943,6 +943,8 @@ public abstract class ChromeFeatureList { +@@ -991,6 +991,8 @@ public abstract class ChromeFeatureList { MOST_VISITED_TILES_CUSTOMIZATION, /* defaultValue= */ false, /* defaultValueInTests= */ true); @@ -348,7 +348,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sMostVisitedTilesReselect = newCachedFlag(MOST_VISITED_TILES_RESELECT, false); public static final CachedFlag sMultiInstanceApplicationStatusCleanup = -@@ -1165,6 +1167,7 @@ public abstract class ChromeFeatureList { +@@ -1226,6 +1228,7 @@ public abstract class ChromeFeatureList { sMiniOriginBar, sMitigateLegacySearchEnginePromoOverlap, sMostVisitedTilesCustomization, @@ -422,7 +422,7 @@ diff --git a/components/language/core/common/language_experiments.cc b/component +++ b/components/language/core/common/language_experiments.cc @@ -26,4 +26,5 @@ BASE_FEATURE(kDisableGeoLanguageModel, "DisableGeoLanguageModel", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kCctAutoTranslate); } // namespace language diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 417e77ad..4e1fc75c 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -119,6 +119,7 @@ found in the LICENSE file. +@@ -121,6 +121,7 @@ found in the LICENSE file. @@ -28,16 +28,16 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va 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 -@@ -345,6 +345,8 @@ import java.util.Map; - import java.util.Set; +@@ -352,6 +352,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; + import java.util.function.Supplier; +import org.chromium.chrome.browser.lifetime.ApplicationLifetime; + /** * 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. -@@ -3692,6 +3694,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3820,6 +3822,8 @@ public class ChromeTabbedActivity extends ChromeActivity { .closeTabs( TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true); RecordUserAction.record("MobileTabClosed"); @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct 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 -@@ -59,6 +59,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier; +@@ -61,6 +61,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityUtils; @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.ChromeActivitySessionTracker; import org.chromium.chrome.browser.ChromeApplicationImpl; import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate; -@@ -2445,6 +2446,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2481,6 +2482,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return true; } @@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -384,6 +384,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -390,6 +390,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm maybeAddDividerLine(modelList, R.id.menu_item_content_filter_divider_line_id); modelList.add(buildContentFilterHelpCenterMenuItem(currentTab)); } @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab 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 -@@ -4347,6 +4347,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4311,6 +4311,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d 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 73e47e1d..5fa03a3d 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/ #include "base/functional/callback.h" #include "base/i18n/break_iterator.h" #include "base/i18n/case_conversion.h" -@@ -632,6 +633,9 @@ void SearchProvider::Run(bool query_is_private) { +@@ -637,6 +638,9 @@ void SearchProvider::Run(bool query_is_private) { } void SearchProvider::DoHistoryQuery(bool minimal_changes) { @@ -79,16 +79,16 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc --- a/components/url_formatter/url_fixer.cc +++ b/components/url_formatter/url_fixer.cc -@@ -15,6 +15,8 @@ - #include +@@ -11,6 +11,8 @@ #include "base/check_op.h" + #include "base/compiler_specific.h" +#include "base/containers/contains.h" +#include "base/command_line.h" #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/i18n/char_iterator.h" -@@ -648,6 +650,8 @@ GURL FixupURLInternal(const std::string& text, +@@ -644,6 +646,8 @@ GURL FixupURLInternal(const std::string& text, FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url); if (chrome_url && !parts.host.is_valid()) { diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index 1bf86135..1c3be714 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -45,7 +45,7 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1157,6 +1157,7 @@ component("net") { +@@ -1167,6 +1167,7 @@ component("net") { ":net_deps", "//components/miracle_parameter/common", "//components/network_time/time_tracker", @@ -64,7 +64,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" -@@ -1497,6 +1498,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( +@@ -1496,6 +1497,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 aa90eb26..578cfdd3 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java -@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator; +@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator; import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl; import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate; -@@ -128,6 +129,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { +@@ -152,6 +153,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { @Override public boolean shouldDisableAllExternalIntents() { @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java -@@ -26,6 +26,7 @@ import org.chromium.base.supplier.Supplier; +@@ -25,6 +25,7 @@ import org.chromium.base.PackageManagerUtils; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.ChromeTabbedActivity2; @@ -76,10 +76,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.document.ChromeLauncherActivity; -@@ -117,7 +118,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat - +@@ -119,7 +120,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat @Override - public boolean shouldDisableExternalIntentRequestsForUrl(GURL url) { + public boolean shouldDisableExternalIntentRequestsForUrl( + ExternalNavigationParams params, Intent intent) { - return false; + if ("tel".equals(url.getScheme())) return false; + return !sAllowExternalIntentRequests.getInstance().isEnabled(); @@ -193,7 +193,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -1558,6 +1558,12 @@ public class ExternalNavigationHandler { +@@ -1556,6 +1556,12 @@ public class ExternalNavigationHandler { || ignoreBackForwardNav(params); } @@ -206,7 +206,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal( ExternalNavigationParams params, Intent targetIntent, -@@ -1626,6 +1632,21 @@ public class ExternalNavigationHandler { +@@ -1624,6 +1630,21 @@ public class ExternalNavigationHandler { return OverrideUrlLoadingResult.forNoOverride(); } diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index 21ee820a..4148cafc 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -104,7 +104,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 -@@ -1011,6 +1011,10 @@ +@@ -1045,6 +1045,10 @@ { name: "CompositingDecisionAtAnimationPhaseBoundaries" }, 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 b8de58fb..27c8d431 100644 --- a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch +++ b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch @@ -14,16 +14,16 @@ 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 -@@ -700,7 +700,7 @@ config("compiler") { +@@ -694,7 +694,7 @@ config("compiler") { # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. # It also causes segfault on Linux s390x: # https://github.com/llvm/llvm-project/issues/149511 - if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" && + if (is_linux && !skip_clangd_unsupported_options && use_lld && !llvm_android_mainline && current_cpu != "arm" && - current_cpu != "s390x" && - default_toolchain != "//build/toolchain/cros:target") { + current_cpu != "s390x") { cflags += [ "-Wa,--crel,--allow-experimental-crel" ] -@@ -1813,7 +1813,7 @@ config("clang_revision") { + } +@@ -1806,7 +1806,7 @@ config("clang_revision") { # e.g. by setting in the the project's .gn file. config("clang_warning_suppression") { # Some build configs use older versions of clang that don't support WSMs @@ -32,7 +32,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn from_build_root = rebase_path(clang_warning_suppression_file, root_build_dir) inputs = [ clang_warning_suppression_file ] -@@ -2146,7 +2146,6 @@ config("default_warnings") { +@@ -2140,7 +2140,6 @@ config("default_warnings") { # TODO(crbug.com/376641662): Fix and re-enable. "-Wno-nontrivial-memcall", ] @@ -40,7 +40,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn cflags_cc += [ # TODO(crbug.com/328490295): Fix and re-enable for C flags. "-Wenum-compare-conditional", -@@ -2211,6 +2210,15 @@ config("default_warnings") { +@@ -2205,6 +2204,15 @@ config("default_warnings") { ] } diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index a3e22b0d..9d45a22f 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -233,7 +233,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc diff --git a/chrome/browser/ui/views/permissions/chip/chip_controller.cc b/chrome/browser/ui/views/permissions/chip/chip_controller.cc --- a/chrome/browser/ui/views/permissions/chip/chip_controller.cc +++ b/chrome/browser/ui/views/permissions/chip/chip_controller.cc -@@ -227,7 +227,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) { +@@ -228,7 +228,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) { active_chip_permission_request_manager_.value()->Accept(); break; case permissions::PermissionAction::GRANTED_ONCE: @@ -269,7 +269,7 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v 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 -@@ -630,6 +630,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -634,6 +634,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } @RequiresNonNull({"mSite"}) @@ -281,7 +281,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(); -@@ -1316,6 +1321,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1240,6 +1245,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment .getDefaultColor()); } } @@ -295,7 +295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc --- a/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc -@@ -218,7 +218,7 @@ void GetOrigins(JNIEnv* env, +@@ -223,7 +223,7 @@ void GetOrigins(JNIEnv* env, seen_origins.push_back(origin); insertionFunc(env, static_cast(content_type), list, ConvertOriginToJavaString(env, origin), jembedder, @@ -365,7 +365,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc bool CanTrackLastVisit(ContentSettingsType type) { DCHECK(WebsiteSettingsRegistry::GetInstance()->Get(type)) << type; -@@ -261,10 +297,6 @@ const std::vector& GetTypesWithTemporaryGrants() { +@@ -273,10 +309,6 @@ const std::vector& GetTypesWithTemporaryGrants() { ContentSettingsType::CAPTURED_SURFACE_CONTROL, #endif ContentSettingsType::KEYBOARD_LOCK, @@ -376,7 +376,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc ContentSettingsType::HAND_TRACKING, ContentSettingsType::SMART_CARD_DATA, ContentSettingsType::AR, -@@ -280,10 +312,6 @@ const std::vector& GetTypesWithTemporaryGrantsInHcsm() { +@@ -292,10 +324,6 @@ const std::vector& GetTypesWithTemporaryGrantsInHcsm() { ContentSettingsType::CAPTURED_SURFACE_CONTROL, #endif ContentSettingsType::KEYBOARD_LOCK, @@ -425,34 +425,33 @@ diff --git a/components/content_settings/core/common/content_settings_enums.mojo 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 -@@ -378,9 +378,9 @@ public class PageInfoController - String name, - String nameMidSentence, - int type, -- @ContentSettingValues int currentSettingValue) { -+ @ContentSettingValues int currentSettingValue, boolean is_user_session) { - mPermissionParamsListBuilder.addPermissionEntry( -- name, nameMidSentence, type, currentSettingValue); -+ name, nameMidSentence, type, currentSettingValue, is_user_session); +@@ -374,8 +374,8 @@ public class PageInfoController + */ + @CalledByNative + private void addPermissionSection( +- String name, String nameMidSentence, int type, boolean allowed) { +- mPermissionParamsListBuilder.addPermissionEntry(name, nameMidSentence, type, allowed); ++ String name, String nameMidSentence, int type, boolean allowed, boolean is_user_session) { ++ mPermissionParamsListBuilder.addPermissionEntry(name, nameMidSentence, type, allowed, is_user_session); } /** Update the permissions view based on the contents of mDisplayedPermissions. */ diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java -@@ -48,8 +48,9 @@ public class PermissionParamsListBuilder { +@@ -46,8 +46,9 @@ public class PermissionParamsListBuilder { + mEntries = new ArrayList<>(); } - public void addPermissionEntry( -- String name, String nameMidSentence, int type, @ContentSettingValues int value) { -- mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, value)); -+ String name, String nameMidSentence, int type, @ContentSettingValues int value, +- public void addPermissionEntry(String name, String nameMidSentence, int type, boolean allowed) { +- mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, allowed)); ++ public void addPermissionEntry(String name, String nameMidSentence, int type, boolean allowed, + boolean is_user_session) { -+ mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, value, is_user_session)); ++ mEntries.add(new PageInfoPermissionEntry(name, nameMidSentence, type, allowed, is_user_session)); } public void clearPermissionEntries() { -@@ -85,6 +86,10 @@ public class PermissionParamsListBuilder { +@@ -84,6 +85,10 @@ public class PermissionParamsListBuilder { } else { warningTextResource = R.string.page_info_android_permission_blocked; } @@ -461,21 +460,20 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ + R.string.page_info_android_permission_session_permission; + } } - } else { - assert permission.setting == ContentSettingValues.ASK -@@ -121,13 +126,15 @@ public class PermissionParamsListBuilder { + } + +@@ -112,12 +117,14 @@ public class PermissionParamsListBuilder { public final String nameMidSentence; public final int type; - public final @ContentSettingValues int setting; + public final boolean allowed; + public final boolean is_user_session; - PageInfoPermissionEntry( -- String name, String nameMidSentence, int type, @ContentSettingValues int setting) { -+ String name, String nameMidSentence, int type, @ContentSettingValues int setting, boolean is_user_session) { +- PageInfoPermissionEntry(String name, String nameMidSentence, int type, boolean allowed) { ++ PageInfoPermissionEntry(String name, String nameMidSentence, int type, boolean allowed, boolean is_user_session) { this.name = name; this.nameMidSentence = nameMidSentence; this.type = type; - this.setting = setting; + this.allowed = allowed; + this.is_user_session = is_user_session; } @@ -483,35 +481,35 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -186,6 +186,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -199,6 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( - std::map + std::map user_specified_settings_to_display; + std::map + user_specified_settings_is_user_session; for (const auto& permission : permission_info_list) { if (base::Contains(permissions_to_display, permission.type)) { -@@ -194,6 +196,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( - if (setting_to_display) { +@@ -211,6 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( + user_specified_settings_to_display[permission.type] = - *setting_to_display; + info->delegate().IsAnyPermissionAllowed(*setting_to_display); + user_specified_settings_is_user_session[permission.type] = + permission.is_user_session; } } } -@@ -210,7 +214,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -227,7 +231,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( ConvertUTF16ToJavaString(env, setting_title), ConvertUTF16ToJavaString(env, setting_title_mid_sentence), static_cast(permission), -- static_cast(user_specified_settings_to_display[permission])); -+ static_cast(user_specified_settings_to_display[permission]), +- user_specified_settings_to_display[permission]); ++ user_specified_settings_to_display[permission], + user_specified_settings_is_user_session[permission]); } } -@@ -223,7 +228,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -240,7 +245,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title), ConvertUTF16ToJavaString(env, object_title), static_cast(chosen_object->ui_info->content_settings_type), @@ -524,15 +522,15 @@ 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 -@@ -1256,6 +1256,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1293,6 +1293,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.is_one_time = (info.metadata.session_model() == content_settings::mojom::SessionModel::ONE_TIME); + permission_info.is_user_session = + (info.metadata.session_model() == content_settings::mojom::SessionModel::USER_SESSION); - auto* page_specific_content_settings = GetPageSpecificContentSettings(); - if (page_specific_content_settings && setting == CONTENT_SETTING_ALLOW) { + auto* setting_info = + content_settings::PermissionSettingsRegistry::GetInstance()->Get( 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 @@ -962,7 +960,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/components/permissions/embedded_permission_prompt_flow_model.cc --- a/components/permissions/embedded_permission_prompt_flow_model.cc +++ b/components/permissions/embedded_permission_prompt_flow_model.cc -@@ -295,7 +295,7 @@ void EmbeddedPermissionPromptFlowModel::SetDelegateAction( +@@ -294,7 +294,7 @@ void EmbeddedPermissionPromptFlowModel::SetDelegateAction( delegate_->Accept(); break; case DelegateAction::kAllowThisTime: @@ -974,7 +972,7 @@ diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/c diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc --- a/components/permissions/permission_context_base.cc +++ b/components/permissions/permission_context_base.cc -@@ -260,6 +260,17 @@ PermissionContextBase::CreatePermissionRequest( +@@ -267,6 +267,17 @@ PermissionContextBase::CreatePermissionRequest( std::move(request_finished_callback), UsesAutomaticEmbargo()); } @@ -992,7 +990,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm bool PermissionContextBase::UsesAutomaticEmbargo() const { return true; } -@@ -551,7 +562,8 @@ void PermissionContextBase::DecidePermission( +@@ -571,7 +582,8 @@ void PermissionContextBase::DecidePermission( void PermissionContextBase::PermissionDecided( PermissionDecision decision, bool is_final_decision, @@ -1002,7 +1000,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm UserMadePermissionDecision(request_data.id, request_data.requesting_origin, request_data.embedding_origin, decision); -@@ -564,11 +576,12 @@ void PermissionContextBase::PermissionDecided( +@@ -584,11 +596,12 @@ void PermissionContextBase::PermissionDecided( // missing if a permission prompt was preignored and we already notified an // origin about it. if (request->second.second) { @@ -1019,7 +1017,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } } -@@ -653,6 +666,30 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -673,6 +686,30 @@ void PermissionContextBase::NotifyPermissionSet( bool persist, PermissionDecision decision, bool is_final_decision) { @@ -1050,18 +1048,18 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // Note that rfh may be null, see crbug.com/426909787. -@@ -668,8 +705,8 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -688,8 +725,8 @@ void PermissionContextBase::NotifyPermissionSet( if (persist) { // Clone new value, because we need it again for the callback. -- UpdateSetting(request_data, std::move(new_value), +- UpdateSetting(request_data, new_value, - decision == PermissionDecision::kAllowThisTime); -+ UpdateSettingImpl(request_data, std::move(new_value), ++ UpdateSettingImpl(request_data, new_value, + decision == PermissionDecision::kAllowThisTime, use_lifetime_option, lifetime_option); } if (is_final_decision) { -@@ -706,6 +743,17 @@ void PermissionContextBase::UpdateSetting( +@@ -727,6 +764,17 @@ void PermissionContextBase::UpdateSetting( const PermissionRequestData& request_data, PermissionSetting setting, bool is_one_time) { @@ -1079,15 +1077,15 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_EQ(request_data.requesting_origin, request_data.requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(request_data.embedding_origin, -@@ -715,6 +763,8 @@ void PermissionContextBase::UpdateSetting( +@@ -736,6 +784,8 @@ void PermissionContextBase::UpdateSetting( constraints.set_session_model( is_one_time ? content_settings::mojom::SessionModel::ONE_TIME : content_settings::mojom::SessionModel::DURABLE); + if (use_lifetime_option) + constraints = content_settings::GetConstraintSessionExpiration(lifetime_option); - // The Permissions module in Safety check will revoke permissions after - // a finite amount of time if the permission can be revoked. + // The unused permissions module in Safety check will revoke unused site + // permissions after a finite amount of time if the permission can be revoked. diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h --- a/components/permissions/permission_context_base.h +++ b/components/permissions/permission_context_base.h @@ -1276,7 +1274,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 -@@ -198,7 +198,7 @@ void PermissionRequestManager::AddRequest( +@@ -201,7 +201,7 @@ void PermissionRequestManager::AddRequest( if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDenyPermissionPrompts)) { @@ -1285,7 +1283,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p return; } -@@ -267,7 +267,7 @@ void PermissionRequestManager::AddRequest( +@@ -270,7 +270,7 @@ void PermissionRequestManager::AddRequest( if (should_auto_approve_request) { if (should_auto_approve_request == PermissionAction::GRANTED) { @@ -1294,7 +1292,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } return; } -@@ -626,7 +626,8 @@ void PermissionRequestManager::Accept() { +@@ -597,7 +597,8 @@ void PermissionRequestManager::Accept() { (*requests_iter)->request_type(), PermissionAction::GRANTED); PermissionGrantedIncludingDuplicates(requests_iter->get(), @@ -1304,7 +1302,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p #if !BUILDFLAG(IS_ANDROID) std::optional content_settings_type = -@@ -644,7 +645,7 @@ void PermissionRequestManager::Accept() { +@@ -615,7 +616,7 @@ void PermissionRequestManager::Accept() { CurrentRequestsDecided(PermissionAction::GRANTED); } @@ -1313,7 +1311,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) { return; } -@@ -658,7 +659,8 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -629,7 +630,8 @@ void PermissionRequestManager::AcceptThisTime() { (*requests_iter)->request_type(), PermissionAction::GRANTED_ONCE); PermissionGrantedIncludingDuplicates(requests_iter->get(), @@ -1323,7 +1321,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(PermissionAction::GRANTED_ONCE); -@@ -666,6 +668,15 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -637,6 +639,15 @@ void PermissionRequestManager::AcceptThisTime() { } void PermissionRequestManager::Deny() { @@ -1339,7 +1337,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) { return; } -@@ -688,7 +699,7 @@ void PermissionRequestManager::Deny() { +@@ -659,7 +670,7 @@ void PermissionRequestManager::Deny() { StorePermissionActionForUMA((*requests_iter)->requesting_origin(), (*requests_iter)->request_type(), PermissionAction::DENIED); @@ -1348,7 +1346,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(PermissionAction::DENIED); -@@ -1300,32 +1311,32 @@ PermissionRequestManager::VisitDuplicateRequests( +@@ -1283,32 +1294,32 @@ PermissionRequestManager::VisitDuplicateRequests( void PermissionRequestManager::PermissionGrantedIncludingDuplicates( PermissionRequest* request, @@ -1391,7 +1389,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request); } -@@ -1596,7 +1607,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { +@@ -1578,7 +1589,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { } switch (auto_response_for_test_) { case ACCEPT_ONCE: @@ -1403,7 +1401,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h --- a/components/permissions/permission_request_manager.h +++ b/components/permissions/permission_request_manager.h -@@ -166,8 +166,10 @@ class PermissionRequestManager +@@ -168,8 +168,10 @@ class PermissionRequestManager GURL GetRequestingOrigin() const override; GURL GetEmbeddingOrigin() const override; void Accept() override; @@ -1415,7 +1413,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe void Dismiss() override; void Ignore() override; void FinalizeCurrentRequests() override; -@@ -413,9 +415,12 @@ class PermissionRequestManager +@@ -419,9 +421,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 cb4ac3e5..509b0d25 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -35,7 +35,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -180,6 +180,7 @@ found in the LICENSE file. +@@ -187,6 +187,7 @@ found in the LICENSE file. @@ -46,7 +46,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va 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 -@@ -103,6 +103,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane; +@@ -102,6 +102,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane; import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.compositor.CompositorViewHolder; @@ -54,7 +54,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; -@@ -287,6 +288,9 @@ import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFac +@@ -292,6 +293,9 @@ import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFac import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory; @@ -64,25 +64,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin; import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig; -@@ -298,6 +302,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService; +@@ -303,6 +307,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService; import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl; import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl; +import org.chromium.components.bookmarks.BookmarkId; +import org.chromium.components.bookmarks.BookmarkItem; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; - import org.chromium.components.browser_ui.edge_to_edge.SystemBarColorHelper; - import org.chromium.components.browser_ui.edge_to_edge.TabbedSystemBarColorHelper; -@@ -3724,6 +3730,8 @@ public class ChromeTabbedActivity extends ChromeActivity { - getTabModelSelectorSupplier().get(), - closeAllTabsRunnable); + import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate; + import org.chromium.components.browser_ui.util.ComposedBrowserControlsVisibilityDelegate; +@@ -3848,6 +3854,8 @@ public class ChromeTabbedActivity extends ChromeActivity { + CloseAllTabsDialog.show( + this, getModalDialogManagerSupplier(), tabModelSelector, closeAllTabsRunnable); RecordUserAction.record("MobileMenuCloseAllTabs"); + } else if (id == R.id.bookmark_all_tabs_menu_id) { + bookmarkAllTabs(); } else if (id == R.id.close_all_incognito_tabs_menu_id) { boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion); -@@ -3848,6 +3856,41 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3970,6 +3978,41 @@ public class ChromeTabbedActivity extends ChromeActivity { getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus); } @@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -270,6 +270,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -271,6 +271,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm // Bookmarks modelList.add(buildBookmarksItem()); @@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab // Recent Tabs if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem()); -@@ -434,6 +442,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -448,6 +456,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm } modelList.add(buildCloseAllTabsItem()); if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem()); @@ -459,7 +459,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 -@@ -4482,6 +4482,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4431,6 +4431,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Select tabs diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 01f732f2..d9033c35 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -129,6 +129,7 @@ found in the LICENSE file. +@@ -131,6 +131,7 @@ found in the LICENSE file. @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va 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 -@@ -3764,6 +3764,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3884,6 +3884,8 @@ public class ChromeTabbedActivity extends ChromeActivity { NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); } RecordUserAction.record("MobileMenuDownloadManager"); @@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct 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 -@@ -2602,6 +2602,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2638,6 +2638,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return doOpenWebApk(currentTab); } @@ -54,7 +54,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/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java -@@ -957,6 +957,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -974,6 +974,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties return false; } @@ -101,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -334,6 +334,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -338,6 +338,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildAddToHomescreenListItem(currentTab, shouldShowIconBeforeItem())); } diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index 1b60bde0..f5019581 100644 --- a/build/patches/Add-option-to-disable-snapshots.patch +++ b/build/patches/Add-option-to-disable-snapshots.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java -@@ -480,7 +480,12 @@ class TabGridViewBinder { +@@ -497,7 +497,12 @@ class TabGridViewBinder { if (result != null) { TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize); } else { @@ -29,7 +29,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } }; if (sThumbnailFetcherForTesting != null) { -@@ -518,6 +523,7 @@ class TabGridViewBinder { +@@ -535,6 +540,7 @@ class TabGridViewBinder { */ private static void setFavicon( ImageView faviconView, PropertyModel model, @Nullable TabFavicon favicon) { @@ -40,7 +40,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java -@@ -127,6 +127,9 @@ public class TabProperties { +@@ -129,6 +129,9 @@ public class TabProperties { public static final WritableBooleanPropertyKey FAVICON_FETCHED = new WritableBooleanPropertyKey(); @@ -50,7 +50,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** Property for lazily fetching favicons when required by an item in a UI. */ public static final WritableObjectPropertyKey FAVICON_FETCHER = new WritableObjectPropertyKey<>(); -@@ -220,6 +223,7 @@ public class TabProperties { +@@ -223,6 +226,7 @@ public class TabProperties { CARD_TYPE, CONTENT_DESCRIPTION_TEXT_RESOLVER, ACTION_BUTTON_DESCRIPTION_TEXT_RESOLVER, @@ -58,7 +58,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser QUICK_DELETE_ANIMATION_STATUS, TAB_GROUP_COLOR_VIEW_PROVIDER, TAB_GROUP_CARD_COLOR, -@@ -259,6 +263,7 @@ public class TabProperties { +@@ -263,6 +267,7 @@ public class TabProperties { TAB_ACTION_BUTTON_DATA, FAVICON_FETCHED, FAVICON_FETCHER, @@ -84,7 +84,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -147,6 +147,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -150,6 +150,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileProvider; -@@ -641,7 +642,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -653,7 +654,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -105,15 +105,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -28,6 +28,7 @@ import org.chromium.base.ContextUtils; +@@ -29,6 +29,7 @@ import org.chromium.base.ContextUtils; import org.chromium.base.IntentUtils; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordUserAction; +import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; - import org.chromium.build.annotations.Nullable; -@@ -98,12 +99,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; + import org.chromium.build.annotations.NullMarked; +@@ -99,13 +100,27 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; @@ -126,6 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import java.util.List; /** Fragment to keep track of the all the privacy related preferences. */ + @NullMarked public class PrivacySettings extends ChromeBaseSettingsFragment - implements Preference.OnPreferenceChangeListener { + implements Preference.OnPreferenceChangeListener, INeedSnackbarManager { @@ -141,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_PRELOAD_PAGES = "preload_pages"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; -@@ -215,6 +230,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -217,6 +232,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } } @@ -163,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE); // Record the launch of PG from the S&P link-row entry point privacyGuidePreference.setOnPreferenceClickListener( -@@ -441,6 +471,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -442,6 +472,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents"; public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito"; @@ -171,7 +172,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { -@@ -487,6 +518,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -488,6 +519,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue); sharedPreferencesEditor.apply(); @@ -185,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -537,6 +575,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -538,6 +576,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -199,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -6194,6 +6194,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6146,6 +6146,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d Your %1$swww.amazon.com timer ran out. It'll start again tomorrow. 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 5526a633..a57c446c 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; -@@ -2086,8 +2087,10 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -2151,8 +2152,10 @@ public class ChromeTabbedActivity extends ChromeActivity { boolean hadCipherData = CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); @@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct 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 -@@ -8,6 +8,7 @@ import static org.chromium.components.content_settings.PrefNames.COOKIE_CONTROLS +@@ -9,6 +9,7 @@ import static org.chromium.components.content_settings.PrefNames.COOKIE_CONTROLS import android.content.Context; import android.content.Intent; @@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.SpannableString; -@@ -20,7 +21,9 @@ import android.view.View; +@@ -21,7 +22,9 @@ import android.view.View; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.base.IntentUtils; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordUserAction; -@@ -112,6 +115,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -114,6 +117,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private final SharedPreferencesManager mSharedPreferencesManager = ChromeSharedPreferences.getInstance(); @@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private ManagedPreferenceDelegate mManagedPreferenceDelegate; @VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies"; @VisibleForTesting static final String PREF_TRACKING_PROTECTION = "tracking_protection"; -@@ -381,7 +386,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -382,7 +387,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); @@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting UserPrefs.get(getProfile()) .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); } else if (PREF_HTTPS_FIRST_MODE_LEGACY.equals(key)) { -@@ -441,6 +450,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -442,6 +451,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment getContext(), getProfile())); } @@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -2901,6 +2901,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -2850,6 +2850,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d All tabs 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 142e4f0d..8dbd181d 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 @@ -24,9 +24,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java -@@ -120,6 +120,9 @@ import java.util.Objects; - import java.util.Optional; +@@ -120,6 +120,9 @@ import java.util.Optional; import java.util.Set; + import java.util.function.Supplier; +import org.chromium.chrome.browser.homepage.HomepageManager; +import org.chromium.url.GURL; @@ -34,7 +34,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * A mediator for the TabGridDialog component, responsible for communicating with the components' * coordinator as well as managing the business logic for dialog show/hide. -@@ -1035,9 +1038,15 @@ public class TabGridDialogMediator +@@ -1028,9 +1031,15 @@ public class TabGridDialogMediator return; } @@ -48,13 +48,13 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser assumeNonNull(mCurrentTabGroupModelFilterSupplier.get()), - UrlConstants.NTP_URL, + url, - currentTab.getId(), + tabsInGroup.get(tabsInGroup.size() - 1).getId(), TabLaunchType.FROM_TAB_GROUP_UI); RecordUserAction.record("MobileNewTabOpened." + mComponentName); diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java -@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory; +@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory; import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesConfig; import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator; import org.chromium.chrome.browser.layouts.LayoutStateProvider; @@ -97,9 +97,9 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java -@@ -75,6 +75,9 @@ import org.chromium.ui.text.EmptyTextWatcher; - import org.chromium.ui.widget.AnchoredPopupWindow.HorizontalOrientation; - import org.chromium.ui.widget.RectProvider; +@@ -84,6 +84,9 @@ import org.chromium.ui.widget.RectProvider; + + import java.util.function.Supplier; +import org.chromium.chrome.browser.homepage.HomepageManager; +import org.chromium.url.GURL; @@ -107,7 +107,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over /** * A coordinator for the context menu on the tab strip by long-pressing on the group titles. It is * responsible for creating a list of menu items, setting up the menu and displaying the menu. -@@ -215,9 +218,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina +@@ -228,9 +231,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina /* didCloseCallback= */ null); RecordUserAction.record("MobileToolbarTabGroupMenu.DeleteGroup"); } else if (menuId == R.id.open_new_tab_in_group) { @@ -127,7 +127,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/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java -@@ -258,6 +258,22 @@ public class HomepageManager +@@ -257,6 +257,22 @@ public class HomepageManager notifyHomepageUpdated(); } @@ -170,8 +170,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin private HomepageManager mHomepageManager; private RadioButtonGroupHomepagePreference mRadioButtons; private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); -@@ -78,6 +81,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { - }); +@@ -102,6 +105,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { + mRadioButtons.setOnHomepagePreferenceChangeListener(this::onRadioButtonGroupChanged); mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup()); + ChromeSwitchPreference mNTPIsHomepageSwitch = @@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java -@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask; +@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask; import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.multiwindow.MultiInstanceManager; @@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.profiles.Profile; -@@ -565,6 +566,13 @@ public class ChromeTabCreator extends TabCreator +@@ -569,6 +570,13 @@ public class ChromeTabCreator extends TabCreator */ public @Nullable Tab launchUrl( String url, @TabLaunchType int type, @Nullable Intent intent, long intentTimestamp) { @@ -225,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome 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 -@@ -330,6 +330,7 @@ public final class ChromePreferenceKeys { +@@ -334,6 +334,7 @@ public final class ChromePreferenceKeys { public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP"; public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; @@ -247,7 +247,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 -@@ -1357,6 +1357,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1324,6 +1324,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -260,7 +260,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 -@@ -111,6 +111,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -115,6 +115,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false, pref_registration_flags); @@ -272,7 +272,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u 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 -@@ -1327,6 +1327,10 @@ inline constexpr char kPinSplitTabButton[] = "browser.pin_split_tab_button"; +@@ -1345,6 +1345,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] = // by enterprise policy. inline constexpr char kGeminiSettings[] = "browser.gemini_settings"; diff --git a/build/patches/Add-search-engine.patch b/build/patches/Add-search-engine.patch index edd96ac0..3498b0b9 100644 --- a/build/patches/Add-search-engine.patch +++ b/build/patches/Add-search-engine.patch @@ -141,7 +141,7 @@ new file mode 100644 diff --git a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc --- a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc +++ b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc -@@ -155,10 +155,7 @@ void RecordChoiceScreenDefaultSearchProviderType( +@@ -172,10 +172,7 @@ void RecordChoiceScreenDefaultSearchProviderType( } void RecordChoiceScreenSelectedIndex(int selected_engine_index) { @@ -212,17 +212,16 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon std::unique_ptr GetPrepopulatedEngine( PrefService& prefs, std::vector -@@ -159,11 +172,15 @@ std::vector> GetLocalPrepopulatedEngines( +@@ -159,10 +172,14 @@ std::vector> GetLocalPrepopulatedEngines( return std::vector>(); } -- return base::ToVector( +- return base::ToVector(regional_capabilities::GetPrepopulatedEngines( + std::vector> t_urls = -+ base::ToVector( - regional_capabilities::GetPrepopulatedEngines( - country_id, prefs, - regional_capabilities::SearchEngineListType::kTopFive), - &PrepopulatedEngineToTemplateURLData); ++ base::ToVector(regional_capabilities::GetPrepopulatedEngines( + country_id, prefs, + regional_capabilities::SearchEngineListType::kTopN), + &PrepopulatedEngineToTemplateURLData); + t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(googleen)); + t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(duckduckgo_light)); + return t_urls; diff --git a/build/patches/Add-setting-to-clear-data-on-exit.patch b/build/patches/Add-setting-to-clear-data-on-exit.patch index eaf6982b..96ab1bb5 100644 --- a/build/patches/Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/Add-setting-to-clear-data-on-exit.patch @@ -48,7 +48,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -262,6 +262,7 @@ chrome_java_sources = [ +@@ -264,6 +264,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataCheckBoxPreference.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFetcher.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java", @@ -82,7 +82,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.recent_tabs.CrossDevicePaneFactory; import org.chromium.chrome.browser.reengagement.ReengagementNotificationController; -@@ -2091,7 +2092,11 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -2156,7 +2157,11 @@ public class ChromeTabbedActivity extends ChromeActivity { Intent intent = getIntent(); boolean hadCipherData = @@ -334,7 +334,7 @@ new file mode 100644 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 -@@ -2054,6 +2054,16 @@ +@@ -2036,6 +2036,16 @@ Delete browsing data @@ -354,7 +354,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp 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 -@@ -107,6 +107,7 @@ +@@ -108,6 +108,7 @@ #include "components/enterprise/data_controls/core/browser/features.h" #include "components/enterprise/obfuscation/core/utils.h" #include "components/error_page/common/error_page_switches.h" @@ -467,7 +467,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. ~content::BrowsingDataRemover::DATA_TYPE_AVOID_CLOSING_CONNECTIONS & ~constants::FILTERABLE_DATA_TYPES) == 0) || filter_builder->MatchesAllOriginsAndDomains()); -@@ -457,6 +458,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -453,6 +454,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( CreateTaskCompletionClosure(TracingDataType::kHistory), &history_task_tracker_); } @@ -477,7 +477,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. if (ClipboardRecentContent::GetInstance()) ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); -@@ -565,6 +569,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -561,6 +565,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( // and SSL host state are scoped to hosts and represent them as std::string. // Rename the method to indicate its more general usage. if (profile_->GetSSLHostStateDelegate()) { @@ -489,7 +489,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. profile_->GetSSLHostStateDelegate()->Clear( filter_builder->MatchesAllOriginsAndDomains() ? base::RepeatingCallback() -@@ -593,9 +602,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -589,9 +598,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( } device_event_log::Clear(delete_begin_, delete_end_); @@ -503,7 +503,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange( delete_begin_, delete_end_); -@@ -1320,6 +1333,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -1306,6 +1319,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (should_clear_zero_suggest_and_session_token && template_url_service) template_url_service->ClearSessionToken(); @@ -515,7 +515,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 -@@ -550,6 +550,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -554,6 +554,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::kNumber; @@ -574,7 +574,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1441,6 +1441,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, +@@ -1434,6 +1434,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, } } @@ -594,7 +594,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile void ProfileManager::DoFinalInitForServices(Profile* profile, bool go_off_the_record) { if (!do_final_services_init_ || -@@ -2102,7 +2115,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { +@@ -2095,7 +2108,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { Profile* original_profile = profile->GetOriginalProfile(); // Do nothing if the closed window is not the last window of the same profile. for (Browser* browser_iter : *BrowserList::GetInstance()) { @@ -691,7 +691,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 -@@ -1452,6 +1452,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1419,6 +1419,9 @@ Your Google account may have other forms of browsing history like searches and a Some of your history might not show up here. To see all your Chrome history, open full Chrome history. Also, your Google Account may have other forms of browsing history at <link>myactivity.google.com</link>. @@ -718,7 +718,7 @@ new file mode 100644 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 -@@ -2021,6 +2021,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2028,6 +2028,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, @@ -976,7 +976,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear diff --git a/content/browser/btm/btm_service_impl.cc b/content/browser/btm/btm_service_impl.cc --- a/content/browser/btm/btm_service_impl.cc +++ b/content/browser/btm/btm_service_impl.cc -@@ -212,7 +212,7 @@ class StateClearer : public BrowsingDataRemover::Observer { +@@ -262,7 +262,7 @@ class StateClearer : public BrowsingDataRemover::Observer { remove_mask &= ~BrowsingDataRemover::DATA_TYPE_PRIVACY_SANDBOX; remover->RemoveWithFilterAndReply( base::Time::Min(), base::Time::Max(), diff --git a/build/patches/Add-setting-to-invert-tap-and-long-tap.patch b/build/patches/Add-setting-to-invert-tap-and-long-tap.patch index f819090d..24d4048d 100644 --- a/build/patches/Add-setting-to-invert-tap-and-long-tap.patch +++ b/build/patches/Add-setting-to-invert-tap-and-long-tap.patch @@ -59,7 +59,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/contextmenu/A diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -105,6 +105,7 @@ found in the LICENSE file. +@@ -107,6 +107,7 @@ found in the LICENSE file. @@ -98,18 +98,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java -@@ -128,8 +128,9 @@ class ChromeContextMenuItem { - int PRINT_PAGE = 38; +@@ -132,8 +132,9 @@ class ChromeContextMenuItem { + int PRINT_PAGE = 40; // Developer Group - int INSPECT_ELEMENT = 39; -+ int FOLLOW_LINK = 40; + int INSPECT_ELEMENT = 41; ++ int FOLLOW_LINK = 42; // ALWAYS UPDATE! -- int NUM_ENTRIES = 40; -+ int NUM_ENTRIES = 41; +- int NUM_ENTRIES = 42; ++ int NUM_ENTRIES = 43; } /** Mapping from {@link Item} to the ID found in the ids.xml. */ -@@ -174,6 +175,7 @@ class ChromeContextMenuItem { +@@ -180,6 +181,7 @@ class ChromeContextMenuItem { R.id.contextmenu_share_page, // Item.SHARE_PAGE R.id.contextmenu_print_page, // Item.PRINT_PAGE R.id.contextmenu_inspect_element, // Item.INSPECT_ELEMENT @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr }; /** Mapping from {@link Item} to the ID of the string that describes the action of the item. */ -@@ -218,6 +220,7 @@ class ChromeContextMenuItem { +@@ -226,6 +228,7 @@ class ChromeContextMenuItem { R.string.contextmenu_share_page, // Item.SHARE_PAGE R.string.contextmenu_print_page, // Item.PRINT_PAGE R.string.contextmenu_inspect_element, // Item.INSPECT_ELEMENT @@ -128,7 +128,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 -@@ -442,6 +442,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -447,6 +447,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } if (mParams.isAnchor()) { ModelList linkGroup = new ModelList(); @@ -138,7 +138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl()) && UrlUtilities.isAcceptedScheme(mParams.getUrl())) { -@@ -1026,6 +1029,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -1039,6 +1042,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { getProfile(), false); }); @@ -150,7 +150,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/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java -@@ -369,6 +369,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -370,6 +370,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { mTab.loadUrl(loadUrlParams); } @@ -168,7 +168,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM 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 -@@ -419,6 +419,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -429,6 +429,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kTabGroupParityBottomSheetAndroid, &kTabModelInitFixes, &kTabStorageSqlitePrototype, @@ -179,7 +179,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 -@@ -494,6 +494,8 @@ public abstract class ChromeFeatureList { +@@ -503,6 +503,8 @@ public abstract class ChromeFeatureList { "DisableToolbarSwipeUp"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; @@ -188,7 +188,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON = "NewTabPageCustomizationToolbarButton"; public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2"; -@@ -988,6 +990,8 @@ public abstract class ChromeFeatureList { +@@ -1035,6 +1037,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -197,7 +197,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false); public static final CachedFlag sPostGetMyMemoryStateToBackground = newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true); -@@ -1228,6 +1232,7 @@ public abstract class ChromeFeatureList { +@@ -1289,6 +1293,7 @@ public abstract class ChromeFeatureList { sTopControlsRefactor, sTouchToSearchCallout, sTraceBinderIpc, @@ -208,7 +208,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 -@@ -1596,6 +1596,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1548,6 +1548,12 @@ Your Google account may have other forms of browsing history like searches and a Disable toolbar swipe up @@ -221,7 +221,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -3237,6 +3243,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3189,6 +3195,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -344,7 +344,7 @@ new file mode 100644 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 -@@ -66,6 +66,7 @@ +@@ -67,6 +67,7 @@ #include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h" #include "third_party/blink/renderer/core/navigation_api/navigation_api.h" #include "third_party/blink/renderer/core/page/chrome_client.h" @@ -352,7 +352,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/scroll/scroll_into_view_util.h" #include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h" -@@ -501,6 +502,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -467,6 +468,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( bool is_trusted, base::TimeTicks platform_time_stamp, KURL completed_url) { @@ -370,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third LocalDOMWindow* window = GetDocument().domWindow(); if (!window) { return; -@@ -591,6 +603,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -557,6 +569,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( frame_request.SetImpression(impression); } @@ -386,7 +386,7 @@ 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; -@@ -634,7 +655,7 @@ Element* HTMLAnchorElementBase::InterestForElement() const { +@@ -600,7 +621,7 @@ Element* HTMLAnchorElementBase::InterestForElement() const { html_names::kInterestforAttr); } @@ -395,25 +395,25 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third event.SetDefaultHandled(); LocalDOMWindow* window = GetDocument().domWindow(); -@@ -730,13 +751,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -658,13 +679,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { return; } -- base::OnceClosure navigate_closure = WTF::BindOnce( +- base::OnceClosure navigate_closure = blink::BindOnce( - &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this), - std::move(request), navigation_policy, event.isTrusted(), - event.PlatformTimeStamp(), std::move(completed_url)); - if (navigation_policy == kNavigationPolicyDownload || navigation_policy == kNavigationPolicyLinkPreview) { -+ base::OnceClosure navigate_closure = WTF::BindOnce( ++ base::OnceClosure navigate_closure = blink::BindOnce( + &HTMLAnchorElementBase::NavigateToHyperlink, WrapWeakPersistent(this), + std::move(request), navigation_policy, event.isTrusted(), + event.PlatformTimeStamp(), std::move(completed_url)); // We distinguish single/double click with some modifiers. // See the comment of `EventHandler.delayed_navigation_task_handle_`. auto task_handle = PostDelayedCancellableTask( -@@ -746,7 +766,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -674,7 +694,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { @@ -459,7 +459,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ #include "third_party/blink/renderer/core/frame/attribution_src_loader.h" #include "third_party/blink/renderer/core/frame/deprecation/deprecation.h" #include "third_party/blink/renderer/core/frame/local_dom_window.h" -@@ -64,6 +65,7 @@ +@@ -65,6 +66,7 @@ #include "third_party/blink/renderer/core/media_type_names.h" #include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/page.h" @@ -467,7 +467,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/resize_observer/resize_observer_entry.h" -@@ -815,6 +817,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate( +@@ -786,6 +788,21 @@ void HTMLImageElement::DidFinishLayout() { } } @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h --- a/third_party/blink/renderer/core/html/html_image_element.h +++ b/third_party/blink/renderer/core/html/html_image_element.h -@@ -215,6 +215,8 @@ class CORE_EXPORT HTMLImageElement +@@ -216,6 +216,8 @@ class CORE_EXPORT HTMLImageElement void DidAddUserAgentShadowRoot(ShadowRoot&) override; void AdjustStyle(ComputedStyleBuilder&) override; @@ -504,7 +504,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc --- a/third_party/blink/renderer/core/page/context_menu_controller.cc +++ b/third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -200,14 +200,16 @@ void ContextMenuController::DocumentDetached(Document* document) { +@@ -200,15 +200,17 @@ void ContextMenuController::DocumentDetached(Document* document) { } } @@ -514,7 +514,8 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t + if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) { + DCHECK(mouse_event->type() == event_type_names::kContextmenu); + } - LocalFrame* frame = mouse_event->target()->ToNode()->GetDocument().GetFrame(); + LocalFrame* frame = + mouse_event->RawTarget()->ToNode()->GetDocument().GetFrame(); PhysicalOffset location = PhysicalOffset::FromPointFRound(mouse_event->AbsoluteLocation()); @@ -524,7 +525,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t mouse_event->SetDefaultHandled(); } -@@ -432,7 +434,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( +@@ -433,7 +435,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( bool ContextMenuController::ShowContextMenu(LocalFrame* frame, const PhysicalOffset& point, WebMenuSourceType source_type, @@ -534,7 +535,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Displaying the context menu in this function is a big hack as we don't // have context, i.e. whether this is being invoked via a script or in // response to user input (Mouse event WM_RBUTTONDOWN, -@@ -455,6 +458,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -456,6 +459,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, if (!result.InnerNodeOrImageMapImage()) return false; @@ -551,7 +552,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; -@@ -825,7 +838,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -837,7 +850,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, SetAutofillData(result.InnerNode(), data); diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index ccfccada..b95565e2 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.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 -@@ -166,6 +166,7 @@ +@@ -169,6 +169,7 @@ #include "components/sensitive_content/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" #include "components/services/storage/public/cpp/buckets/bucket_info.h" @@ -88,7 +88,7 @@ diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components diff --git a/components/feature_engagement/public/feature_configurations.cc b/components/feature_engagement/public/feature_configurations.cc --- a/components/feature_engagement/public/feature_configurations.cc +++ b/components/feature_engagement/public/feature_configurations.cc -@@ -11,6 +11,7 @@ +@@ -6,6 +6,7 @@ #include "base/strings/string_util.h" #include "build/build_config.h" @@ -96,7 +96,7 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co #include "components/feature_engagement/public/configuration.h" #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" -@@ -118,6 +119,12 @@ std::optional GetClientSideFeatureConfig( +@@ -113,6 +114,12 @@ std::optional GetClientSideFeatureConfig( } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 4270e024..4756ba12 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 -@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +@@ -56,6 +56,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; @@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; import org.chromium.components.browser_ui.settings.SettingsFragment; -@@ -469,8 +470,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -485,8 +486,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity finishCurrentSettings(mainFragment); return true; } else if (item.getItemId() == R.id.menu_id_general_help) { diff --git a/build/patches/Add-support-for-writing-URIs.patch b/build/patches/Add-support-for-writing-URIs.patch index 821d598b..49836eb4 100644 --- a/build/patches/Add-support-for-writing-URIs.patch +++ b/build/patches/Add-support-for-writing-URIs.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc --- a/base/android/content_uri_utils.cc +++ b/base/android/content_uri_utils.cc -@@ -136,6 +136,16 @@ void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, +@@ -137,6 +137,16 @@ void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, Time::FromMillisecondsSinceUnixEpoch(last_modified)); } diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index 86a1d176..8879ca48 100644 --- a/build/patches/Add-webGL-site-setting.patch +++ b/build/patches/Add-webGL-site-setting.patch @@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(), builder); builder.Append('.'); -@@ -693,6 +681,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( +@@ -694,6 +682,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( const CanvasContextCreationAttributesCore& attributes, Platform::ContextType context_type, Platform::GraphicsInfo* graphics_info) { @@ -274,7 +274,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 -@@ -1951,6 +1951,8 @@ class MODULES_EXPORT WebGLRenderingContextBase +@@ -1959,6 +1959,8 @@ class MODULES_EXPORT WebGLRenderingContextBase DOMArrayBufferView* pixels, int64_t offset); diff --git a/build/patches/Add-webRTC-site-settings.patch b/build/patches/Add-webRTC-site-settings.patch index b6e5800f..4d19637d 100644 --- a/build/patches/Add-webRTC-site-settings.patch +++ b/build/patches/Add-webRTC-site-settings.patch @@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d #include "third_party/blink/public/platform/web_url.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h" #include "third_party/blink/public/web/web_document.h" -@@ -1062,6 +1063,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -1023,6 +1024,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( // |request_multiple_routes|. Whether local IP addresses could be // collected depends on if mic/camera permission is granted for this // origin. @@ -220,7 +220,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" -@@ -288,6 +291,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, +@@ -287,6 +290,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state, if (kind != "audio" && kind != "video") return nullptr; @@ -248,7 +248,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_encoding_options.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h" -@@ -1035,6 +1038,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state, +@@ -1034,6 +1037,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 fb54dbe0..e8189610 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -43,7 +43,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 -@@ -1496,6 +1496,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1516,6 +1516,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { } } @@ -51,7 +51,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->ForEachRenderFrameHostImplWithAction( -@@ -1509,6 +1510,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1529,6 +1530,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { }); return urls; } @@ -126,7 +126,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 -@@ -16153,12 +16153,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -16185,12 +16185,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -308,7 +308,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 -@@ -494,14 +494,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -501,14 +501,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const GURL& url, const std::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, @@ -351,7 +351,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 -@@ -1240,6 +1240,7 @@ interface NetworkContext { +@@ -1264,6 +1264,7 @@ interface NetworkContext { // provided `network_anonymization_key`. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -359,7 +359,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -1247,6 +1248,7 @@ interface NetworkContext { +@@ -1271,6 +1272,7 @@ interface NetworkContext { NetworkAnonymizationKey network_anonymization_key, mojo_base.mojom.DictionaryValue body); @@ -367,7 +367,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueEnterpriseReport(string type, string group, url.mojom.Url url, -@@ -1257,6 +1259,7 @@ interface NetworkContext { +@@ -1281,6 +1283,7 @@ interface NetworkContext { // Note that this queued report will never be delivered if no reporting // endpoint matching is registered for with the provided // `network_anonymization_key`. @@ -386,7 +386,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 "base/feature_list.h" -@@ -1344,6 +1345,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1356,6 +1357,7 @@ void ContentSecurityPolicy::ReportViolation( ShouldBypassContentSecurityPolicy(KURL(violation_data->sourceFile()))) { return; } @@ -394,7 +394,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); -@@ -1351,6 +1353,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1363,6 +1365,7 @@ void ContentSecurityPolicy::ReportViolation( // `context_frame` (i.e. we're not processing 'frame-ancestors'). if (delegate_ && !context_frame) delegate_->DispatchViolationEvent(*violation_data, element); @@ -413,7 +413,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" -@@ -2836,9 +2837,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { +@@ -2860,9 +2861,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { return CHECK_DEREF(GetDocument()).GetResourceCoordinator(); } @@ -547,7 +547,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p diff --git a/third_party/blink/renderer/core/frame/reporting_observer.cc b/third_party/blink/renderer/core/frame/reporting_observer.cc --- a/third_party/blink/renderer/core/frame/reporting_observer.cc +++ b/third_party/blink/renderer/core/frame/reporting_observer.cc -@@ -62,8 +62,7 @@ void ReportingObserver::QueueReport(Report* report) { +@@ -61,8 +61,7 @@ void ReportingObserver::QueueReport(Report* report) { } bool ReportingObserver::ObservedType(const String& type) { diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 84dd6e1a..ea83f0b0 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -24,7 +24,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 -@@ -819,7 +819,6 @@ if (_is_default_toolchain) { +@@ -820,7 +820,6 @@ if (_is_default_toolchain) { "//components/offline_pages/core:offline_page_model_enums_java", "//components/sharing_message:sharing_dialog_type_generated_enum", "//components/sharing_message:sharing_send_message_result_generated_enum", @@ -65,7 +65,7 @@ diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc --- a/chrome/browser/prefs/chrome_pref_service_factory.cc +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc -@@ -319,7 +319,7 @@ void PrepareFactory( +@@ -324,7 +324,7 @@ void PrepareFactory( policy::BrowserPolicyConnector* policy_connector) { factory->SetManagedPolicies(policy_service, policy_connector); factory->SetRecommendedPolicies(policy_service, policy_connector); @@ -77,7 +77,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc -@@ -471,7 +471,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { +@@ -476,7 +476,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { } std::string ProfileAttributesEntry::GetSupervisedUserId() const { @@ -89,7 +89,7 @@ diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -684,10 +684,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { +@@ -683,10 +683,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_); pref_change_registrar_.Init(prefs); @@ -100,7 +100,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p // Changes in the profile avatar. pref_change_registrar_.Add( -@@ -1624,6 +1620,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1623,6 +1619,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -111,7 +111,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1192,10 +1192,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { +@@ -1190,10 +1190,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); } @@ -122,7 +122,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile } void ProfileManager::RegisterTestingProfile(std::unique_ptr profile, -@@ -1962,9 +1958,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -1955,9 +1951,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -160,7 +160,7 @@ diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/w diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc --- a/chrome/browser/ui/webui/management/management_ui_handler.cc +++ b/chrome/browser/ui/webui/management/management_ui_handler.cc -@@ -617,10 +617,6 @@ bool ManagementUIHandler::managed() const { +@@ -623,10 +623,6 @@ bool ManagementUIHandler::managed() const { void ManagementUIHandler::RegisterPrefChange( PrefChangeRegistrar& pref_registrar) { @@ -174,7 +174,7 @@ diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrom diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.cc b/components/supervised_user/core/browser/supervised_user_pref_store.cc --- a/components/supervised_user/core/browser/supervised_user_pref_store.cc +++ b/components/supervised_user/core/browser/supervised_user_pref_store.cc -@@ -175,6 +175,7 @@ void SupervisedUserPrefStore::OnNewContentFiltersStateAvailable( +@@ -172,6 +172,7 @@ void SupervisedUserPrefStore::OnNewContentFiltersStateAvailable( void SupervisedUserPrefStore::OnNewSettingsAvailable( const base::Value::Dict& settings) { @@ -185,7 +185,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_pref_store. diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc --- a/components/supervised_user/core/browser/supervised_user_preferences.cc +++ b/components/supervised_user/core/browser/supervised_user_preferences.cc -@@ -164,6 +164,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -160,6 +160,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { } void EnableParentalControls(PrefService& pref_service) { @@ -196,7 +196,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences pref_service.SetString(prefs::kSupervisedUserId, supervised_user::kChildAccountSUID); #if BUILDFLAG(IS_CHROMEOS) -@@ -197,7 +201,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) { +@@ -187,7 +191,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) { } bool IsSubjectToParentalControls(const PrefService& pref_service) { @@ -208,7 +208,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc --- a/components/supervised_user/core/browser/supervised_user_service.cc +++ b/components/supervised_user/core/browser/supervised_user_service.cc -@@ -249,6 +249,7 @@ SupervisedUserService::SupervisedUserService( +@@ -248,6 +248,7 @@ SupervisedUserService::SupervisedUserService( } void SupervisedUserService::SetSettingsServiceActive(bool active) { @@ -227,7 +227,7 @@ diff --git a/components/supervised_user/core/common/features.cc b/components/sup #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ BUILDFLAG(IS_WIN) const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000; -@@ -170,4 +169,5 @@ bool ClassifyUrlWithoutCredentialsForLocalSupervision() { +@@ -164,4 +163,5 @@ bool ClassifyUrlWithoutCredentialsForLocalSupervision() { #endif diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index 0b428b3e..96462a46 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -24,9 +24,9 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc void WebMediaPlayerImpl::EnabledAudioTracksChanged( std::optional enabled_track_id) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3683,7 +3689,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { - : HasAudio(); +@@ -3679,7 +3685,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { + const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured(); // Audio only stream is allowed to play when in background. - if (!HasVideo() && preserve_audio) + //pipeline_metadata_.has_video is true for MediaPlayerRenderer, @@ -39,7 +39,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h --- a/third_party/blink/renderer/platform/media/web_media_player_impl.h +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h -@@ -211,6 +211,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl +@@ -212,6 +212,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl bool HasVideo() const override; bool HasAudio() const override; diff --git a/build/patches/Always-open-browser-controls-in-new-tab.patch b/build/patches/Always-open-browser-controls-in-new-tab.patch index 5ce766ce..bba6ccd1 100644 --- a/build/patches/Always-open-browser-controls-in-new-tab.patch +++ b/build/patches/Always-open-browser-controls-in-new-tab.patch @@ -10,15 +10,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java -@@ -24,6 +24,7 @@ import org.chromium.base.metrics.RecordUserAction; - import org.chromium.base.supplier.Supplier; +@@ -23,6 +23,7 @@ import org.chromium.base.PackageManagerUtils; + import org.chromium.base.metrics.RecordUserAction; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; +import org.chromium.cc.input.BrowserControlsState; import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpenerImpl; -@@ -43,6 +44,7 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -42,6 +43,7 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; import org.chromium.chrome.browser.profiles.Profile; @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; -@@ -303,6 +305,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -304,6 +306,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { @Nullable Referrer referrer, boolean navigateToTab, @Nullable AdditionalNavigationParams additionalNavigationParams) { @@ -34,7 +34,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); -@@ -323,6 +326,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -324,6 +327,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { * @param url The URL to open. */ public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) { diff --git a/build/patches/Always-use-new-tab-page-for-default-home-page.patch b/build/patches/Always-use-new-tab-page-for-default-home-page.patch index c4b3e395..336a8f39 100644 --- a/build/patches/Always-use-new-tab-page-for-default-home-page.patch +++ b/build/patches/Always-use-new-tab-page-for-default-home-page.patch @@ -7,19 +7,19 @@ Ignore any partner-provided home page. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ---- - .../chrome/browser/new_tab_url/DseNewTabUrlManager.java | 1 + + .../chrome/browser/new_tab_url/DseNewTabUrlManager.java | 2 +- .../partnerbookmarks/PartnerBookmarksProviderIterator.java | 1 + .../partnercustomizations/PartnerBrowserCustomizations.java | 2 +- .../org/chromium/components/search_engines/TemplateUrl.java | 1 + .../search_engines/android/template_url_service_android.cc | 1 + .../always-use-new-tab-page-for-default-home-page.inc | 1 + - 7 files changed, 6 insertions(+), 5 deletions(-) + 7 files changed, 6 insertions(+), 6 deletions(-) create mode 100755 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/always-use-new-tab-page-for-default-home-page.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java -@@ -160,10 +160,6 @@ public class HomepageManager +@@ -159,10 +159,6 @@ public class HomepageManager * tab page if the homepage button is force enabled via flag. */ public GURL getDefaultHomepageGurl() { @@ -33,14 +33,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa diff --git a/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java b/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/new_tab_url/DseNewTabUrlManager.java -@@ -60,6 +60,7 @@ public class DseNewTabUrlManager { +@@ -59,7 +59,7 @@ public class DseNewTabUrlManager { /** Returns whether the feature NewTabSearchEngineUrlAndroid is enabled. */ public static boolean isNewTabSearchEngineUrlAndroidEnabled() { -+ if ((true)) return false; - return ChromeSharedPreferences.getInstance() - .readBoolean(ChromePreferenceKeys.IS_EEA_CHOICE_COUNTRY, false) - || (OmniboxFeatures.sOmniboxMobileParityUpdate.isEnabled() +- return true; ++ return false; + } + + /** diff --git a/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java b/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java --- a/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java +++ b/chrome/browser/partnerbookmarks/android/java/src/org/chromium/chrome/browser/partnerbookmarks/PartnerBookmarksProviderIterator.java diff --git a/build/patches/Android-Pixel-Perfect-Mode.patch b/build/patches/Android-Pixel-Perfect-Mode.patch index 7bba0c3e..23b128b4 100644 --- a/build/patches/Android-Pixel-Perfect-Mode.patch +++ b/build/patches/Android-Pixel-Perfect-Mode.patch @@ -131,7 +131,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw diff --git a/cc/input/input_handler.cc b/cc/input/input_handler.cc --- a/cc/input/input_handler.cc +++ b/cc/input/input_handler.cc -@@ -670,7 +670,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt( +@@ -679,7 +679,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt( return result; } @@ -176,20 +176,20 @@ diff --git a/cc/layers/viewport.cc b/cc/layers/viewport.cc diff --git a/cc/mojo_embedder/viz_layer_context.cc b/cc/mojo_embedder/viz_layer_context.cc --- a/cc/mojo_embedder/viz_layer_context.cc +++ b/cc/mojo_embedder/viz_layer_context.cc -@@ -1242,7 +1242,7 @@ void VizLayerContext::SetVisible(bool visible) { +@@ -1249,7 +1249,7 @@ void VizLayerContext::SetVisible(bool visible) { service_->SetVisible(visible); } --void VizLayerContext::UpdateDisplayTreeFrom( -+void VizLayerContext::UpdateDisplayTreeFrom( // POI +-base::TimeTicks VizLayerContext::UpdateDisplayTreeFrom( ++base::TimeTicks VizLayerContext::UpdateDisplayTreeFrom( // POI LayerTreeImpl& tree, viz::ClientResourceProvider& resource_provider, viz::RasterContextProvider& context_provider, diff --git a/cc/trees/commit_state.cc b/cc/trees/commit_state.cc --- a/cc/trees/commit_state.cc +++ b/cc/trees/commit_state.cc -@@ -25,6 +25,7 @@ CommitState::CommitState(const CommitState& prev) - external_page_scale_factor(prev.external_page_scale_factor), +@@ -26,6 +26,7 @@ CommitState::CommitState(const CommitState& prev) + load_progress(prev.load_progress), max_page_scale_factor(prev.max_page_scale_factor), min_page_scale_factor(prev.min_page_scale_factor), + browser_control_scale_factor(prev.browser_control_scale_factor), @@ -199,8 +199,8 @@ diff --git a/cc/trees/commit_state.cc b/cc/trees/commit_state.cc diff --git a/cc/trees/commit_state.h b/cc/trees/commit_state.h --- a/cc/trees/commit_state.h +++ b/cc/trees/commit_state.h -@@ -93,6 +93,7 @@ struct CC_EXPORT CommitState { - float external_page_scale_factor = 1.f; +@@ -94,6 +94,7 @@ struct CC_EXPORT CommitState { + float load_progress = 0.f; float max_page_scale_factor = 1.f; float min_page_scale_factor = 1.f; + float browser_control_scale_factor = 1.f; @@ -210,7 +210,7 @@ diff --git a/cc/trees/commit_state.h b/cc/trees/commit_state.h diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc --- a/cc/trees/layer_tree_host.cc +++ b/cc/trees/layer_tree_host.cc -@@ -1347,7 +1347,7 @@ void LayerTreeHost::SetEventListenerProperties( +@@ -1348,7 +1348,7 @@ void LayerTreeHost::SetEventListenerProperties( SetNeedsCommit(); } @@ -219,7 +219,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc const gfx::Rect& device_viewport_rect, float device_scale_factor, const viz::LocalSurfaceId& local_surface_id_from_parent) { -@@ -1458,9 +1458,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) { +@@ -1468,9 +1468,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) { void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, float min_page_scale_factor, @@ -231,7 +231,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc pending_commit_state()->max_page_scale_factor == max_page_scale_factor) return; DCHECK_GE(page_scale_factor, min_page_scale_factor); -@@ -1476,6 +1478,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, +@@ -1486,6 +1488,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, pending_commit_state()->page_scale_factor = page_scale_factor; pending_commit_state()->min_page_scale_factor = min_page_scale_factor; @@ -242,7 +242,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h --- a/cc/trees/layer_tree_host.h +++ b/cc/trees/layer_tree_host.h -@@ -565,6 +565,7 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { +@@ -566,6 +566,7 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { void SetPageScaleFactorAndLimits(float page_scale_factor, float min_page_scale_factor, @@ -250,7 +250,7 @@ diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h float max_page_scale_factor); float page_scale_factor() const { return pending_commit_state()->page_scale_factor; -@@ -572,6 +573,9 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { +@@ -573,6 +574,9 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { float min_page_scale_factor() const { return pending_commit_state()->min_page_scale_factor; } @@ -263,7 +263,7 @@ diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h 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 -@@ -2472,7 +2472,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() { +@@ -2497,7 +2497,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() { return bounds; } @@ -272,7 +272,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc viz::CompositorFrameMetadata metadata; if (settings().trees_in_viz_in_viz_process) { // In TreesInViz mode, this function is called in client process already, -@@ -2639,7 +2639,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { +@@ -2664,7 +2664,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { return metadata; } @@ -284,7 +284,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc --- a/cc/trees/layer_tree_impl.cc +++ b/cc/trees/layer_tree_impl.cc -@@ -161,6 +161,7 @@ LayerTreeImpl::LayerTreeImpl( +@@ -160,6 +160,7 @@ LayerTreeImpl::LayerTreeImpl( background_color_(SkColors::kTransparent), page_scale_factor_(page_scale_factor), min_page_scale_factor_(0), @@ -292,7 +292,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc max_page_scale_factor_(0), external_page_scale_factor_(1.f), device_scale_factor_(1.f), -@@ -451,7 +452,7 @@ void LayerTreeImpl::InvalidateRasterInducingScrolls( +@@ -449,7 +450,7 @@ void LayerTreeImpl::InvalidateRasterInducingScrolls( } } @@ -301,7 +301,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc if (!InnerViewportScrollNode()) return; -@@ -526,8 +527,13 @@ void LayerTreeImpl::UpdateViewportContainerSizes() { +@@ -524,8 +525,13 @@ void LayerTreeImpl::UpdateViewportContainerSizes() { // Adjust the outer viewport container as well, since adjusting only the // inner may cause its bounds to exceed those of the outer, causing scroll // clamping. @@ -317,7 +317,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc property_trees->SetOuterViewportContainerBoundsDelta(scaled_bounds_delta); // outer_viewport_container_bounds_delta and -@@ -823,6 +829,7 @@ void LayerTreeImpl::PullLayerTreePropertiesFrom(CommitState& commit_state) { +@@ -821,6 +827,7 @@ void LayerTreeImpl::PullLayerTreePropertiesFrom(CommitState& commit_state) { PushPageScaleFromMainThread(commit_state.page_scale_factor, commit_state.min_page_scale_factor, @@ -325,7 +325,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc commit_state.max_page_scale_factor); SetBrowserControlsParams(commit_state.browser_controls_params); -@@ -934,6 +941,7 @@ void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) { +@@ -930,6 +937,7 @@ void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) { // Active tree already shares the page_scale_factor object with pending // tree so only the limits need to be provided. target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(), @@ -333,7 +333,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc max_page_scale_factor()); target_tree->SetExternalPageScaleFactor(external_page_scale_factor_); -@@ -1315,19 +1323,21 @@ void LayerTreeImpl::SetPageScaleOnActiveTree(float active_page_scale) { +@@ -1311,19 +1319,21 @@ void LayerTreeImpl::SetPageScaleOnActiveTree(float active_page_scale) { void LayerTreeImpl::PushPageScaleFromMainThread(float page_scale_factor, float min_page_scale_factor, @@ -357,7 +357,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc if (changed_page_scale) { DidUpdatePageScale(); -@@ -1336,12 +1346,13 @@ void LayerTreeImpl::SetPageScaleFactorAndLimitsForDisplayTree( +@@ -1332,12 +1342,13 @@ void LayerTreeImpl::SetPageScaleFactorAndLimitsForDisplayTree( void LayerTreeImpl::PushPageScaleFactorAndLimits(const float* page_scale_factor, float min_page_scale_factor, @@ -372,7 +372,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc if (page_scale_factor) { DCHECK(!IsActiveTree() || !host_impl_->pending_tree()); -@@ -1446,12 +1457,15 @@ void LayerTreeImpl::PushBrowserControls( +@@ -1454,12 +1465,15 @@ void LayerTreeImpl::PushBrowserControls( } bool LayerTreeImpl::SetPageScaleFactorLimits(float min_page_scale_factor, @@ -388,7 +388,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc max_page_scale_factor_ = max_page_scale_factor; return true; -@@ -2357,7 +2371,7 @@ ScrollbarSet LayerTreeImpl::ScrollbarsFor(ElementId scroll_element_id) const { +@@ -2365,7 +2379,7 @@ ScrollbarSet LayerTreeImpl::ScrollbarsFor(ElementId scroll_element_id) const { return scrollbars; } @@ -397,7 +397,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc const gfx::PointF& screen_space_point, const gfx::Transform& local_space_to_screen_space_transform, const gfx::Rect& local_space_rect, -@@ -2943,7 +2957,7 @@ static gfx::SelectionBound ComputeViewportSelectionBound( +@@ -2951,7 +2965,7 @@ static gfx::SelectionBound ComputeViewportSelectionBound( return viewport_bound; } @@ -409,7 +409,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h --- a/cc/trees/layer_tree_impl.h +++ b/cc/trees/layer_tree_impl.h -@@ -380,6 +380,7 @@ class CC_EXPORT LayerTreeImpl { +@@ -378,6 +378,7 @@ class CC_EXPORT LayerTreeImpl { void SetPageScaleOnActiveTree(float active_page_scale); void PushPageScaleFromMainThread(float page_scale_factor, float min_page_scale_factor, @@ -417,7 +417,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h float max_page_scale_factor); const LayerSelection& selection() const { return selection_; } float current_page_scale_factor() const { -@@ -387,7 +388,7 @@ class CC_EXPORT LayerTreeImpl { +@@ -385,7 +386,7 @@ class CC_EXPORT LayerTreeImpl { } float min_page_scale_factor() const { return min_page_scale_factor_; } float max_page_scale_factor() const { return max_page_scale_factor_; } @@ -426,7 +426,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h float page_scale_delta() const { return page_scale_factor()->Delta(); } SyncedScale* page_scale_factor(); -@@ -849,6 +850,7 @@ class CC_EXPORT LayerTreeImpl { +@@ -838,6 +839,7 @@ class CC_EXPORT LayerTreeImpl { void SetPageScaleFactorAndLimitsForDisplayTree(float page_scale_factor, float min_page_scale_factor, @@ -434,7 +434,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h float max_page_scale_factor); LayerTreeHostImpl* host_impl() { return host_impl_; } -@@ -873,8 +875,10 @@ class CC_EXPORT LayerTreeImpl { +@@ -862,8 +864,10 @@ class CC_EXPORT LayerTreeImpl { float ClampPageScaleFactorToLimits(float page_scale_factor) const; void PushPageScaleFactorAndLimits(const float* page_scale_factor, float min_page_scale_factor, @@ -445,7 +445,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h float max_page_scale_factor); void DidUpdatePageScale(); void PushBrowserControls(const float* top_controls_shown_ratio, -@@ -913,6 +917,7 @@ class CC_EXPORT LayerTreeImpl { +@@ -902,6 +906,7 @@ class CC_EXPORT LayerTreeImpl { scoped_refptr page_scale_factor_; float min_page_scale_factor_; @@ -456,7 +456,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc --- a/cc/trees/property_tree.cc +++ b/cc/trees/property_tree.cc -@@ -1587,7 +1587,7 @@ void ScrollTree::clear() { +@@ -1597,7 +1597,7 @@ void ScrollTree::clear() { #endif } @@ -465,7 +465,7 @@ diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc const ScrollNode* scroll_node = Node(scroll_node_id); gfx::SizeF scroll_bounds = this->scroll_bounds(scroll_node_id); -@@ -2079,7 +2079,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node, +@@ -2116,7 +2116,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node, return old_offset + scroll - new_offset; } @@ -489,7 +489,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java -@@ -321,7 +321,7 @@ public class WarmupManager { +@@ -302,7 +302,7 @@ public class WarmupManager { int height = bounds.bottom - bounds.top; webContents = tab.getWebContents(); assumeNonNull(webContents); @@ -501,7 +501,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j 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 -@@ -36,6 +36,9 @@ import androidx.annotation.NonNull; +@@ -39,6 +39,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -510,8 +510,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv + import org.chromium.base.ActivityState; import org.chromium.base.ApplicationStatus; - import org.chromium.base.BuildInfo; -@@ -516,7 +519,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity + import org.chromium.base.Callback; +@@ -528,7 +531,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity // Ensure that mConfig is initialized before tablet mode changes. mConfig = getResources().getConfiguration(); @@ -541,7 +541,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/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java -@@ -929,7 +929,7 @@ public class CompositorViewHolder extends FrameLayout +@@ -953,7 +953,7 @@ public class CompositorViewHolder extends FrameLayout int viewportInsets = controlsInsets + keyboardInset; if (isAttachedToWindow(view)) { @@ -550,7 +550,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp // Dispatch the geometrychange JavaScript event to the page. // TODO(bokan): This doesn't belong in updateWebContentsSize. Ideally the content/ layer -@@ -949,7 +949,7 @@ public class CompositorViewHolder extends FrameLayout +@@ -973,7 +973,7 @@ public class CompositorViewHolder extends FrameLayout MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); @@ -562,7 +562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java -@@ -617,7 +617,7 @@ public class OverlayPanelContent { +@@ -618,7 +618,7 @@ public class OverlayPanelContent { OverlayPanelContentJni.get() .onPhysicalBackingSizeChanged( mNativeOverlayPanelContentPtr, webContents, mContentViewWidth, viewHeight); @@ -574,7 +574,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bott 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 -@@ -1869,7 +1869,7 @@ class TabImpl implements Tab { +@@ -1870,7 +1870,7 @@ class TabImpl implements Tab { // so that next onShow() call won't send a resize message with zero size // to the renderer process. This prevents the size fluttering that may confuse // Blink and break rendered result (see http://crbug.com/340987). @@ -583,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav if (bounds != null) { assert mNativeTabAndroid != 0; -@@ -2243,7 +2243,7 @@ class TabImpl implements Tab { +@@ -2244,7 +2244,7 @@ class TabImpl implements Tab { Supplier compositorViewHolderSupplier = assumeNonNull(getActivity()).getCompositorViewHolderSupplier(); View compositorView = compositorViewHolderSupplier.get(); @@ -595,7 +595,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/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -25,12 +25,14 @@ import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; +@@ -23,12 +23,14 @@ import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.chrome.browser.util.PlatformUtil; @@ -610,7 +610,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting // Non-translated strings: private static final String MSG_DEVELOPER_OPTIONS_TITLE = "Developer options"; -@@ -82,6 +84,14 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb +@@ -80,6 +82,14 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb // handle the click so the default action isn't triggered. return true; }); @@ -701,7 +701,7 @@ new file mode 100644 diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java --- a/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java +++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java -@@ -46,6 +46,10 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa +@@ -107,6 +107,10 @@ public abstract class ChromeBaseSettingsFragment extends PreferenceFragmentCompa mRequireRestartDelegateSupplier = delegate; } @@ -775,7 +775,7 @@ diff --git a/components/input/child_frame_input_helper.cc b/components/input/chi diff --git a/components/input/input_router_impl.cc b/components/input/input_router_impl.cc --- a/components/input/input_router_impl.cc +++ b/components/input/input_router_impl.cc -@@ -652,7 +652,7 @@ bool InputRouterImpl::IsAutoscrollInProgress() { +@@ -655,7 +655,7 @@ bool InputRouterImpl::IsAutoscrollInProgress() { return client_->IsAutoscrollInProgress(); } @@ -795,7 +795,7 @@ diff --git a/components/input/render_widget_host_input_event_router.cc b/compone #include "components/input/cursor_manager.h" #include "components/input/features.h" #include "components/input/touch_emulator.h" -@@ -580,6 +581,8 @@ RenderWidgetTargetResult RenderWidgetHostInputEventRouter::FindViewAtLocation( +@@ -581,6 +582,8 @@ RenderWidgetTargetResult RenderWidgetHostInputEventRouter::FindViewAtLocation( return {root_view, /*should_query_view=*/false, *transformed_point}; } float device_scale_factor = root_view->GetDeviceScaleFactor(); @@ -804,7 +804,7 @@ diff --git a/components/input/render_widget_host_input_event_router.cc b/compone DCHECK_GT(device_scale_factor, 0.0f); gfx::PointF point_in_pixels = gfx::ConvertPointToPixels(point, device_scale_factor); -@@ -1647,7 +1650,7 @@ bool IsPinchCurrentlyAllowedInTarget(RenderWidgetHostViewInput* target) { +@@ -1649,7 +1652,7 @@ bool IsPinchCurrentlyAllowedInTarget(RenderWidgetHostViewInput* target) { } // namespace @@ -905,7 +905,7 @@ diff --git a/components/viz/service/input/render_input_router_support_child_fram diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/viz/service/layers/layer_context_impl.cc --- a/components/viz/service/layers/layer_context_impl.cc +++ b/components/viz/service/layers/layer_context_impl.cc -@@ -1781,7 +1781,7 @@ base::expected LayerContextImpl::DoUpdateDisplayTree( +@@ -1802,7 +1802,7 @@ base::expected LayerContextImpl::DoUpdateDisplayTree( return base::unexpected("Invalid page scale factors"); } layers.SetPageScaleFactorAndLimitsForDisplayTree( @@ -917,7 +917,7 @@ diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/vi diff --git a/content/browser/android/selection/selection_popup_controller.cc b/content/browser/android/selection/selection_popup_controller.cc --- a/content/browser/android/selection/selection_popup_controller.cc +++ b/content/browser/android/selection/selection_popup_controller.cc -@@ -179,7 +179,7 @@ void SelectionPopupController::MoveRangeSelectionExtent( +@@ -192,7 +192,7 @@ void SelectionPopupController::MoveRangeSelectionExtent( web_contents_impl->MoveRangeSelectionExtent(gfx::ToRoundedPoint(extent)); } @@ -926,12 +926,12 @@ diff --git a/content/browser/android/selection/selection_popup_controller.cc b/c const gfx::PointF& base, const gfx::PointF& extent) { auto* web_contents_impl = static_cast(web_contents()); -@@ -300,7 +300,8 @@ bool SelectionPopupController::ShowSelectionMenu( - is_password_type, jselected_text, params.selection_start_offset, +@@ -325,7 +325,8 @@ bool SelectionPopupController::ShowSelectionMenu( can_select_all, can_edit_richly, should_suggest, static_cast(params.source_type), -- render_frame_host->GetJavaRenderFrameHost()); -+ render_frame_host->GetJavaRenderFrameHost(), + render_frame_host->GetJavaRenderFrameHost(), +- menu_model_bridge_->GetJavaObject()); ++ menu_model_bridge_->GetJavaObject(), + base::FeatureList::IsEnabled(features::kPixelPerfect)); return true; } @@ -1006,7 +1006,7 @@ diff --git a/content/browser/renderer_host/input/touch_selection_controller_clie 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 -@@ -9260,7 +9260,7 @@ void RenderFrameHostImpl::ShowPopupMenu( +@@ -9268,7 +9268,7 @@ void RenderFrameHostImpl::ShowPopupMenu( #endif } @@ -1067,7 +1067,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/ // If we do not have a valid viz::LocalSurfaceId then we are a child frame // waiting on the id to be propagated from our parent. We cannot create a hash -@@ -3987,7 +4009,7 @@ void RenderWidgetHostImpl::IntrinsicSizingInfoChanged( +@@ -3990,7 +4012,7 @@ void RenderWidgetHostImpl::IntrinsicSizingInfoChanged( // porting drag-and-drop calls to Mojo, so that RenderWidgetHostImpl bypasses // RenderWidget to talk the the WebFrameWidget and needs to perform the scale // operation itself. @@ -1079,15 +1079,15 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc --- a/content/browser/renderer_host/render_widget_host_view_android.cc +++ b/content/browser/renderer_host/render_widget_host_view_android.cc -@@ -83,6 +83,7 @@ +@@ -85,6 +85,7 @@ #include "content/public/browser/render_widget_host_iterator.h" #include "content/public/common/content_client.h" #include "content/public/common/content_switches.h" +#include "content/public/common/content_features.h" #include "third_party/blink/public/mojom/input/input_handler.mojom.h" + #include "third_party/perfetto/include/perfetto/tracing/track.h" #include "third_party/skia/include/core/SkBitmap.h" - #include "third_party/skia/include/core/SkCanvas.h" -@@ -949,7 +950,7 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation( +@@ -952,7 +953,7 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation( ? SK_ColorTRANSPARENT : metadata.root_background_color.toSkColor()); @@ -1096,7 +1096,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/ overscroll_controller_->OnFrameMetadataUpdated( metadata.page_scale_factor, metadata.device_scale_factor, metadata.scrollable_viewport_size, metadata.root_layer_size, -@@ -1248,6 +1249,12 @@ gfx::Size RenderWidgetHostViewAndroid::GetRequestedRendererSizeDevicePx() { +@@ -1254,6 +1255,12 @@ gfx::Size RenderWidgetHostViewAndroid::GetRequestedRendererSizeDevicePx() { default_bounds_dip_.height() * scale_factor); } @@ -1109,7 +1109,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/ const float scale_factor = GetDeviceScaleFactor() / view_.GetDipScale(); return gfx::ScaleToCeiledSize(view_.GetSizeDevicePx(), scale_factor); } -@@ -1273,6 +1280,10 @@ void RenderWidgetHostViewAndroid::SetInsets(const gfx::Insets& insets) { +@@ -1279,6 +1286,10 @@ void RenderWidgetHostViewAndroid::SetInsets(const gfx::Insets& insets) { NOTREACHED(); } @@ -1120,7 +1120,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/ gfx::Size RenderWidgetHostViewAndroid::GetCompositorViewportPixelSize() { if (!view_.parent()) { if (default_bounds_dip_.IsEmpty()) { -@@ -1408,7 +1419,7 @@ viz::SurfaceId RenderWidgetHostViewAndroid::GetCurrentSurfaceId() const { +@@ -1414,7 +1425,7 @@ viz::SurfaceId RenderWidgetHostViewAndroid::GetCurrentSurfaceId() const { : viz::SurfaceId(); } @@ -1129,7 +1129,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/ const gfx::PointF& point, RenderWidgetHostViewInput* target_view, gfx::PointF* transformed_point) { -@@ -1822,7 +1833,7 @@ bool RenderWidgetHostViewAndroid::HasFallbackSurface() const { +@@ -1829,7 +1840,7 @@ bool RenderWidgetHostViewAndroid::HasFallbackSurface() const { return delegated_frame_host_->HasFallbackSurface(); } @@ -1141,7 +1141,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/ diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h --- a/content/browser/renderer_host/render_widget_host_view_android.h +++ b/content/browser/renderer_host/render_widget_host_view_android.h -@@ -161,6 +161,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid +@@ -170,6 +170,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid gfx::Size GetRequestedRendererSizeDevicePx() override; gfx::Size GetVisibleViewportSize() override; gfx::Size GetVisibleViewportSizeDevicePx() override; @@ -1212,7 +1212,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc -@@ -826,8 +826,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) { +@@ -827,8 +827,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) { return Java_WebContentsImpl_createSize(env, size.width(), size.height()); } @@ -1241,7 +1241,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows 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 -@@ -527,7 +527,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -530,7 +530,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( !command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise)); // CAUTION: Only add custom enabling logic here if it cannot // be covered by the other functions. @@ -1257,17 +1257,17 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java -@@ -519,7 +519,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper - boolean canRichlyEdit, +@@ -526,7 +526,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper boolean shouldSuggest, int sourceType, -- RenderFrameHost renderFrameHost) { -+ RenderFrameHost renderFrameHost, + RenderFrameHost renderFrameHost, +- MenuModelBridge menuModelBridge) { ++ MenuModelBridge menuModelBridge, + boolean pixelPerfectEnabled) { + mMenuModelBridge = menuModelBridge; RecordHistogram.recordEnumeratedHistogram( - "Android.ShowSelectionMenuSourceType", - sourceType, -@@ -530,6 +531,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper + "Android.ShowSelectionMenuSourceType", sourceType, MenuSourceType.MAX_VALUE); +@@ -536,6 +537,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper mXDip = xDip; mYDip = yDip; mSelectionRect.set(left, top, right, offsetBottom); @@ -1291,7 +1291,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon } @Override -@@ -1436,7 +1436,7 @@ public class WebContentsImpl +@@ -1449,7 +1449,7 @@ public class WebContentsImpl Rect getFullscreenVideoSize(long nativeWebContentsAndroid); @@ -1459,7 +1459,7 @@ diff --git a/third_party/blink/public/mojom/widget/visual_properties.mojom b/thi diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -243,6 +243,7 @@ class BLINK_EXPORT WebView { +@@ -248,6 +248,7 @@ class BLINK_EXPORT WebView { // Minimum and Maximum as computed as a combination of default, page defined, // UA, etc. constraints. virtual float MinimumPageScaleFactor() const = 0; @@ -1470,14 +1470,14 @@ diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/ diff --git a/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc b/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc --- a/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc +++ b/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_helper.cc -@@ -49,6 +49,7 @@ namespace { - bool ShouldApplyNoise(CanvasRenderingContext* rendering_context, - scoped_refptr& snapshot, +@@ -48,6 +48,7 @@ namespace { + // 2) the CanvasInterventions RuntimeEnabledFeature is enabled + bool ShouldApplyNoise(HighEntropyCanvasOpType canvas_operations, ExecutionContext* execution_context) { + if (RuntimeEnabledFeatures::PixelPerfectEnabled()) return false; CanvasNoiseReason noise_reason = CanvasNoiseReason::kAllConditionsMet; - if (!rendering_context) { - noise_reason |= CanvasNoiseReason::kNoRenderContext; + if (canvas_operations == HighEntropyCanvasOpType::kNone) { + noise_reason |= CanvasNoiseReason::kNoTrigger; diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/blink/renderer/core/css/media_values.cc --- a/third_party/blink/renderer/core/css/media_values.cc +++ b/third_party/blink/renderer/core/css/media_values.cc @@ -1502,7 +1502,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/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 -@@ -1258,8 +1258,19 @@ void WebViewImpl::UpdateICBAndResizeViewport( +@@ -1262,8 +1262,19 @@ void WebViewImpl::UpdateICBAndResizeViewport( if (GetBrowserControls().PermittedState() == cc::BrowserControlsState::kBoth && !GetBrowserControls().ShrinkViewport()) { @@ -1524,7 +1524,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } GetPageScaleConstraintsSet().DidChangeInitialContainingBlockSize(icb_size); -@@ -1339,7 +1350,8 @@ void WebViewImpl::DidUpdateBrowserControls() { +@@ -1343,7 +1354,8 @@ void WebViewImpl::DidUpdateBrowserControls() { ResizeViewportAnchor::ResizeScope resize_scope(*resize_viewport_anchor_); visual_viewport.SetBrowserControlsAdjustment( @@ -1534,7 +1534,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -1403,7 +1415,7 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1417,7 +1429,7 @@ void WebViewImpl::ResizeWithBrowserControls( float bottom_controls_height, bool browser_controls_shrink_layout) { ResizeWithBrowserControls( @@ -1543,7 +1543,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p {top_controls_height, GetBrowserControls().TopMinHeight(), bottom_controls_height, GetBrowserControls().BottomMinHeight(), GetBrowserControls().AnimateHeightChanges(), -@@ -1413,6 +1425,8 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1427,6 +1439,8 @@ void WebViewImpl::ResizeWithBrowserControls( void WebViewImpl::ResizeWithBrowserControls( const gfx::Size& main_frame_widget_size, const gfx::Size& visible_viewport_size, @@ -1552,7 +1552,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p cc::BrowserControlsParams browser_controls_params) { if (should_auto_resize_) { // When auto-resizing only the viewport size comes from the browser, while -@@ -1421,6 +1435,11 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1435,6 +1449,11 @@ void WebViewImpl::ResizeWithBrowserControls( return; } @@ -1564,7 +1564,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p if (size_ == main_frame_widget_size && GetPage()->GetVisualViewport().Size() == visible_viewport_size && GetBrowserControls().Params() == browser_controls_params) -@@ -2092,7 +2111,7 @@ void WebViewImpl::DidAttachLocalMainFrame() { +@@ -2107,7 +2126,7 @@ void WebViewImpl::DidAttachLocalMainFrame() { web_preferences_.prefers_reduced_motion); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1573,7 +1573,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p // Prevent main frame updates while the main frame is loading until enough // progress is made and BeginMainFrames are explicitly asked for. scoped_defer_main_frame_update_ = -@@ -2900,7 +2919,7 @@ void WebViewImpl::RefreshPageScaleFactor() { +@@ -2915,7 +2934,7 @@ void WebViewImpl::RefreshPageScaleFactor() { auto& viewport = GetPage()->GetVisualViewport(); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1582,7 +1582,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -2977,7 +2996,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints( +@@ -2992,7 +3011,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints( TextAutosizer::UpdatePageInfoInAllFrames(GetPage()->MainFrame()); } @@ -1591,7 +1591,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p if (should_auto_resize_ || !MainFrameImpl()) return; -@@ -3211,6 +3230,10 @@ float WebViewImpl::MinimumPageScaleFactor() const { +@@ -3226,6 +3245,10 @@ float WebViewImpl::MinimumPageScaleFactor() const { return GetPageScaleConstraintsSet().FinalConstraints().minimum_scale; } @@ -1602,7 +1602,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p float WebViewImpl::MaximumPageScaleFactor() const { return GetPageScaleConstraintsSet().FinalConstraints().maximum_scale; } -@@ -3260,7 +3283,7 @@ void WebViewImpl::SendResizeEventForMainFrame() { +@@ -3275,7 +3298,7 @@ void WebViewImpl::SendResizeEventForMainFrame() { auto& viewport = GetPage()->GetVisualViewport(); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1611,7 +1611,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -3800,7 +3823,7 @@ void WebViewImpl::PageScaleFactorChanged() { +@@ -3823,7 +3846,7 @@ void WebViewImpl::PageScaleFactorChanged() { DCHECK(viewport.IsActiveViewport()); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1623,7 +1623,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/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -170,6 +170,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -171,6 +171,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, void AdvanceFocus(bool reverse) override; float PageScaleFactor() const override; float MinimumPageScaleFactor() const override; @@ -1631,7 +1631,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa float MaximumPageScaleFactor() const override; void SetDefaultPageScaleLimits(float min_scale, float max_scale) override; void SetInitialPageScaleOverride(float) override; -@@ -284,6 +285,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -285,6 +286,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // includes all browser controls params such as the min heights. void ResizeWithBrowserControls(const gfx::Size& main_frame_widget_size, const gfx::Size& visible_viewport_size, @@ -1640,7 +1640,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa cc::BrowserControlsParams); // Requests a page-scale animation based on the specified point/rect. -@@ -824,6 +827,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -832,6 +835,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // The upper bound on the size when auto-resizing. gfx::Size max_auto_size_; @@ -1652,7 +1652,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa diff --git a/third_party/blink/renderer/core/frame/local_frame_view.cc b/third_party/blink/renderer/core/frame/local_frame_view.cc --- a/third_party/blink/renderer/core/frame/local_frame_view.cc +++ b/third_party/blink/renderer/core/frame/local_frame_view.cc -@@ -1720,8 +1720,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) { +@@ -1732,8 +1732,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) { } float LocalFrameView::InputEventsScaleFactor() const { @@ -1793,7 +1793,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.h b/third_par 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 -@@ -1886,6 +1886,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1885,6 +1885,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties( // All non-top-level Widgets (child local-root frames, GuestViews, // etc.) propagate and consume the page scale factor as "external", meaning // that it comes from the top level widget's page scale. @@ -1803,7 +1803,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (!ForTopMostMainFrame()) { // The main frame controls the page scale factor, from blink. For other // frame widgets, the page scale from pinch zoom and compositing scale is -@@ -1893,7 +1896,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1892,7 +1895,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( // blink doesn't need to know this page scale factor outside the main frame, // the compositor does in order to produce its output at the correct scale. float combined_scale_factor = visual_properties.page_scale_factor * @@ -1812,7 +1812,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th widget_base_->LayerTreeHost()->SetExternalPageScaleFactor( combined_scale_factor, visual_properties.is_pinch_gesture_active); -@@ -1906,7 +1909,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1905,7 +1908,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( // Ensure the external scale factor in top-level widgets is reset as it may // be leftover from when a widget was nested and was promoted to top level. widget_base_->LayerTreeHost()->SetExternalPageScaleFactor( @@ -1821,7 +1821,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th /*is_pinch_gesture_active=*/false); } -@@ -1950,6 +1953,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1949,6 +1952,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( new_compositor_viewport_pixel_rect, device_scale_factor_for_testing_ / non_testing_device_scale_factor_); } @@ -1840,7 +1840,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (ForMainFrame()) { if (size_ != new_size) { -@@ -1967,6 +1982,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1966,6 +1981,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( size_.value(), widget_base_->DIPsToCeiledBlinkSpace( widget_base_->VisibleViewportSize()), @@ -1849,7 +1849,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th visual_properties.browser_controls_params); return; } -@@ -2000,6 +2017,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1999,6 +2016,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( View()->ResizeWithBrowserControls( size_.value(), widget_base_->VisibleViewportSize(), @@ -1858,7 +1858,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th visual_properties.browser_controls_params); } -@@ -2378,6 +2397,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level, +@@ -2381,6 +2400,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level, View()->ZoomFactorForViewportLayout() * static_cast(View()->ZoomLevelToZoomFactor(zoom_level)) * static_cast(css_zoom_factor); @@ -1867,7 +1867,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (zoom_changed) { // Set the layout shift exclusion window for the zoom level change. if (LocalFrameView* view = document->View()) { -@@ -3430,6 +3451,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr layer) { +@@ -3428,6 +3449,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr layer) { // be needed in setting the raster scale. SetPageScaleStateAndLimits(1.f, false /* is_pinch_gesture_active */, View()->MinimumPageScaleFactor(), @@ -1875,7 +1875,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th View()->MaximumPageScaleFactor()); } -@@ -4799,9 +4821,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits( +@@ -4805,9 +4827,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits( float page_scale_factor, bool is_pinch_gesture_active, float minimum, @@ -1887,7 +1887,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th // Only propagate page scale from the main frame. if (ForMainFrame()) { -@@ -4925,7 +4948,10 @@ void WebFrameWidgetImpl::OrientationChanged() { +@@ -4931,7 +4954,10 @@ void WebFrameWidgetImpl::OrientationChanged() { void WebFrameWidgetImpl::DidUpdateSurfaceAndScreen( const display::ScreenInfos& previous_original_screen_infos) { display::ScreenInfo screen_info = widget_base_->GetScreenInfo(); @@ -1899,7 +1899,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (ShouldAutoDetermineCompositingToLCDTextSetting()) { // This causes compositing state to be modified which dirties the -@@ -5121,7 +5147,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) { +@@ -5127,7 +5153,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) { if (!device_scale_factor_for_testing_) { non_testing_device_scale_factor_ = @@ -1911,7 +1911,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h -@@ -655,6 +655,7 @@ class CORE_EXPORT WebFrameWidgetImpl +@@ -657,6 +657,7 @@ class CORE_EXPORT WebFrameWidgetImpl void SetPageScaleStateAndLimits(float page_scale_factor, bool is_pinch_gesture_active, float minimum, @@ -1922,7 +1922,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/thi diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc -@@ -2547,7 +2547,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) { +@@ -2559,7 +2559,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) { dev_tools_agent_->PaintOverlays(context); } @@ -1931,7 +1931,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi TRACE_EVENT0("blink", "WebLocalFrameImpl::createFrameView"); DCHECK(GetFrame()); // If frame() doesn't exist, we probably didn't init -@@ -3022,7 +3022,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal( +@@ -3034,7 +3034,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal( std::move(context_menu_client), params); } @@ -1943,7 +1943,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc --- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc +++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc -@@ -1569,6 +1569,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr&& image, +@@ -1567,6 +1567,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr&& image, } bool HTMLCanvasElement::ShouldAccelerate() const { @@ -1954,7 +1954,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_party/blink/renderer/core/input/event_handler.cc --- a/third_party/blink/renderer/core/input/event_handler.cc +++ b/third_party/blink/renderer/core/input/event_handler.cc -@@ -2082,7 +2082,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent( +@@ -2084,7 +2084,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent( hit_test_result); } @@ -1966,7 +1966,7 @@ diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_part diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc --- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc +++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc -@@ -1081,7 +1081,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride( +@@ -1085,7 +1085,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride( // Ensure the override is applied immediately without having to wait for // `WebFrameWidgetImpl::UpdateVisualProperties()` to be called. GetWebViewImpl()->ResizeWithBrowserControls( @@ -1979,7 +1979,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent 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 -@@ -1309,6 +1309,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) { +@@ -1323,6 +1323,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) { if (SchemeRegistry::IsWebUIScheme(protocol) || disable_screen_emulated_) { isEnabled = false; } @@ -2028,7 +2028,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_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 -@@ -5857,6 +5857,10 @@ +@@ -5877,6 +5877,10 @@ // If enabled, the `getDisplayMedia()` family of APIs will ask for NV12 // frames, which should trigger a zero-copy path in the tab capture code. name: "ZeroCopyTabCapture", @@ -2051,7 +2051,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox #include "third_party/blink/renderer/platform/widget/input/compositor_thread_event_queue.h" #include "third_party/blink/renderer/platform/widget/input/cursor_control_handler.h" #include "third_party/blink/renderer/platform/widget/input/elastic_overscroll_controller.h" -@@ -56,6 +57,20 @@ namespace { +@@ -57,6 +58,20 @@ namespace { using ::perfetto::protos::pbzero::ChromeLatencyInfo2; using ::perfetto::protos::pbzero::TrackEvent; @@ -2072,7 +2072,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox cc::ScrollStateData CreateScrollStateDataForGesture( const WebGestureEvent& event) { cc::ScrollStateData scroll_state_data; -@@ -64,8 +79,8 @@ cc::ScrollStateData CreateScrollStateDataForGesture( +@@ -65,8 +80,8 @@ cc::ScrollStateData CreateScrollStateDataForGesture( } switch (event.GetType()) { case WebInputEvent::Type::kGestureScrollBegin: @@ -2083,7 +2083,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox scroll_state_data.delta_x_hint = -event.data.scroll_begin.delta_x_hint; scroll_state_data.delta_y_hint = -event.data.scroll_begin.delta_y_hint; scroll_state_data.is_beginning = true; -@@ -831,7 +846,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -841,7 +856,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( const WebGestureEvent& gesture_event = static_cast(event); input_handler_->PinchGestureBegin( @@ -2092,7 +2092,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox GestureScrollInputType(gesture_event.SourceDevice())); gesture_pinch_in_progress_ = true; return DID_HANDLE; -@@ -843,7 +858,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -853,7 +868,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( const WebGestureEvent& gesture_event = static_cast(event); input_handler_->PinchGestureEnd( @@ -2101,7 +2101,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return DID_HANDLE; } -@@ -853,7 +868,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -863,7 +878,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( static_cast(event); input_handler_->PinchGestureUpdate( gesture_event.data.pinch_update.scale, @@ -2110,7 +2110,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return DID_HANDLE; } -@@ -876,7 +891,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -886,7 +901,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( // TODO(arakeri): Pass in the modifier instead of a bool once the // refactor (crbug.com/1022097) is done. For details, see // crbug.com/1016955. @@ -2119,7 +2119,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox } return DID_NOT_HANDLE; -@@ -887,7 +902,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -897,7 +912,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( static_cast(event); CHECK(input_handler_); if (mouse_event.button == WebMouseEvent::Button::kLeft) @@ -2128,7 +2128,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return DID_NOT_HANDLE; } case WebInputEvent::Type::kMouseMove: { -@@ -902,7 +917,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -912,7 +927,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( (mouse_event.button == WebPointerProperties::Button::kNoButton && !(mouse_event.GetModifiers() & WebInputEvent::Modifiers::kRelativeMotionEvent)); @@ -2137,7 +2137,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox should_cancel_scrollbar_drag); return DID_NOT_HANDLE; } -@@ -941,12 +956,14 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( +@@ -951,12 +966,14 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( // to check pointer lock state gfx::PointF point = static_cast(event).PositionInWidget(); @@ -2152,7 +2152,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return WebInputEventAttribution( WebInputEventAttribution::kTargetedFrame, input_handler_->FindFrameElementIdAtPoint(point)); -@@ -961,6 +978,7 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( +@@ -971,6 +988,7 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( // how the renderer host performs touch event dispatch. // https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_input_event_router.cc?l=808&rcl=10fe9d0a725d4ed7b69266a5936c525f0a5b26d3 gfx::PointF point = touch_event.touches[0].PositionInWidget(); @@ -2160,7 +2160,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox const cc::ElementId targeted_element = input_handler_->FindFrameElementIdAtPoint(point); -@@ -1057,7 +1075,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel( +@@ -1072,7 +1090,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel( } } @@ -2169,7 +2169,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox if (input_handler_->HasBlockingWheelEventHandlerAt( gfx::Point(position_in_widget.x(), position_in_widget.y()))) { result = DID_NOT_HANDLE; -@@ -1226,7 +1244,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( +@@ -1241,7 +1259,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( scroll_data->set_unused_delta_y(scroll_result.unused_scroll_delta.y()); }); @@ -2178,7 +2178,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox if (elastic_overscroll_controller_) HandleScrollElasticityOverscroll(gesture_event, scroll_result); -@@ -1304,8 +1322,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent( +@@ -1319,8 +1337,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent( cc::TouchAction touch_action = cc::TouchAction::kAuto; cc::InputHandler::TouchStartOrMoveEventListenerType event_listener_type = input_handler_->EventListenerTypeForTouchStartOrMoveAt( @@ -2189,7 +2189,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox &touch_action); if (allowed_touch_action && touch_action != cc::TouchAction::kAuto) { TRACE_EVENT_INSTANT1("input", "Adding TouchAction", -@@ -1411,7 +1429,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart( +@@ -1426,7 +1444,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart( touch_event.touches_length == 1) { DCHECK(touch_event.touches[0].state == WebTouchPoint::State::kStatePressed); cc::InputHandlerPointerResult pointer_result = HandlePointerDown( @@ -2198,7 +2198,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox if (pointer_result.type == cc::PointerResultType::kScrollbarScroll) { client_->SetAllowedTouchAction(allowed_touch_action); return DID_HANDLE; -@@ -1474,7 +1492,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove( +@@ -1489,7 +1507,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove( touch_event.touch_start_or_first_touch_move); if (touch_event.touches_length == 1) { cc::InputHandlerPointerResult pointer_result = HandlePointerMove( @@ -2207,7 +2207,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox false /* should_cancel_scrollbar_drag */); if (pointer_result.type == cc::PointerResultType::kScrollbarScroll) { return DID_HANDLE; -@@ -1517,7 +1535,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd( +@@ -1532,7 +1550,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd( touch_event.touches_length); if (touch_event.touches_length == 1) { cc::InputHandlerPointerResult pointer_result = HandlePointerUp( @@ -2321,7 +2321,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.h b/third_pa diff --git a/ui/android/delegated_frame_host_android.cc b/ui/android/delegated_frame_host_android.cc --- a/ui/android/delegated_frame_host_android.cc +++ b/ui/android/delegated_frame_host_android.cc -@@ -180,7 +180,7 @@ const viz::FrameSinkId& DelegatedFrameHostAndroid::GetFrameSinkId() const { +@@ -188,7 +188,7 @@ const viz::FrameSinkId& DelegatedFrameHostAndroid::GetFrameSinkId() const { return frame_sink_id_; } @@ -2442,7 +2442,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid. diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc --- a/ui/android/view_android.cc +++ b/ui/android/view_android.cc -@@ -117,6 +117,10 @@ float ViewAndroid::GetDipScale() { +@@ -118,6 +118,10 @@ float ViewAndroid::GetDipScale() { return ui::GetScaleFactorForNativeView(this); } @@ -2453,7 +2453,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc ScopedJavaLocalRef ViewAndroid::GetEventForwarder() { if (!event_forwarder_) { DCHECK(!RootPathHasEventForwarder(parent_)) -@@ -152,7 +156,7 @@ void ViewAndroid::AddChild(ViewAndroid* child) { +@@ -153,7 +157,7 @@ void ViewAndroid::AddChild(ViewAndroid* child) { // spurious events with empty size from being sent down. if (child->match_parent() && !bounds_device_px_.IsEmpty() && child->GetSizeDevicePx() != bounds_device_px_.size()) { @@ -2462,7 +2462,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc child->DispatchOnSizeChanged(); } -@@ -497,7 +501,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up, +@@ -498,7 +502,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up, env, delegate, direction_up, current_scroll_ratio); } @@ -2471,7 +2471,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc // Match-parent view must not receive size events. DCHECK(!match_parent()); -@@ -507,13 +511,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) { +@@ -508,13 +512,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) { return; } @@ -2489,7 +2489,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc if (bounds_device_px_.size() == size_device_px) { return; } -@@ -521,12 +527,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) { +@@ -522,12 +528,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) { bounds_device_px_.set_size(size_device_px); float scale = GetDipScale(); @@ -2508,7 +2508,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc } } -@@ -577,6 +586,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const { +@@ -578,6 +587,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const { return bounds_device_px_.size(); } @@ -2544,7 +2544,7 @@ diff --git a/ui/android/view_android.h b/ui/android/view_android.h // |deadline_override| if not nullopt will be used as the cc::DeadlinePolicy // timeout for this resize. void OnPhysicalBackingSizeChanged( -@@ -311,7 +314,7 @@ class UI_ANDROID_EXPORT ViewAndroid { +@@ -320,7 +323,7 @@ class UI_ANDROID_EXPORT ViewAndroid { // each leaf of subtree. static bool SubtreeHasEventForwarder(ViewAndroid* view); @@ -2553,7 +2553,7 @@ diff --git a/ui/android/view_android.h b/ui/android/view_android.h void DispatchOnSizeChanged(); // Returns the Java delegate for this view. This is used to delegate work -@@ -334,6 +337,8 @@ class UI_ANDROID_EXPORT ViewAndroid { +@@ -343,6 +346,8 @@ class UI_ANDROID_EXPORT ViewAndroid { // Same as above, but before dividing by the device scale factor. gfx::Rect bounds_device_px_; diff --git a/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch b/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch index b3df882d..05af7d23 100644 --- a/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch +++ b/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch @@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java -@@ -40,6 +40,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro +@@ -41,6 +41,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro private final Supplier mPersistentFullscreenMode; private long mCurrentShowingStartTime; @@ -26,7 +26,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom /** * Constructs a BrowserControlsVisibilityDelegate designed to deal with overrides driven by -@@ -65,7 +66,8 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro +@@ -66,7 +67,8 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro long currentShowingTime = SystemClock.uptimeMillis() - mCurrentShowingStartTime; if (currentShowingTime >= MINIMUM_SHOW_DURATION_MS) return; diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 5e850a4d..ec737b91 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -87,7 +87,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivit diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java --- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java -@@ -23,17 +23,39 @@ import org.chromium.build.annotations.Nullable; +@@ -22,10 +22,31 @@ import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector; import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector.ConnectionState; @@ -118,9 +118,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in +import org.chromium.content_public.browser.WebContents; +import org.chromium.net.NetworkChangeNotifier; + + import java.util.function.Supplier; + /** - * Class that detects if the network is offline. Waits for the network to stablize before notifying - * the observer. +@@ -34,7 +55,8 @@ import java.util.function.Supplier; */ @NullMarked class OfflineDetector @@ -130,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in // If the connection is online, then we report that immediately via |mIsOfflineCallback|. // |STATUS_INDICATOR_WAIT_ON_OFFLINE_DURATION_MS| and // |mStatusIndicatorWaitOnSwitchOnlineToOfflineDurationMs| control the duration before -@@ -119,6 +141,11 @@ class OfflineDetector +@@ -120,6 +142,11 @@ class OfflineDetector private static final String TAG = "OfflineDetector"; @@ -142,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in /** * Constructs the offline indicator. * @param isOfflineCallback The {@link Callback} is invoked when the connectivity status is -@@ -130,7 +157,13 @@ class OfflineDetector +@@ -131,7 +158,13 @@ class OfflineDetector OfflineDetector( Callback isOfflineCallback, Callback isForegroundCallback, @@ -157,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in mIsOfflineCallback = isOfflineCallback; mIsForegroundCallback = isForegroundCallback; mContext = context; -@@ -234,6 +267,75 @@ class OfflineDetector +@@ -235,6 +268,75 @@ class OfflineDetector updateState(); } @@ -233,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in private void logToAdbConsoleNow(String prefix) { Log.i( TAG, -@@ -320,6 +422,7 @@ class OfflineDetector +@@ -321,6 +423,7 @@ class OfflineDetector ** Calls |mUpdateOfflineStatusIndicatorDelayedRunnable| to update the connection state. */ private void updateState() { @@ -244,9 +245,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java --- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java -@@ -31,6 +31,11 @@ import org.chromium.content_public.common.ContentSwitches; - import java.lang.annotation.Retention; +@@ -31,6 +31,11 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; + import java.util.function.Supplier; +import org.chromium.base.supplier.ObservableSupplierImpl; +import org.chromium.chrome.browser.layouts.LayoutManager; @@ -283,7 +284,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 -@@ -1417,7 +1417,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1439,7 +1439,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -298,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java -@@ -198,6 +198,13 @@ public abstract class TabModelSelectorBase +@@ -199,6 +199,13 @@ public abstract class TabModelSelectorBase return null; } @@ -364,7 +365,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java -@@ -16,12 +16,16 @@ import org.chromium.build.annotations.Nullable; +@@ -15,6 +15,7 @@ import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabSelectionType; import org.chromium.content_public.browser.WebContents; @@ -372,16 +373,17 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse import org.chromium.ui.base.WindowAndroid; import java.util.ArrayList; - import java.util.Collection; +@@ -22,6 +23,9 @@ import java.util.Collection; import java.util.List; import java.util.function.Predicate; + import java.util.function.Supplier; +import java.util.Collections; +import java.util.stream.IntStream; +import java.util.stream.Collectors; /** * A set of convenience methods used for interacting with {@link TabList}s and {@link TabModel}s. -@@ -55,6 +59,20 @@ public class TabModelUtils { +@@ -54,6 +58,20 @@ public class TabModelUtils { return TabModel.INVALID_TAB_INDEX; } @@ -405,7 +407,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java --- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java +++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java -@@ -133,6 +133,8 @@ public interface TabWindowManager { +@@ -135,6 +135,8 @@ public interface TabWindowManager { /** Returns the total number of incognito tabs across all tab model selectors. */ int getIncognitoTabCount(); @@ -417,7 +419,7 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java --- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java +++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java -@@ -546,6 +546,16 @@ public class TabWindowManagerImpl implements TabWindowManager { +@@ -551,6 +551,16 @@ public class TabWindowManagerImpl implements TabWindowManager { return tabGroupModelFilter.getTabsInGroup(tabGroupId); } @@ -503,8 +505,8 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro + private Object mDismissActionData; private int mBackgroundColor; private int mTextApperanceResId; - private boolean mSingleLine = true; -@@ -241,6 +243,20 @@ public class Snackbar { + private boolean mDefaultLines = true; +@@ -242,6 +244,20 @@ public class Snackbar { return this; } @@ -544,7 +546,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java -@@ -55,6 +55,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -56,6 +56,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { protected final ViewGroup mSnackbarView; protected final TemplatePreservingTextView mMessageView; private final TextView mActionButtonView; @@ -552,7 +554,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro private final ImageView mProfileImageView; private final int mAnimationDuration; private final boolean mIsTablet; -@@ -101,11 +102,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -102,11 +103,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { public SnackbarView( Activity activity, OnClickListener listener, @@ -566,7 +568,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro } /** -@@ -124,6 +126,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -125,6 +127,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { public SnackbarView( Activity activity, OnClickListener listener, @@ -574,7 +576,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro Snackbar snackbar, ViewGroup parentView, @Nullable WindowAndroid windowAndroid, -@@ -154,6 +157,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -155,6 +158,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { (TemplatePreservingTextView) mContainerView.findViewById(R.id.snackbar_message); mActionButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_button); mActionButtonView.setOnClickListener(listener); @@ -583,7 +585,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image); mEdgeToEdgeSupplier = edgeToEdgeSupplier; if (SnackbarManager.isFloatingSnackbarEnabled()) { -@@ -428,6 +433,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -429,6 +434,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { mActionButtonView.setVisibility(View.VISIBLE); mActionButtonView.setContentDescription(snackbar.getActionText()); setViewText(mActionButtonView, snackbar.getActionText(), animate); @@ -599,7 +601,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc -@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { +@@ -904,6 +904,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { view->SetFocus(focused); } @@ -636,7 +638,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4080,8 +4080,10 @@ void WebContentsImpl::Stop() { +@@ -4076,8 +4076,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -663,7 +665,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1447,6 +1453,8 @@ public class WebContentsImpl +@@ -1460,6 +1466,8 @@ public class WebContentsImpl void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -732,7 +734,7 @@ new file mode 100644 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 -@@ -4614,6 +4614,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4630,6 +4630,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -743,7 +745,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink 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 -@@ -3273,6 +3273,7 @@ void LocalFrame::DidFreeze() { +@@ -3312,6 +3312,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -751,7 +753,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3287,6 +3288,7 @@ void LocalFrame::DidResume() { +@@ -3326,6 +3327,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index 66f322af..5aa24439 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.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 -@@ -395,6 +395,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, +@@ -397,6 +397,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); HeapObserverList& ContextLifecycleObserverSet(); diff --git a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch index c92265b9..d2db790c 100644 --- a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch +++ b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch @@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -5133,7 +5133,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -5141,7 +5141,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( } void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) { @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return referrer_; } -@@ -2898,6 +2903,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2901,6 +2906,13 @@ void DocumentLoader::CommitNavigation() { response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly)); } diff --git a/build/patches/Block-qjz9zk-or-trk-requests.patch b/build/patches/Block-qjz9zk-or-trk-requests.patch index ee02db19..e9eb6ceb 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -93,7 +93,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc --- a/components/url_formatter/url_fixer.cc +++ b/components/url_formatter/url_fixer.cc -@@ -602,6 +602,10 @@ GURL FixupURLInternal(const std::string& text, +@@ -598,6 +598,10 @@ GURL FixupURLInternal(const std::string& text, } } @@ -118,7 +118,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 -@@ -1127,6 +1127,8 @@ component("net") { +@@ -1137,6 +1137,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/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 0c902b95..49c53e20 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -71,7 +71,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 -@@ -1945,6 +1945,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1954,6 +1954,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] @@ -84,7 +84,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 -@@ -833,6 +833,8 @@ chrome_java_sources = [ +@@ -839,6 +839,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/omaha/OmahaBase.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegate.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java", @@ -121,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ + /** Settings fragment that displays information about Chrome. */ @NullMarked - public class AboutChromeSettings extends PreferenceFragmentCompat + public class AboutChromeSettings extends ChromeBaseSettingsFragment - implements EmbeddableSettingsPage, Preference.OnPreferenceClickListener { + implements EmbeddableSettingsPage, Preference.OnPreferenceClickListener, + Preference.OnPreferenceChangeListener { @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ private static final String PREF_OS_VERSION = "os_version"; private static final String PREF_LEGAL_INFORMATION = "legal_information"; -@@ -72,6 +78,13 @@ public class AboutChromeSettings extends PreferenceFragmentCompat +@@ -72,6 +78,13 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment assumeNonNull(p); int currentYear = Calendar.getInstance().get(Calendar.YEAR); p.setSummary(getString(R.string.legal_information_summary, currentYear)); @@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ } @Override -@@ -142,6 +155,19 @@ public class AboutChromeSettings extends PreferenceFragmentCompat +@@ -142,6 +155,19 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment return true; } @@ -246,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMen import android.view.Choreographer; +import androidx.annotation.StringRes; - import org.chromium.base.BuildInfo; + import org.chromium.base.ApkInfo; import org.chromium.base.Callback; @@ -23,6 +24,7 @@ import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; @@ -312,7 +312,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMen // The badge is hidden if the update menu item has been clicked until there is an // even newer version of Chrome available. showBadge |= -@@ -255,6 +270,72 @@ public class UpdateMenuItemHelper { +@@ -254,6 +269,72 @@ public class UpdateMenuItemHelper { mMenuUiState.itemState.icon = R.drawable.ic_error_24dp_filled; mMenuUiState.itemState.enabled = false; break; @@ -678,7 +678,7 @@ new file mode 100644 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2685,6 +2685,12 @@ static_library("browser") { +@@ -2674,6 +2674,12 @@ static_library("browser") { } if (is_android) { @@ -1091,7 +1091,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 -@@ -363,6 +363,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -372,6 +372,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kProtectedTabsAndroid, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, @@ -1102,10 +1102,10 @@ 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 -@@ -453,6 +453,7 @@ public abstract class ChromeFeatureList { - public static final String HUB_BACK_BUTTON = "HubBackButton"; +@@ -462,6 +462,7 @@ public abstract class ChromeFeatureList { public static final String HUB_SLIDE_ANIMATION = "HubSlideAnimation"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; + public static final String INCOGNITO_THEME_OVERLAY_TESTING = "IncognitoThemeOverlayTesting"; + public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; public static final String INSTANCE_SWITCHER_V2 = "InstanceSwitcherV2"; public static final String IP_PROTECTION_UX = "IpProtectionUx"; @@ -1282,10 +1282,10 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o +import org.chromium.base.ActivityState; +import org.chromium.base.ApplicationStatus; +import org.chromium.base.ApplicationStatus.ActivityStateListener; - import org.chromium.base.BuildInfo; + import org.chromium.base.ApkInfo; import org.chromium.base.Callback; - import org.chromium.base.ObserverList; -@@ -30,6 +33,7 @@ import org.chromium.base.task.TaskTraits; + import org.chromium.base.DeviceInfo; +@@ -31,6 +34,7 @@ import org.chromium.base.task.TaskTraits; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.build.annotations.RequiresNonNull; @@ -1293,7 +1293,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o import org.chromium.chrome.browser.omaha.metrics.UpdateSuccessMetrics; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -@@ -39,6 +43,11 @@ import java.io.File; +@@ -40,6 +44,11 @@ import java.io.File; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -1305,7 +1305,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o /** * Provides the current update state for Chrome. This update state is asynchronously determined and * can change as Chrome runs. -@@ -46,24 +55,26 @@ import java.lang.annotation.RetentionPolicy; +@@ -47,24 +56,26 @@ import java.lang.annotation.RetentionPolicy; * For manually testing this functionality, see {@link UpdateConfigs}. */ @NullMarked @@ -1340,7 +1340,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o } /** A set of properties that represent the current update state for Chrome. */ -@@ -97,6 +108,12 @@ public class UpdateStatusProvider { +@@ -98,6 +109,12 @@ public class UpdateStatusProvider { */ private boolean mIsSimulated; @@ -1353,7 +1353,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o public UpdateStatus() {} UpdateStatus(UpdateStatus other) { -@@ -105,11 +122,13 @@ public class UpdateStatusProvider { +@@ -106,11 +123,13 @@ public class UpdateStatusProvider { latestVersion = other.latestVersion; latestUnsupportedVersion = other.latestUnsupportedVersion; mIsSimulated = other.mIsSimulated; @@ -1367,7 +1367,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o private final UpdateQuery mOmahaQuery; private final UpdateSuccessMetrics mMetrics; private @Nullable UpdateStatus mStatus; -@@ -117,11 +136,6 @@ public class UpdateStatusProvider { +@@ -118,11 +137,6 @@ public class UpdateStatusProvider { /** Whether or not we've recorded the initial update status yet. */ private boolean mRecordedInitialStatus; @@ -1379,7 +1379,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o /** * Adds {@code observer} to notify about update state changes. It is safe to call this multiple * times with the same {@code observer}. This method will always notify {@code observer} of the -@@ -177,6 +191,30 @@ public class UpdateStatusProvider { +@@ -178,6 +192,30 @@ public class UpdateStatusProvider { pingObservers(); } @@ -1410,7 +1410,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o /** * Starts the intent update process, if possible * @param context An {@link Context} that will be used to fire off the update intent. -@@ -184,12 +222,11 @@ public class UpdateStatusProvider { +@@ -185,12 +223,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) { @@ -1424,7 +1424,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl)); if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); -@@ -200,9 +237,15 @@ public class UpdateStatusProvider { +@@ -201,9 +238,15 @@ public class UpdateStatusProvider { return true; } @@ -1442,7 +1442,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o } @RequiresNonNull("mStatus") -@@ -211,35 +254,52 @@ public class UpdateStatusProvider { +@@ -212,35 +255,52 @@ public class UpdateStatusProvider { } private void resolveStatus() { @@ -1504,7 +1504,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o mCallback = resultReceiver; } -@@ -251,7 +311,7 @@ public class UpdateStatusProvider { +@@ -252,7 +312,7 @@ public class UpdateStatusProvider { protected UpdateStatus doInBackground() { UpdateStatus testStatus = getTestStatus(); if (testStatus != null) return testStatus; @@ -1513,7 +1513,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o } @Override -@@ -269,6 +329,8 @@ public class UpdateStatusProvider { +@@ -270,6 +330,8 @@ public class UpdateStatusProvider { status.mIsSimulated = true; status.updateState = forcedUpdateState; @@ -1522,7 +1522,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o // Push custom configurations for certain update states. switch (forcedUpdateState) { case UpdateState.UPDATE_AVAILABLE: -@@ -286,31 +348,33 @@ public class UpdateStatusProvider { +@@ -287,31 +349,33 @@ public class UpdateStatusProvider { return status; } @@ -1537,7 +1537,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o - boolean allowedToUpdate = - checkForSufficientStorage() - // Disable the version update check for automotive. See b/297925838. -- && !BuildInfo.getInstance().isAutomotive +- && !DeviceInfo.isAutomotive() - && PackageUtils.isPackageInstalled( - GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE); - status.updateState = @@ -1680,7 +1680,7 @@ diff --git a/chrome/browser/safety_hub/android/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 -@@ -2324,6 +2324,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2273,6 +2273,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 @@ -1693,7 +1693,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4288,7 +4294,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4249,7 +4255,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1705,7 +1705,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4299,6 +4308,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4260,6 +4269,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported @@ -1727,7 +1727,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/browser/ui/lens/lens_overlay_query_controller.cc --- a/chrome/browser/ui/lens/lens_overlay_query_controller.cc +++ b/chrome/browser/ui/lens/lens_overlay_query_controller.cc -@@ -802,6 +802,7 @@ LensOverlayQueryController::CreateEndpointFetcher( +@@ -709,6 +709,7 @@ LensOverlayQueryController::CreateEndpointFetcher( /*post_data=*/std::move(request_string), /*headers=*/request_headers, /*cors_exempt_headers=*/cors_exempt_headers, chrome::GetChannel(), @@ -1966,7 +1966,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h --- a/components/endpoint_fetcher/endpoint_fetcher.h +++ b/components/endpoint_fetcher/endpoint_fetcher.h -@@ -21,6 +21,8 @@ +@@ -23,6 +23,8 @@ namespace base { class TimeDelta; } // namespace base @@ -1975,7 +1975,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin namespace network { class SimpleURLLoader; -@@ -59,6 +61,7 @@ enum class HttpMethod { +@@ -60,6 +62,7 @@ enum class HttpMethod { kGet = 0, kPost = 1, kDelete = 2, @@ -1983,7 +1983,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin }; enum AuthType { -@@ -72,6 +75,8 @@ enum AuthType { +@@ -73,6 +76,8 @@ enum AuthType { struct EndpointResponse { std::string response; @@ -1992,7 +1992,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin int http_status_code{-1}; std::optional error_type; }; -@@ -359,6 +364,7 @@ class EndpointFetcher { +@@ -360,6 +365,7 @@ class EndpointFetcher { const std::vector& headers, const std::vector& cors_exempt_headers, version_info::Channel channel, @@ -2000,7 +2000,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin const RequestParams request_params); // Less preferred convenience constructor for requests requiring no -@@ -375,6 +381,14 @@ class EndpointFetcher { +@@ -376,6 +382,14 @@ class EndpointFetcher { const GURL& url, const net::NetworkTrafficAnnotationTag& annotation_tag); @@ -2015,7 +2015,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // Used internally. Can be used if caller constructs their own // url_loader_factory and identity_manager. EndpointFetcher( -@@ -424,11 +438,17 @@ class EndpointFetcher { +@@ -425,11 +439,17 @@ class EndpointFetcher { void OnSanitizationResult(std::unique_ptr response, EndpointFetcherCallback endpoint_fetcher_callback, data_decoder::JsonSanitizer::Result result); @@ -2033,7 +2033,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // Members set in constructor const scoped_refptr url_loader_factory_; -@@ -436,6 +456,8 @@ class EndpointFetcher { +@@ -437,6 +457,8 @@ class EndpointFetcher { // this case, callers should invoke `PerformRequest` directly). const raw_ptr identity_manager_; @@ -2042,7 +2042,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // The complete definition of the specific network request to be performed. // Contains authentication details and response handling preferences. const RequestParams request_params_; -@@ -445,6 +467,9 @@ class EndpointFetcher { +@@ -446,6 +468,9 @@ class EndpointFetcher { access_token_fetcher_; std::unique_ptr simple_url_loader_; @@ -2055,7 +2055,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin diff --git a/components/manta/base_provider.cc b/components/manta/base_provider.cc --- a/components/manta/base_provider.cc +++ b/components/manta/base_provider.cc -@@ -163,6 +163,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode( +@@ -164,6 +164,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode( /*cors_exempt_headers=*/std::vector(), // ChromeOS always uses the stable channel API key version_info::Channel::STABLE, @@ -2066,7 +2066,7 @@ diff --git a/components/manta/base_provider.cc b/components/manta/base_provider. diff --git a/components/omnibox/composebox/composebox_query_controller.cc b/components/omnibox/composebox/composebox_query_controller.cc --- a/components/omnibox/composebox/composebox_query_controller.cc +++ b/components/omnibox/composebox/composebox_query_controller.cc -@@ -314,7 +314,7 @@ ComposeboxQueryController::CreateEndpointFetcher( +@@ -434,7 +434,7 @@ ComposeboxQueryController::CreateEndpointFetcher( /*post_data=*/std::move(request_string), /*headers=*/request_headers, /*cors_exempt_headers=*/cors_exempt_headers, diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index a1830556..4197934f 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -66,7 +66,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 -@@ -325,6 +325,7 @@ if (_is_default_toolchain) { +@@ -324,6 +324,7 @@ if (_is_default_toolchain) { "//chrome/android/features/tab_ui/public:ui_java_resources", "//chrome/android/modules/stack_unwinder/provider:java", "//chrome/android/webapk/libs/client:client_java", @@ -77,7 +77,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 -@@ -419,6 +419,7 @@ chrome_java_resources = [ +@@ -424,6 +424,7 @@ chrome_java_resources = [ "java/res/layout/account_divider_preference.xml", "java/res/layout/account_management_account_row.xml", "java/res/layout/app_history_filter.xml", @@ -85,7 +85,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", -@@ -608,6 +609,7 @@ chrome_java_resources = [ +@@ -613,6 +614,7 @@ chrome_java_resources = [ "java/res/xml/account_management_preferences.xml", "java/res/xml/ad_services_config.xml", "java/res/xml/appearance_preferences.xml", @@ -96,7 +96,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 -@@ -903,6 +903,8 @@ chrome_java_sources = [ +@@ -909,6 +909,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/permissions/PermissionBlockedDialog.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", @@ -180,8 +180,8 @@ new file mode 100644 diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml --- a/chrome/android/java/res/values/styles.xml +++ b/chrome/android/java/res/values/styles.xml -@@ -273,6 +273,24 @@ found in the LICENSE file. - 20sp +@@ -311,6 +311,24 @@ found in the LICENSE file. + + @@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/Defaul 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 -@@ -41,8 +41,7 @@ import org.chromium.chrome.browser.feature_engagement.TrackerFactory; +@@ -42,8 +42,7 @@ import org.chromium.chrome.browser.feature_engagement.TrackerFactory; import org.chromium.chrome.browser.metrics.UmaUtils; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; @@ -303,7 +303,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.chrome.browser.ui.signin.DialogWhenLargeContentLayout; import org.chromium.chrome.browser.ui.signin.SigninUtils; -@@ -231,7 +230,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -232,7 +231,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(); @@ -312,7 +312,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); -@@ -256,7 +255,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -257,7 +256,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa // // TODO(b/245912657): explicitly sign in supervised users in {@link // FullscreenSigninMediator#handleContinueWithNative} rather than relying on SigninChecker. @@ -320,7 +320,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR assumeNonNull(mFreProperties); mFirstRunFlowSequencer.updateFirstRunProperties(mFreProperties); -@@ -272,18 +270,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -273,18 +271,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN); } @@ -339,7 +339,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR if (mPagerAdapter != null) { mPagerAdapter.notifyDataSetChanged(); } -@@ -663,11 +649,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -666,11 +652,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa public void acceptTermsOfService(boolean allowMetricsAndCrashUploading) { assert mNativeInitializationPromise.isFulfilled(); @@ -1181,7 +1181,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/ChildAcc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/FullscreenSigninAndHistorySyncActivityBase.java -@@ -24,8 +24,6 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; +@@ -25,8 +25,6 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; import org.chromium.chrome.browser.ui.system.StatusBarColorController; import org.chromium.components.browser_ui.widget.gesture.BackPressHandler; import org.chromium.components.policy.PolicyService; @@ -1189,8 +1189,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/Fullscre -import org.chromium.components.signin.AccountManagerFacadeProvider; /** Base class for First run experience and fullscreen signin and history sync promos. */ - public abstract class FullscreenSigninAndHistorySyncActivityBase extends AsyncInitializationActivity -@@ -90,9 +88,7 @@ public abstract class FullscreenSigninAndHistorySyncActivityBase extends AsyncIn + @NullMarked +@@ -92,9 +90,7 @@ public abstract class FullscreenSigninAndHistorySyncActivityBase extends AsyncIn @Override @CallSuper public void triggerLayoutInflation() { diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 7da0a22b..0df6db0d 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../metrics/chrome_feature_list_creator.cc | 12 ++ .../search_engine_preconnector.cc | 1 + .../policy/chrome_browser_policy_connector.cc | 3 - - ...nfiguration_policy_handler_list_factory.cc | 10 +- + ...nfiguration_policy_handler_list_factory.cc | 11 +- .../account_consistency_mode_manager.cc | 7 +- ...ccount_consistency_mode_manager_factory.cc | 2 +- .../throttled_gaia_auth_fetcher.cc | 5 + @@ -39,12 +39,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html extensions/common/extension_features.cc | 1 + google_apis/gaia/gaia_auth_fetcher.cc | 1 + net/socket/ssl_client_socket_impl.cc | 3 + - 35 files changed, 326 insertions(+), 161 deletions(-) + 35 files changed, 326 insertions(+), 162 deletions(-) diff --git a/base/win/win_util.cc b/base/win/win_util.cc --- a/base/win/win_util.cc +++ b/base/win/win_util.cc -@@ -157,80 +157,18 @@ bool EnablePerMonitorV2() { +@@ -158,80 +158,18 @@ bool EnablePerMonitorV2() { } bool* GetDomainEnrollmentStateStorage() { @@ -228,7 +228,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 -@@ -2455,9 +2455,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -2459,9 +2459,9 @@ bool AreFuturePoliciesEnabledByDefault() { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) { return true; } @@ -241,17 +241,18 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc } } // namespace -@@ -3280,6 +3280,10 @@ std::unique_ptr BuildHandlerList( - extensions::pref_names::kExtensionUnpublishedAvailability, - /*min=*/0, /*max=*/1, /*clamp=*/false)); - handlers->AddHandler(std::make_unique()); +@@ -3290,7 +3290,10 @@ std::unique_ptr BuildHandlerList( + key::kExtensionInstallCloudPolicyChecksEnabled, + extensions::pref_names::kExtensionInstallCloudPolicyChecksEnabled, + base::Value::Type::BOOLEAN)); +- + handlers->AddHandler(std::make_unique( + key::kExtensionManifestV2Availability, + extensions::pref_names::kManifestV2Availability, /*min=*/0, /*max=*/3, + /*clamp=*/false)); - #endif // BUILDFLAG(ENABLE_EXTENSIONS) + #if BUILDFLAG(ENABLE_PRINT_PREVIEW) diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc --- a/chrome/browser/signin/account_consistency_mode_manager.cc +++ b/chrome/browser/signin/account_consistency_mode_manager.cc @@ -337,7 +338,7 @@ diff --git a/chrome/browser/signin/bound_session_credentials/throttled_gaia_auth diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc --- a/chrome/browser/signin/chrome_signin_client.cc +++ b/chrome/browser/signin/chrome_signin_client.cc -@@ -264,7 +264,9 @@ void ChromeSigninClient::DoFinalInit() { +@@ -265,7 +265,9 @@ void ChromeSigninClient::DoFinalInit() { bool ChromeSigninClient::ProfileAllowsSigninCookies(Profile* profile) { scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); @@ -348,7 +349,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign } PrefService* ChromeSigninClient::GetPrefs() { -@@ -387,6 +389,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() { +@@ -386,6 +388,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() { } void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) { @@ -370,7 +371,7 @@ diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/sig "Signin.DiceTokenBindingOutcome"; // Used for UMA. Do not reorder, append new values at the end. -@@ -409,8 +409,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader( +@@ -387,8 +387,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader( // - If there is a policy restriction on removing the primary account. bool invalidate_only_primary_account = identity_manager_->HasPrimaryAccount(signin::ConsentLevel::kSync) || @@ -378,9 +379,9 @@ diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/sig !signin::IsImplicitBrowserSigninOrExplicitDisabled( identity_manager_, signin_client_->GetPrefs()) || +#endif - !signin_client_->IsClearPrimaryAccountAllowed( - /*has_sync_account=*/false); + !signin_client_->IsClearPrimaryAccountAllowed(); + CoreAccountId primary_account = diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browser/ui/webui/policy/policy_ui_handler.cc --- a/chrome/browser/ui/webui/policy/policy_ui_handler.cc +++ b/chrome/browser/ui/webui/policy/policy_ui_handler.cc @@ -600,7 +601,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } // namespace BASE_FEATURE(kCommerceAllowLocalImages, -@@ -346,16 +296,15 @@ const base::FeatureParam kRevertIconOnFailure{ +@@ -344,16 +294,15 @@ const base::FeatureParam kRevertIconOnFailure{ &kShoppingList, kRevertIconOnFailureParam, false}; bool IsPartnerMerchant(const GURL& url) { @@ -620,7 +621,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } bool IsCartDiscountFeatureEnabled() { -@@ -407,6 +356,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature, +@@ -405,6 +354,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature, bool IsRegionLockedFeatureEnabled(const base::Feature& feature, const std::string& country_code, const std::string& locale) { @@ -628,7 +629,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm auto* feature_list = base::FeatureList::GetInstance(); // If the feature has a server-side config, this check will ensure that -@@ -439,6 +389,7 @@ base::TimeDelta GetDiscountFetchDelay() { +@@ -437,6 +387,7 @@ base::TimeDelta GetDiscountFetchDelay() { } bool IsNoDiscountMerchant(const GURL& url) { @@ -636,7 +637,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm auto* pattern_from_component = commerce_heuristics::CommerceHeuristicsData::GetInstance() .GetNoDiscountMerchantPattern(); -@@ -450,4 +401,6 @@ bool IsNoDiscountMerchant(const GURL& url) { +@@ -448,4 +399,6 @@ bool IsNoDiscountMerchant(const GURL& url) { return RE2::PartialMatch(url.host_piece(), *pattern_from_component); } #endif @@ -659,7 +660,7 @@ diff --git a/components/policy/core/browser/browser_policy_connector.cc b/compon diff --git a/components/policy/core/common/command_line_policy_provider.cc b/components/policy/core/common/command_line_policy_provider.cc --- a/components/policy/core/common/command_line_policy_provider.cc +++ b/components/policy/core/common/command_line_policy_provider.cc -@@ -23,6 +23,9 @@ std::unique_ptr +@@ -21,6 +21,9 @@ std::unique_ptr CommandLinePolicyProvider::CreateIfAllowed( const base::CommandLine& command_line, version_info::Channel channel) { @@ -978,7 +979,7 @@ diff --git a/components/policy/resources/webui/policy_row.ts b/components/policy diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp --- a/components/policy_strings.grdp +++ b/components/policy_strings.grdp -@@ -657,8 +657,8 @@ Additional details: +@@ -672,8 +672,8 @@ Additional details: Default @@ -1036,14 +1037,14 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc --- a/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc -@@ -112,6 +112,7 @@ BASE_FEATURE(kExtensionProtocolHandlers, - BASE_FEATURE(kExtensionsManifestV3Only, - "ExtensionsManifestV3Only", +@@ -42,6 +42,7 @@ BASE_FEATURE(ApiEnterpriseReportingPrivateOnDataMaskingRulesTriggered, + + BASE_FEATURE(AllowWithholdingExtensionPermissionsOnInstall, base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kExtensionsManifestV3Only); - BASE_FEATURE(kExtensionsMenuAccessControl, - "ExtensionsMenuAccessControl", + BASE_FEATURE(kCheckingNoExtensionIdInExtensionIpcs, + "EMF_NO_EXTENSION_ID_FOR_EXTENSION_SOURCE", diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc --- a/google_apis/gaia/gaia_auth_fetcher.cc +++ b/google_apis/gaia/gaia_auth_fetcher.cc @@ -1058,7 +1059,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_ 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 -@@ -800,6 +800,7 @@ int SSLClientSocketImpl::Init() { +@@ -788,6 +788,7 @@ int SSLClientSocketImpl::Init() { return ERR_UNEXPECTED; } @@ -1066,7 +1067,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket // Disable SHA-1 server signatures. // TODO(crbug.com/boringssl/699): Once the default is flipped in BoringSSL, we // no longer need to override it. -@@ -1215,6 +1216,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1202,6 +1203,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { cert_verifier_request_.reset(); diff --git a/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch b/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch index e08d5df5..b83992f4 100644 --- a/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch +++ b/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch @@ -23,16 +23,16 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py """ import sys -@@ -235,7 +237,7 @@ def DownloadAndUnpackClangWinRuntime(output_dir): - sys.exit(1) +@@ -252,7 +254,7 @@ def DownloadAndUnpackClangWinRuntime(output_dir): --def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR): -+def UpdatePackage(package_name, host_os, no_clear, dir=LLVM_BUILD_DIR): + def UpdatePackage(package_name, +- host_os, ++ host_os, no_clear, + preserve_gcs_signature, + dir=LLVM_BUILD_DIR): stamp_file = None - package_file = None - -@@ -267,6 +269,8 @@ def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR): +@@ -286,6 +288,8 @@ def UpdatePackage(package_name, target_os = env.get('target_os', target_os) except: pass @@ -41,7 +41,7 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py if os.path.exists(OLD_STAMP_FILE): # Delete the old stamp file so it doesn't look like an old version of clang -@@ -284,7 +288,7 @@ def UpdatePackage(package_name, host_os, dir=LLVM_BUILD_DIR): +@@ -303,7 +307,7 @@ def UpdatePackage(package_name, # Updating the main clang package nukes the output dir. Any other packages # need to be updated *after* the clang package. @@ -50,22 +50,22 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py RmTree(dir) DownloadAndUnpackPackage(package_file, dir, host_os) -@@ -332,6 +336,8 @@ def main(): +@@ -351,6 +355,8 @@ def main(): parser.add_argument('--print-clang-version', action='store_true', help=('Print current clang release version (e.g. 9.0.0) ' 'and exit.')) + parser.add_argument('--no-clear', + help='Do not remove old file before extracting.') - args = parser.parse_args() - - # TODO(crbug.com/432036065): Remove in next Clang roll. -@@ -372,7 +378,7 @@ def main(): + parser.add_argument('--preserve-gcs-signature', + action='store_true', + help='By default, this script removes gcs hash files ' +@@ -398,7 +404,7 @@ def main(): print('--llvm-force-head-revision can only be used for --print-revision') return 1 -- return UpdatePackage(args.package, args.host_os, output_dir) -+ return UpdatePackage(args.package, args.host_os, args.no_clear, output_dir) +- return UpdatePackage(args.package, args.host_os, args.preserve_gcs_signature, ++ return UpdatePackage(args.package, args.host_os, args.no_clear, args.preserve_gcs_signature, + output_dir) - if __name__ == '__main__': -- diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch index c5c48a2f..f5e9ee3f 100644 --- a/build/patches/autofill-miscellaneous.patch +++ b/build/patches/autofill-miscellaneous.patch @@ -30,7 +30,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/AutofillOptionsLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/AutofillOptionsLauncher.java --- a/chrome/android/java/src/org/chromium/chrome/browser/AutofillOptionsLauncher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/AutofillOptionsLauncher.java -@@ -41,6 +41,7 @@ public final class AutofillOptionsLauncher extends Activity { +@@ -43,6 +43,7 @@ public final class AutofillOptionsLauncher extends Activity { } private static boolean isDeepLinkFeatureEnabled() { @@ -41,7 +41,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AutofillOptions diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -1150,10 +1150,6 @@ password_manager::OtpManager* ChromePasswordManagerClient::GetOtpManager() { +@@ -1111,10 +1111,6 @@ password_manager::OtpManager* ChromePasswordManagerClient::GetOtpManager() { autofill::AutofillCrowdsourcingManager* ChromePasswordManagerClient::GetAutofillCrowdsourcingManager() { @@ -55,7 +55,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b 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 -@@ -395,15 +395,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -394,15 +394,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { ->GetURLLoaderFactoryForBrowserProcess(); } @@ -80,12 +80,12 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browse scoped_refptr GetURLLoaderFactory() final; - AutofillCrowdsourcingManager& GetCrowdsourcingManager() final; VotesUploader& GetVotesUploader() final; - AutofillOptimizationGuide* GetAutofillOptimizationGuide() const final; - FieldClassificationModelHandler* GetAutofillFieldClassificationModelHandler() + AutofillOptimizationGuideDecider* GetAutofillOptimizationGuideDecider() + const final; diff --git a/components/android_autofill/browser/android_autofill_client.cc b/components/android_autofill/browser/android_autofill_client.cc --- a/components/android_autofill/browser/android_autofill_client.cc +++ b/components/android_autofill/browser/android_autofill_client.cc -@@ -79,17 +79,6 @@ AndroidAutofillClient::GetURLLoaderFactory() { +@@ -80,17 +80,6 @@ AndroidAutofillClient::GetURLLoaderFactory() { ->GetURLLoaderFactoryForBrowserProcess(); } @@ -232,7 +232,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc b/ diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/components/autofill/core/browser/foundations/autofill_client.h --- a/components/autofill/core/browser/foundations/autofill_client.h +++ b/components/autofill/core/browser/foundations/autofill_client.h -@@ -280,10 +280,6 @@ class AutofillClient { +@@ -287,10 +287,6 @@ class AutofillClient { // Returns the VotesUploader. virtual VotesUploader& GetVotesUploader() = 0; @@ -246,7 +246,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/co diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc --- a/components/autofill/core/browser/foundations/autofill_manager.cc +++ b/components/autofill/core/browser/foundations/autofill_manager.cc -@@ -311,17 +311,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms) { +@@ -343,17 +343,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms) { if (base::FeatureList::IsEnabled(features::test::kShowDomNodeIDs)) { driver().ExposeDomNodeIDs(); } @@ -267,7 +267,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ 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 -@@ -1089,6 +1089,8 @@ BASE_FEATURE(kAutofillUploadThrottling, +@@ -1082,6 +1082,8 @@ BASE_FEATURE(kAutofillUploadThrottling, "AutofillUploadThrottling", base::FEATURE_ENABLED_BY_DEFAULT); @@ -301,7 +301,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( kAutofillPaymentCardBenefits, true, -@@ -85,7 +85,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -91,7 +91,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #endif // Deprecated prefs registered for migration. diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index 584e8357..9a8f1960 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -50,7 +50,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu self._lines = lines self._path = path self._enum_definitions = [] -@@ -253,6 +254,7 @@ class HeaderParser: +@@ -257,6 +258,7 @@ class HeaderParser: self._generator_directives = DirectiveSet() self._multi_line_generator_directive = None self._current_enum_entry = '' @@ -58,7 +58,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu def _ShouldIgnoreLine(self): return self._in_preprocessor_block and not all(self._in_buildflag_android) -@@ -295,6 +297,24 @@ class HeaderParser: +@@ -303,6 +305,24 @@ class HeaderParser: raise Exception('Multi-line comments in enums are not supported in ' + self._path) @@ -83,7 +83,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu enum_comment = HeaderParser.single_line_comment_re.match(line) if enum_comment: comment = enum_comment.groups()[0] -@@ -395,9 +415,9 @@ class HeaderParser: +@@ -404,9 +424,9 @@ class HeaderParser: self._ParseSingleLineEnum(single_line_enum.group('enum_entries')) @@ -95,7 +95,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu if not enum_definitions: raise Exception('No enums found in %s\n' 'Did you forget prefixing enums with ' -@@ -410,9 +430,9 @@ def DoGenerate(source_paths): +@@ -419,9 +439,9 @@ def DoGenerate(source_paths): yield output_path, output @@ -107,7 +107,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu def GenerateOutput(source_path, enum_definition): -@@ -498,11 +518,16 @@ def DoMain(argv): +@@ -507,11 +527,16 @@ def DoMain(argv): nargs='+', help='Path to at least one input file.') @@ -424,7 +424,7 @@ new file mode 100644 diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn -@@ -870,3 +870,5 @@ if (is_component_build) { +@@ -835,3 +835,5 @@ if (is_component_build) { set_defaults("component") { configs = default_component_configs } diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index de75b81b..a8d02ad3 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 -@@ -430,13 +430,6 @@ public class WebViewChromiumAwInit { +@@ -443,13 +443,6 @@ public class WebViewChromiumAwInit { } AwBrowserProcess.configureChildProcessLauncher(); @@ -29,7 +29,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 -@@ -561,10 +561,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -582,10 +582,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { // This must happen after pref value has been read and SafeMode setup has completed. setupStartupTaskExperiments(androidXConfig); @@ -37,7 +37,7 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC - mAwInit.startVariationsInit(); - } - - mShouldDisableThreadChecking = shouldDisableThreadChecking(ctx); - FlagOverrideHelper helper = + new FlagOverrideHelper(ProductionSupportedFlagList.sFlagList); + helper.applyFlagOverrides( -- diff --git a/build/patches/disable-appending-variations-header.patch b/build/patches/disable-appending-variations-header.patch index 606684e6..0395130c 100644 --- a/build/patches/disable-appending-variations-header.patch +++ b/build/patches/disable-appending-variations-header.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/variations/net/variations_http_headers.cc b/components/variations/net/variations_http_headers.cc --- a/components/variations/net/variations_http_headers.cc +++ b/components/variations/net/variations_http_headers.cc -@@ -116,10 +116,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) { +@@ -120,10 +120,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) { // Also, logs the result of validating |url| in histograms, one of which ends in // |suffix|. bool ShouldAppendVariationsHeader(const GURL& url, const std::string& suffix) { 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 dda78a4f..7875b39a 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 @@ -16,7 +16,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 -@@ -150,12 +150,12 @@ const size_t kMaxHostLength = 4096; +@@ -149,12 +149,12 @@ const size_t kMaxHostLength = 4096; // Time between IPv6 probes, i.e. for how long results of each IPv6 probe are // cached. diff --git a/build/patches/do-not-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch index e33e6f89..978c5b79 100644 --- a/build/patches/do-not-block-build-incompatible-profiles.patch +++ b/build/patches/do-not-block-build-incompatible-profiles.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/v8/BUILD.gn b/v8/BUILD.gn --- a/v8/BUILD.gn +++ b/v8/BUILD.gn -@@ -2568,7 +2568,7 @@ template("run_mksnapshot") { +@@ -2589,7 +2589,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/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch index 260c6541..a61e766b 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 -@@ -456,6 +456,10 @@ config("compiler") { +@@ -451,6 +451,10 @@ config("compiler") { cflags += [ "-fwrapv" ] } diff --git a/build/patches/eyeo-133.0.6943.49-android_api.patch b/build/patches/eyeo-133.0.6943.49-android_api.patch index afece6fc..5b231a2a 100644 --- a/build/patches/eyeo-133.0.6943.49-android_api.patch +++ b/build/patches/eyeo-133.0.6943.49-android_api.patch @@ -97,15 +97,15 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn import("//build/config/android/config.gni") import("//build/config/cronet/config.gni") -@@ -554,6 +557,7 @@ if (_is_default_toolchain) { +@@ -553,6 +556,7 @@ if (_is_default_toolchain) { "//chrome/browser/xsurface:java", "//chrome/browser/xsurface_provider:dependency_provider_impl_java", "//chrome/browser/xsurface_provider:java", + "//components/adblock/android:adblock_controller_java", + "//components/android_autofill/browser:features_java", "//components/android_autofill/browser:java", "//components/autofill/android:autofill_features_java", - "//components/autofill/android:autofill_java", -@@ -1394,6 +1398,7 @@ if (_is_default_toolchain) { +@@ -1395,6 +1399,7 @@ if (_is_default_toolchain) { "javatests:chrome_test_java_org.chromium.chrome.browser.toolbar", "javatests:chrome_test_java_org.chromium.chrome.browser.webapps", "javatests:chrome_test_java_various", @@ -113,7 +113,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/android/browserservices/verification:javatests", "//chrome/browser/android/httpclient:javatests", "//chrome/browser/android/metrics:ukm_javatests", -@@ -1464,6 +1469,7 @@ if (_is_default_toolchain) { +@@ -1465,6 +1470,7 @@ if (_is_default_toolchain) { "//chrome/test/data/translate/", "//chrome/test/data/webauthn/", "//chrome/test/media_router/resources/", @@ -121,7 +121,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/test/data/autofill/", "//components/test/data/payments/", "//content/test/data/browsing_data/", -@@ -3256,6 +3262,12 @@ if (_is_default_toolchain) { +@@ -3261,6 +3267,12 @@ if (_is_default_toolchain) { sources += [ "java/src/org/chromium/chrome/browser/media/MediaCapturePickerDialogBridge.java" ] } @@ -134,7 +134,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn # Used for testing only, should not be shipped to end users. if (enable_offline_pages_harness) { sources += [ "java/src/org/chromium/chrome/browser/offlinepages/evaluation/OfflinePageEvaluationBridge.java" ] -@@ -3347,6 +3359,7 @@ if (_is_default_toolchain) { +@@ -3352,6 +3364,7 @@ if (_is_default_toolchain) { "//chrome/browser/ui/plus_addresses/android:jni_headers", "//chrome/browser/util:jni_headers", "//chrome/browser/webauthn/android:jni_headers", @@ -155,7 +155,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java import("//content/public/common/features.gni") -@@ -55,6 +58,7 @@ chrome_java_sources = [ +@@ -56,6 +59,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/accessibility/AccessibilityTabHelper.java", "java/src/org/chromium/chrome/browser/accessibility/PageZoomIphController.java", "java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java", @@ -207,7 +207,7 @@ new file mode 100644 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3412,6 +3412,10 @@ static_library("browser") { +@@ -3399,6 +3399,10 @@ static_library("browser") { ] deps += [ "//chrome/browser/password_entry_edit/android" ] @@ -267,7 +267,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 -@@ -996,6 +996,12 @@ static_library("ui") { +@@ -1012,6 +1012,12 @@ static_library("ui") { deps += [ "//components/themes:ntp_background_proto", ] diff --git a/build/patches/eyeo-133.0.6943.49-android_settings.patch b/build/patches/eyeo-133.0.6943.49-android_settings.patch index 9e29170d..0a6fc660 100644 --- a/build/patches/eyeo-133.0.6943.49-android_settings.patch +++ b/build/patches/eyeo-133.0.6943.49-android_settings.patch @@ -8,7 +8,6 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API --- chrome/android/BUILD.gn | 8 + .../android/java/res/xml/main_preferences.xml | 8 + - .../java/res/xml/main_preferences_legacy.xml | 8 + chrome/browser/adblock/android/BUILD.gn | 85 ++++++ chrome/browser/adblock/android/README.md | 13 + .../adblock/android/adblock_strings.grd | 244 ++++++++++++++++++ @@ -122,7 +121,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API .../translations/adblock_strings_zh-HK.xtb | 4 + .../translations/adblock_strings_zh-TW.xtb | 13 + .../translations/adblock_strings_zu.xtb | 4 + - 116 files changed, 2357 insertions(+) + 115 files changed, 2349 insertions(+) create mode 100644 chrome/browser/adblock/android/README.md create mode 100644 chrome/browser/adblock/android/adblock_strings.grd create mode 100644 chrome/browser/adblock/android/java/res/drawable-hdpi/fragment_adblock_custom_item_add.png @@ -239,7 +238,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -290,6 +290,10 @@ if (_is_default_toolchain) { +@@ -289,6 +289,10 @@ if (_is_default_toolchain) { deps += [ "//chrome/browser:screen_capture_java_resources" ] } @@ -250,7 +249,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn if (enable_extensions_core) { deps += [ "//chrome/browser/ui/android/extensions:java_resources" ] } -@@ -808,6 +812,10 @@ if (_is_default_toolchain) { +@@ -809,6 +813,10 @@ if (_is_default_toolchain) { "//chrome/browser/password_entry_edit:public_java", ] @@ -273,8 +272,8 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j +Use of this source code is governed by the GPLv3 that can be found in the components/adblock/LICENSE file. --> - + @@ -282,31 +281,6 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j + android:fragment="org.chromium.chrome.browser.adblock.settings.AdblockSettingsFragment" + android:key="adblock" + android:order="17" -+ android:title="@string/adblock_settings_title" /> - - - - - android:key="ui_theme" - android:order="18" - android:title="@string/theme_settings" /> -+ -@@ -1526,7 +1530,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( +@@ -1583,7 +1587,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( ? head->bypass_redirect_checks : bypass_redirect_checks_; @@ -50266,7 +50266,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b #include "content/browser/renderer_host/render_frame_host_impl.h" -@@ -3607,6 +3611,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( +@@ -3615,6 +3619,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( std::move(callback)); } @@ -50293,7 +50293,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/br #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_ -@@ -498,6 +502,10 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -504,6 +508,10 @@ class CONTENT_EXPORT RenderFrameHostImpl const std::u16string& method_name, base::Value::List arguments, JavaScriptResultCallback callback) override; @@ -50318,7 +50318,7 @@ diff --git a/content/public/browser/render_frame_host.h b/content/public/browser #ifndef CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ #define CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ -@@ -556,6 +560,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener { +@@ -559,6 +563,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener { virtual void AddMessageToConsole(blink::mojom::ConsoleMessageLevel level, const std::string& message) = 0; @@ -50412,7 +50412,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn import("//build/config/cast.gni") import("//build/config/chromeos/ui_mode.gni") -@@ -167,6 +170,10 @@ inspector_protocol_generate("protocol_sources") { +@@ -171,6 +174,10 @@ inspector_protocol_generate("protocol_sources") { static_library("content_shell_lib") { testonly = true sources = [ @@ -50423,7 +50423,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn "browser/protocol/browser_handler.cc", "browser/protocol/browser_handler.h", "browser/protocol/domain_handler.h", -@@ -236,6 +243,7 @@ static_library("content_shell_lib") { +@@ -240,6 +247,7 @@ static_library("content_shell_lib") { "browser/shell_platform_delegate_android.cc", "browser/shell_web_contents_view_delegate_android.cc", ] @@ -50431,7 +50431,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn } if (is_mac) { -@@ -317,6 +325,8 @@ static_library("content_shell_lib") { +@@ -321,6 +329,8 @@ static_library("content_shell_lib") { "//base", "//base:base_static", "//cc/base", @@ -50440,7 +50440,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn "//components/cdm/renderer", "//components/custom_handlers", "//components/custom_handlers:test_support", -@@ -337,6 +347,7 @@ static_library("content_shell_lib") { +@@ -341,6 +351,7 @@ static_library("content_shell_lib") { "//components/prefs", "//components/services/storage/test_api", "//components/url_formatter", @@ -50448,7 +50448,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn "//components/variations", "//components/variations/service", "//components/web_cache/renderer", -@@ -428,6 +439,7 @@ static_library("content_shell_lib") { +@@ -432,6 +443,7 @@ static_library("content_shell_lib") { "//mojo/public/java/system:test_support", "//ui/android", ] @@ -50701,7 +50701,7 @@ new file mode 100644 diff --git a/content/shell/browser/shell.cc b/content/shell/browser/shell.cc --- a/content/shell/browser/shell.cc +++ b/content/shell/browser/shell.cc -@@ -25,6 +25,8 @@ +@@ -21,6 +21,8 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" @@ -50710,7 +50710,7 @@ diff --git a/content/shell/browser/shell.cc b/content/shell/browser/shell.cc #include "components/custom_handlers/protocol_handler.h" #include "components/custom_handlers/protocol_handler_registry.h" #include "components/custom_handlers/simple_protocol_handler_registry_factory.h" -@@ -44,6 +46,7 @@ +@@ -41,6 +43,7 @@ #include "content/public/browser/web_contents.h" #include "content/public/common/content_switches.h" #include "content/shell/app/resource.h" @@ -50718,7 +50718,7 @@ diff --git a/content/shell/browser/shell.cc b/content/shell/browser/shell.cc #include "content/shell/browser/shell_content_browser_client.h" #include "content/shell/browser/shell_devtools_frontend.h" #include "content/shell/browser/shell_javascript_dialog_manager.h" -@@ -89,6 +92,12 @@ Shell::Shell(std::unique_ptr web_contents, +@@ -87,6 +90,12 @@ Shell::Shell(std::unique_ptr web_contents, windows_.push_back(this); @@ -50894,7 +50894,7 @@ diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blin module blink.mojom; -@@ -1010,6 +1014,10 @@ interface LocalFrame { +@@ -1016,6 +1020,10 @@ interface LocalFrame { // the given point in the view coordinate space. PluginActionAt(gfx.mojom.Point location, blink.mojom.PluginActionType action); @@ -51035,7 +51035,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b #include "third_party/blink/renderer/core/frame/local_frame_mojo_handler.h" @@ -350,6 +354,14 @@ LocalFrameMojoHandler::LocalFrameMojoHandler(blink::LocalFrame& frame) - WrapWeakPersistent(this))); + WrapWeakPersistent(this))); } +void LocalFrameMojoHandler::InsertAbpElemhideStylesheet( @@ -51065,7 +51065,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/ #define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_MOJO_HANDLER_H_ @@ -113,6 +117,7 @@ class LocalFrameMojoHandler void AddMessageToConsole(mojom::blink::ConsoleMessageLevel level, - const WTF::String& message, + const String& message, bool discard_duplicates) final; + void InsertAbpElemhideStylesheet(const WTF::String& stylesheet) final; void SwapInImmediately() final; @@ -51074,7 +51074,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/ diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc --- a/third_party/blink/renderer/core/html/html_element.cc +++ b/third_party/blink/renderer/core/html/html_element.cc -@@ -2618,7 +2618,13 @@ void HTMLElement::setSpellcheck(bool enable) { +@@ -2672,7 +2672,13 @@ void HTMLElement::setSpellcheck(bool enable) { } void HTMLElement::click() { @@ -51753,7 +51753,7 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ # This file is used to assign starting resource ids for resources and strings # used by Chromium. This is done to ensure that resource ids are unique # across all the grd files. If you are adding a new grd file, please add -@@ -1192,6 +1196,14 @@ +@@ -1212,6 +1216,14 @@ "components/user_scripts/browser/resources/browser_resources.grd": { "includes": [7620], }, @@ -51791,7 +51791,7 @@ diff --git a/tools/metrics/histograms/metadata/extensions/enums.xml b/tools/metr -@@ -3221,6 +3225,8 @@ Called by update_extension_permission.py.--> +@@ -3223,6 +3227,8 @@ Called by update_extension_permission.py.--> diff --git a/build/patches/eyeo-133.0.6943.49-chrome_integration.patch b/build/patches/eyeo-133.0.6943.49-chrome_integration.patch index 30a5cfdd..a4c95ad9 100644 --- a/build/patches/eyeo-133.0.6943.49-chrome_integration.patch +++ b/build/patches/eyeo-133.0.6943.49-chrome_integration.patch @@ -113,7 +113,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #include "chrome/browser/buildflags.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_resource_bundle_helper.h" -@@ -1578,7 +1583,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { +@@ -1595,7 +1600,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { content::ContentBrowserClient* ChromeMainDelegate::CreateContentBrowserClient() { chrome_content_browser_client_ = @@ -136,15 +136,15 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn import("//base/allocator/allocator.gni") import("//build/buildflag_header.gni") @@ -204,6 +207,8 @@ static_library("browser") { - "accessibility/page_colors_factory.h", + "accessibility/page_colors_controller_factory.h", "accessibility/prefers_default_scrollbar_styles_prefs.cc", "accessibility/prefers_default_scrollbar_styles_prefs.h", + "adblock/adblock_chrome_content_browser_client.cc", + "adblock/adblock_chrome_content_browser_client.h", "after_startup_task_utils.cc", "after_startup_task_utils.h", - "app_mode/app_mode_utils.cc", -@@ -2139,6 +2144,7 @@ static_library("browser") { + "autocomplete/autocomplete_classifier_factory.cc", +@@ -2119,6 +2124,7 @@ static_library("browser") { "//chrome/common/notifications", "//chrome/installer/util:with_no_strings", "//chrome/services/speech/buildflags", @@ -152,7 +152,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//components/application_locale_storage", "//components/assist_ranker", "//components/autofill/content/browser", -@@ -8558,6 +8564,7 @@ static_library("browser_public_dependencies") { +@@ -8611,6 +8617,7 @@ static_library("browser_public_dependencies") { "//chrome/services/file_util/public/mojom", "//components/account_id", "//components/autofill/content/browser", @@ -3433,7 +3433,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows #include "chrome/browser/chrome_browser_main.h" -@@ -77,6 +81,7 @@ +@@ -78,6 +82,7 @@ #include "chrome/grit/branded_strings.h" #include "chrome/grit/generated_resources.h" #include "chrome/installer/util/google_update_settings.h" @@ -3441,7 +3441,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows #include "components/color/color_mixers.h" #include "components/device_event_log/device_event_log.h" #include "components/embedder_support/origin_trials/component_updater_utils.h" -@@ -1555,6 +1560,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1548,6 +1553,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // called inside PostProfileInit. content::WebUIControllerFactory::RegisterFactory( ChromeWebUIControllerFactory::GetInstance()); @@ -3491,7 +3491,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL import("//build/config/chromebox_for_meetings/buildflags.gni") import("//build/config/chromeos/ui_mode.gni") -@@ -496,6 +499,7 @@ source_set("extensions") { +@@ -501,6 +504,7 @@ source_set("extensions") { "window_controller_list.h", "window_controller_list_observer.h", ] @@ -3499,7 +3499,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL configs += [ "//build/config:precompiled_headers", "//build/config/compiler:wexit_time_destructors", -@@ -824,6 +828,7 @@ source_set("extensions") { +@@ -828,6 +832,7 @@ source_set("extensions") { ] } @@ -3521,7 +3521,7 @@ diff --git a/chrome/browser/net/errorpage_browsertest.cc b/chrome/browser/net/er #include #include #include -@@ -38,6 +42,7 @@ +@@ -39,6 +43,7 @@ #include "chrome/common/pref_names.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" @@ -3529,8 +3529,8 @@ diff --git a/chrome/browser/net/errorpage_browsertest.cc b/chrome/browser/net/er #include "components/browsing_data/content/browsing_data_helper.h" #include "components/embedder_support/switches.h" #include "components/error_page/content/browser/net_error_auto_reloader.h" -@@ -639,6 +644,9 @@ class ErrorPageAutoReloadTest : public InProcessBrowserTest { - public: +@@ -644,6 +649,9 @@ class ErrorPageAutoReloadTest : public InProcessBrowserTest { + void SetUpCommandLine(base::CommandLine* command_line) override { command_line->AppendSwitch(embedder_support::kEnableAutoReload); + // The URLLoaderInterceptor is not resilient to the browser making @@ -3538,7 +3538,7 @@ diff --git a/chrome/browser/net/errorpage_browsertest.cc b/chrome/browser/net/er + command_line->AppendSwitch(adblock::switches::kDisableAdblock); } - void TearDownOnMainThread() override { url_loader_interceptor_.reset(); } + void NavigateToURLAndWaitForTitle(const GURL& url, diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc --- a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc +++ b/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load_metrics_observer_browsertest.cc @@ -3553,7 +3553,7 @@ diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load #include "components/page_load_metrics/browser/observers/ad_metrics/ads_page_load_metrics_observer.h" -@@ -24,6 +28,7 @@ +@@ -25,6 +29,7 @@ #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/interactive_test_utils.h" #include "chrome/test/base/ui_test_utils.h" @@ -3561,7 +3561,7 @@ diff --git a/chrome/browser/page_load_metrics/observers/ad_metrics/ads_page_load #include "components/heavy_ad_intervention/heavy_ad_features.h" #include "components/page_load_metrics/browser/ads_page_load_metrics_test_waiter.h" #include "components/page_load_metrics/browser/features.h" -@@ -1521,7 +1526,7 @@ class AdsPageLoadMetricsObserverResourceBrowserTest +@@ -1469,7 +1474,7 @@ class AdsPageLoadMetricsObserverResourceBrowserTest {heavy_ad_intervention::features::kHeavyAdIntervention, {}}, {heavy_ad_intervention::features::kHeavyAdPrivacyMitigations, {{"host-threshold", "3"}}}}, @@ -3613,10 +3613,10 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse #include "components/component_updater/pref_names.h" #include "components/policy/core/browser/configuration_policy_pref_store.h" #include "components/pref_registry/pref_registry_syncable.h" -@@ -189,6 +194,12 @@ const auto kTrackedPrefs = std::to_array({ - // Allows it to trigger a write to the protected pref store. - {36, user_prefs::kScheduleToFlushToDisk, EnforcementLevel::ENFORCE_ON_LOAD, - PrefTrackingStrategy::ATOMIC, ValueType::IMPERSONAL}, +@@ -194,6 +199,12 @@ const auto kTrackedPrefs = std::to_array({ + EnforcementLevel::ENFORCE_ON_LOAD, PrefTrackingStrategy::ATOMIC, + ValueType::IMPERSONAL}, + #endif + {100, adblock::common::prefs::kSubscriptionSignatures, + EnforcementLevel::ENFORCE_ON_LOAD, PrefTrackingStrategy::SPLIT, + ValueType::IMPERSONAL}, @@ -3640,7 +3640,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" -@@ -250,6 +254,15 @@ +@@ -249,6 +253,15 @@ #include "chrome/browser/webid/federated_identity_permission_context_factory.h" #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" @@ -3656,7 +3656,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "components/autofill/content/browser/autofill_log_router_factory.h" #include "components/breadcrumbs/core/breadcrumbs_status.h" #include "components/captive_portal/core/buildflags.h" -@@ -934,6 +947,15 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -932,6 +945,15 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -3675,7 +3675,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/profiles/profile_keyed_service_browsertest.cc b/chrome/browser/profiles/profile_keyed_service_browsertest.cc --- a/chrome/browser/profiles/profile_keyed_service_browsertest.cc +++ b/chrome/browser/profiles/profile_keyed_service_browsertest.cc -@@ -283,6 +283,17 @@ IN_PROC_BROWSER_TEST_F(ProfileKeyedServiceBrowserTest, +@@ -284,6 +284,17 @@ IN_PROC_BROWSER_TEST_F(ProfileKeyedServiceBrowserTest, "PermissionsUpdaterShutdownFactory", "PluginInfoHostImpl", "TurnSyncOnHelperShutdownNotifier", @@ -3693,7 +3693,7 @@ diff --git a/chrome/browser/profiles/profile_keyed_service_browsertest.cc b/chro }; // clang-format on -@@ -863,6 +874,13 @@ IN_PROC_BROWSER_TEST_F(ProfileKeyedServiceGuestBrowserTest, +@@ -869,6 +880,13 @@ IN_PROC_BROWSER_TEST_F(ProfileKeyedServiceGuestBrowserTest, "ZeroSuggestCacheServiceFactory", #endif // !BUILDFLAG(IS_CHROMEOS) @@ -3720,7 +3720,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. import("//chrome/browser/buildflags.gni") import("//chrome/common/features.gni") -@@ -297,6 +300,7 @@ group("dev_ui_resources") { +@@ -299,6 +302,7 @@ group("dev_ui_resources") { "predictors:resources", "privacy_sandbox/internals:resources", "usb_internals:resources", @@ -3728,7 +3728,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. "//components/commerce/core/internals/resources", "//components/data_sharing/data_sharing_internals/resources", "//components/download/resources/download_internals:resources", -@@ -366,6 +370,7 @@ repack("dev_ui_paks") { +@@ -373,6 +377,7 @@ repack("dev_ui_paks") { "$root_gen_dir/chrome/predictors_resources.pak", "$root_gen_dir/chrome/privacy_sandbox_internals_resources.pak", "$root_gen_dir/chrome/usb_internals_resources.pak", @@ -3812,7 +3812,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn import("//build/config/buildflags_paint_preview.gni") import("//build/config/compiler/compiler.gni") -@@ -408,6 +411,7 @@ static_library("ui") { +@@ -399,6 +402,7 @@ static_library("ui") { "//chrome/services/media_gallery_util/public/mojom", "//components/access_code_cast/common:metrics", "//components/account_id", @@ -3871,7 +3871,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/ui/tab_helpers.h" -@@ -102,6 +106,8 @@ +@@ -105,6 +109,8 @@ #include "chrome/common/chrome_features.h" #include "chrome/common/chrome_isolated_world_ids.h" #include "chrome/common/chrome_switches.h" @@ -3880,7 +3880,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "components/autofill/content/browser/content_autofill_client.h" #include "components/autofill/content/browser/content_autofill_driver_factory.h" #include "components/autofill/core/browser/foundations/browser_autofill_manager.h" -@@ -342,6 +348,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -344,6 +350,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { optimization_guide_decider); } } @@ -3893,7 +3893,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc autofill::AutofillClientProvider& autofill_client_provider = autofill::AutofillClientProviderFactory::GetForProfile(profile); autofill_client_provider.CreateClientForWebContents(web_contents); -@@ -379,6 +391,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -385,6 +397,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { ip_protection::IpProtectionStatus::CreateForWebContents(web_contents); } #endif // BUILDFLAG(IS_ANDROID) @@ -3914,7 +3914,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni import("//ash/ambient/resources/resources.gni") import("//build/config/chrome_build.gni") -@@ -126,6 +129,7 @@ template("chrome_extra_paks") { +@@ -125,6 +128,7 @@ template("chrome_extra_paks") { "$root_gen_dir/chrome/connectors_internals_resources.pak", "$root_gen_dir/chrome/saved_tab_groups_unsupported_resources.pak", "$root_gen_dir/chrome/segmentation_internals_resources.pak", @@ -3922,7 +3922,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni "$root_gen_dir/components/autofill/core/browser/geo/autofill_address_rewriter_resources.pak", "$root_gen_dir/components/autofill_and_password_manager_internals_resources.pak", "$root_gen_dir/components/chrome_urls_resources.pak", -@@ -164,6 +168,7 @@ template("chrome_extra_paks") { +@@ -163,6 +167,7 @@ template("chrome_extra_paks") { "//chrome/browser/resources/connectors_internals:resources", "//chrome/browser/resources/saved_tab_groups_unsupported:resources", "//chrome/common:resources", @@ -3956,7 +3956,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn import("//build/cipd/cipd.gni") import("//build/config/buildflags_paint_preview.gni") -@@ -1851,6 +1854,7 @@ if (is_android) { +@@ -1879,6 +1882,7 @@ if (is_android) { "//chrome/test/data/webui:browser_tests", "//chrome/test/data/webui:interactive_ui_tests", "//chrome/test/data/webui:resources", @@ -3964,7 +3964,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/autofill/content/browser:test_support", "//components/autofill/content/renderer:test_support", "//components/autofill/core/common", -@@ -2500,6 +2504,7 @@ if (!is_android) { +@@ -2536,6 +2540,7 @@ if (!is_android) { "//chrome/test/media_router/access_code_cast:access_code_cast_integration_base", "//chrome/test/payments:test_support", "//chrome/test/supervised_user:test_support", @@ -3972,7 +3972,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/affiliations/core/browser:affiliation_proto", "//components/affiliations/core/browser:test_support", "//components/autofill/content/browser:autofill_shared_storage_proto", -@@ -3012,6 +3017,7 @@ if (!is_android) { +@@ -3054,6 +3059,7 @@ if (!is_android) { "//chrome/test/data/cart/", "//chrome/test/data/devtools/protocol/flash_embed_test.html", "//components/test/data/ad_tagging/", @@ -3980,9 +3980,9 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/test/data/ads_observer/", "//components/test/data/autofill/", "//components/test/data/custom_handlers", -@@ -3103,6 +3109,9 @@ if (!is_android) { +@@ -3145,6 +3151,9 @@ if (!is_android) { "../browser/accessibility/live_translate_controller_browsertest.cc", - "../browser/accessibility/page_colors_browsertest.cc", + "../browser/accessibility/page_colors_controller_browsertest.cc", "../browser/accessibility/phrase_segmentation/dependency_parser_model_loader_browsertest.cc", + "../browser/adblock/test/adblock_frame_hierarchy_builder_browsertest.cc", + "../browser/adblock/test/adblock_multiple_tabs_browsertest.cc", @@ -3990,7 +3990,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "../browser/ai/ai_data_keyed_service_browsertest.cc", "../browser/attribution_reporting/chrome_attribution_browsertest.cc", "../browser/autocomplete/autocomplete_browsertest.cc", -@@ -4687,6 +4696,7 @@ if (!is_android) { +@@ -4739,6 +4748,7 @@ if (!is_android) { ] } @@ -3998,7 +3998,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn if (is_chromeos) { deps += [ "//chrome/browser/ui/webui/ash/parent_access:test_support", -@@ -6249,6 +6259,7 @@ test("unit_tests") { +@@ -6308,6 +6318,7 @@ test("unit_tests") { sources = [ # All unittests in browser, common, renderer and service. "../browser/about_flags_unittest.cc", @@ -4006,9 +4006,9 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "../browser/after_startup_task_utils_unittest.cc", "../browser/apps/icon_standardizer_unittest.cc", "../browser/apps/user_type_filter_unittest.cc", -@@ -10780,6 +10791,7 @@ if (!is_android) { - "//chrome/browser/ui/exclusive_access", +@@ -10826,6 +10837,7 @@ if (!is_android) { "//chrome/browser/ui/views/frame:toolbar_button_provider", + "//chrome/browser/ui/views/interaction", "//chrome/browser/ui/views/side_panel", + "//components/adblock/core:test_support", "//components/supervised_user/core/browser", diff --git a/build/patches/eyeo-133.0.6943.49-extension_api.patch b/build/patches/eyeo-133.0.6943.49-extension_api.patch index 83dcea83..1e1e6f4f 100644 --- a/build/patches/eyeo-133.0.6943.49-extension_api.patch +++ b/build/patches/eyeo-133.0.6943.49-extension_api.patch @@ -72,7 +72,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -828,6 +828,17 @@ source_set("extensions") { +@@ -832,6 +832,17 @@ source_set("extensions") { ] } @@ -2138,7 +2138,7 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac #include "chrome/browser/extensions/api/bookmarks/bookmarks_api.h" #include "chrome/browser/extensions/api/bookmarks/bookmarks_api_watcher.h" -@@ -29,11 +33,13 @@ +@@ -30,11 +34,13 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h" @@ -2151,8 +2151,8 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac +#include "chrome/browser/extensions/api/eyeo_filtering_private/eyeo_filtering_private_api.h" #include "chrome/browser/extensions/api/image_writer_private/operation_manager.h" #include "chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate_factory.h" - #include "chrome/browser/extensions/api/messaging/incognito_connectability.h" // nogncheck -@@ -102,6 +108,8 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { + #include "chrome/browser/extensions/api/networking_private/networking_private_ui_delegate_factory_impl.h" +@@ -103,6 +109,8 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { #if BUILDFLAG(ENABLE_EXTENSIONS) extensions::ActivityLogAPI::GetFactoryInstance(); @@ -3601,9 +3601,9 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext // This features file defines extension APIs implemented under src/chrome. // See chrome/common/extensions/api/_features.md to understand this file, as -@@ -71,6 +75,16 @@ - "dependencies": ["permission:experimentalAiData"], - "channel": "stable" +@@ -68,6 +72,16 @@ + "contexts": ["privileged_extension"], + "dependencies": ["permission:experimentalAiData"] }, + "adblockPrivate": [{ + "dependencies": ["permission:adblockPrivate"], @@ -3618,7 +3618,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext "app": { "blocklist": [ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice -@@ -543,6 +557,14 @@ +@@ -540,6 +554,14 @@ "channel": "stable", "contexts": [] }, @@ -3661,7 +3661,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com "autofillPrivate": { "channel": "trunk", "extension_types": ["extension", "platform_app"], -@@ -415,6 +426,13 @@ +@@ -407,6 +418,13 @@ // "desktop_android" is not supported. "platforms": ["chromeos", "linux", "mac", "win"] }, @@ -3873,10 +3873,10 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens import("//build/config/features.gni") import("//chrome/common/features.gni") -@@ -32,7 +35,8 @@ schema_sources_ = [ +@@ -34,7 +37,8 @@ schema_sources_ = [ "scripting.idl", "tabs.json", - "web_authentication_proxy.idl", + "web_authentication_proxy.webidl", - + "adblock_private.idl", + "eyeo_filtering_private.idl", @@ -4155,7 +4155,7 @@ diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/c diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -4151,6 +4151,20 @@ if (!is_android) { +@@ -4206,6 +4206,20 @@ if (!is_android) { ] } diff --git a/build/patches/kill-Location-fall-back-to-system.patch b/build/patches/kill-Location-fall-back-to-system.patch index 36b31f74..a3c29e0d 100644 --- a/build/patches/kill-Location-fall-back-to-system.patch +++ b/build/patches/kill-Location-fall-back-to-system.patch @@ -4,15 +4,15 @@ Subject: kill Location, fall back to system License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - services/device/geolocation/BUILD.gn | 1 - - .../device/geolocation/LocationProviderFactory.java | 11 ++--------- - services/device/public/cpp/device_features.cc | 3 ++- - 3 files changed, 4 insertions(+), 11 deletions(-) + services/device/geolocation/BUILD.gn | 1 - + .../geolocation/LocationProviderFactory.java | 20 ++----------------- + services/device/public/cpp/device_features.cc | 3 ++- + 3 files changed, 4 insertions(+), 20 deletions(-) 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 -@@ -152,7 +152,6 @@ if (is_android) { +@@ -155,7 +155,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", @@ -23,7 +23,7 @@ diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java --- a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java +++ b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java -@@ -29,19 +29,12 @@ public class LocationProviderFactory { +@@ -51,28 +51,12 @@ public class LocationProviderFactory { @CalledByNative public static void useGmsCoreLocationProvider() { @@ -38,8 +38,17 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge - && LocationProviderGmsCore.isGooglePlayServicesAvailable( - ContextUtils.getApplicationContext())) { - sProviderImpl = new LocationProviderGmsCore(ContextUtils.getApplicationContext()); +- RecordHistogram.recordEnumeratedHistogram( +- "Geolocation.AndroidLocationProvider.ProviderType", +- LocationProviderType.GMS_CORE, +- LocationProviderType.COUNT); +- - } else { - sProviderImpl = new LocationProviderAndroid(); +- RecordHistogram.recordEnumeratedHistogram( +- "Geolocation.AndroidLocationProvider.ProviderType", +- LocationProviderType.ANDROID, +- LocationProviderType.COUNT); - } + sProviderImpl = new LocationProviderAndroid(); return sProviderImpl; diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index fd9bfdb8..7388c445 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 -@@ -319,8 +319,6 @@ if (_is_default_toolchain) { +@@ -318,8 +318,6 @@ if (_is_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/sharing-hub-always-use-visible-URL.patch b/build/patches/sharing-hub-always-use-visible-URL.patch index d2212fc1..86526ce5 100644 --- a/build/patches/sharing-hub-always-use-visible-URL.patch +++ b/build/patches/sharing-hub-always-use-visible-URL.patch @@ -10,7 +10,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/share/ShareDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java -@@ -304,6 +304,7 @@ public class ShareDelegateImpl implements ShareDelegate { +@@ -314,6 +314,7 @@ public class ShareDelegateImpl implements ShareDelegate { @VisibleForTesting static boolean shouldFetchCanonicalUrl(final Tab currentTab) { diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 869d3840..3e65583c 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -14,7 +14,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 -@@ -1304,8 +1304,6 @@ static_library("browser") { +@@ -1297,8 +1297,6 @@ static_library("browser") { "profiles/incognito_mode_policy_handler.h", "profiles/off_the_record_profile_impl.cc", "profiles/off_the_record_profile_impl.h", @@ -22,11 +22,11 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn - "profiles/profile_avatar_downloader.h", "profiles/profile_destroyer.cc", "profiles/profile_destroyer.h", - "profiles/profile_downloader.cc", + "profiles/profile_impl.cc", diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc -@@ -376,12 +376,6 @@ gfx::Image ProfileAttributesEntry::GetAvatarIcon( +@@ -381,12 +381,6 @@ gfx::Image ProfileAttributesEntry::GetAvatarIcon( int size_for_placeholder_avatar, bool use_high_res_file, const PlaceholderAvatarIconParams& icon_params) const { diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index 3c7cd7d6..ae14fa77 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -6,24 +6,24 @@ Remove translate offer License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../xml/languages_detailed_preferences.xml | 43 ----------------- + .../xml/languages_detailed_preferences.xml | 42 ----------------- .../java/res/xml/languages_preferences.xml | 5 -- .../language/settings/LanguageSettings.java | 47 +------------------ .../strings/android_chrome_strings.grd | 3 -- .../core/browser/translate_manager.cc | 5 +- .../core/browser/translate_script.cc | 17 ++----- - 6 files changed, 10 insertions(+), 110 deletions(-) + 6 files changed, 10 insertions(+), 109 deletions(-) diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml b/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml --- a/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml +++ b/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml -@@ -31,47 +31,4 @@ found in the LICENSE file. +@@ -39,46 +39,4 @@ found in the LICENSE file. - @@ -37,8 +37,7 @@ diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_pre - - - @@ -68,7 +67,7 @@ diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_pre diff --git a/chrome/browser/language/android/java/res/xml/languages_preferences.xml b/chrome/browser/language/android/java/res/xml/languages_preferences.xml --- a/chrome/browser/language/android/java/res/xml/languages_preferences.xml +++ b/chrome/browser/language/android/java/res/xml/languages_preferences.xml -@@ -13,9 +13,4 @@ found in the LICENSE file. +@@ -18,9 +18,4 @@ found in the LICENSE file. android:layout="@layout/languages_preference" android:widgetLayout="@layout/accept_languages_list" /> @@ -173,7 +172,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 -@@ -1991,9 +1991,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1940,9 +1940,6 @@ Your Google account may have other forms of browsing history like searches and a Let websites know the languages you speak. They’ll show content in those languages, when possible. @@ -201,7 +200,7 @@ diff --git a/components/translate/core/browser/translate_manager.cc b/components diff --git a/components/translate/core/browser/translate_script.cc b/components/translate/core/browser/translate_script.cc --- a/components/translate/core/browser/translate_script.cc +++ b/components/translate/core/browser/translate_script.cc -@@ -126,20 +126,13 @@ void TranslateScript::OnScriptFetchComplete(bool success, +@@ -134,20 +134,13 @@ void TranslateScript::OnScriptFetchComplete(bool success, data_ = base::StringPrintf("var translateApiKey = '%s';\n", google_apis::GetAPIKey().c_str()); diff --git a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index 1c0dd856..c5f898db 100644 --- a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch +++ b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.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/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 -@@ -135,7 +135,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -139,7 +139,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string()); registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false); registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index 1f513616..845b9051 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/ui/BUILD.gn | 1 - chrome/browser/ui/android/omnibox/BUILD.gn | 2 - .../omnibox/LocationBarCoordinator.java | 2 - - .../browser/omnibox/LocationBarMediator.java | 23 -- + .../browser/omnibox/LocationBarMediator.java | 24 -- .../ui/webui/new_tab_page/new_tab_page_ui.cc | 6 - .../upgrade_detector/upgrade_detector_impl.cc | 6 - chrome/common/BUILD.gn | 2 - @@ -68,13 +68,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...gled-chromium-no-special-hosts-domains.inc | 1 + net/base/url_util.cc | 25 +- services/network/network_context.cc | 2 +- - 61 files changed, 55 insertions(+), 884 deletions(-) + 61 files changed, 55 insertions(+), 885 deletions(-) create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc 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 -@@ -103,7 +103,6 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; +@@ -102,7 +102,6 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils; import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordinator; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; @@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; -@@ -1227,10 +1226,8 @@ public class RootUiCoordinator +@@ -1225,10 +1224,8 @@ public class RootUiCoordinator Profile profile = tab.getProfile(); TemplateUrlService service = TemplateUrlServiceFactory.getForProfile(profile); String url = service.getUrlForSearchQuery(query); @@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -934,10 +934,6 @@ static_library("browser") { +@@ -932,10 +932,6 @@ static_library("browser") { "page_info/privacy_policy_insights_service_factory.h", "page_load_metrics/observers/bookmark_bar_page_load_metrics_observer.cc", "page_load_metrics/observers/bookmark_bar_page_load_metrics_observer.h", @@ -107,7 +107,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/core/amp_page_load_metrics_observer.cc", "page_load_metrics/observers/core/amp_page_load_metrics_observer.h", "page_load_metrics/observers/core/ukm_page_load_metrics_observer.cc", -@@ -946,10 +942,6 @@ static_library("browser") { +@@ -944,10 +940,6 @@ static_library("browser") { "page_load_metrics/observers/document_write_page_load_metrics_observer.h", "page_load_metrics/observers/foreground_duration_ukm_observer.cc", "page_load_metrics/observers/foreground_duration_ukm_observer.h", @@ -118,7 +118,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/histogram_suffixes.cc", "page_load_metrics/observers/histogram_suffixes.h", "page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer.cc", -@@ -1567,8 +1559,6 @@ static_library("browser") { +@@ -1536,8 +1528,6 @@ static_library("browser") { "supervised_user/supervised_user_browser_utils.h", "supervised_user/supervised_user_content_filters_service_factory.cc", "supervised_user/supervised_user_content_filters_service_factory.h", @@ -127,7 +127,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "supervised_user/supervised_user_interstitial_tab_closer.cc", "supervised_user/supervised_user_interstitial_tab_closer.h", "supervised_user/supervised_user_metrics_service_factory.cc", -@@ -1756,10 +1746,7 @@ static_library("browser") { +@@ -1723,10 +1713,7 @@ static_library("browser") { "//chrome/browser/content_settings:impl", "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -138,7 +138,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/ip_protection", "//chrome/browser/media/webrtc", "//chrome/browser/navigation_predictor:impl", -@@ -1884,7 +1871,6 @@ static_library("browser") { +@@ -1856,7 +1843,6 @@ static_library("browser") { # New dependencies inside of //chrome/browser that generate header files # should be added to browser_generated_files. ":browser_public_dependencies", @@ -169,7 +169,7 @@ diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browse 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 -@@ -1264,7 +1264,6 @@ BrowserProcessImpl::component_updater() { +@@ -1261,7 +1261,6 @@ BrowserProcessImpl::component_updater() { std::make_unique(); std::string brand; @@ -180,7 +180,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro 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 -@@ -460,11 +460,6 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -455,11 +455,6 @@ void ProcessSingletonNotificationCallbackImpl( StartupBrowserCreator::ProcessCommandLineAlreadyRunning( command_line, current_directory, startup_profile_path_info); @@ -192,7 +192,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows } #endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON) -@@ -1723,11 +1718,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1732,11 +1727,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { upgrade_util::SaveLastModifiedTimeOfExe(); #endif @@ -207,7 +207,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/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 -@@ -2966,7 +2966,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -3099,7 +3099,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( switches::kForceAppMode, #endif switches::kForceUIDirection, @@ -215,7 +215,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch switches::kJavaScriptHarmony, switches::kEnableExperimentalWebAssemblyFeatures, embedder_support::kOriginTrialDisabledFeatures, -@@ -5708,7 +5707,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { +@@ -5857,7 +5856,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { } #endif @@ -225,7 +225,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(IS_ANDROID) const std::string& client_data_header, #endif -@@ -5748,7 +5748,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( +@@ -5897,7 +5897,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( std::move(bound_session_request_throttled_handler), #endif std::move(dynamic_params)); @@ -234,7 +234,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch std::vector> ChromeContentBrowserClient::CreateURLLoaderThrottles( -@@ -5805,15 +5805,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -5954,15 +5954,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( GetClientDataHeader(frame_tree_node_id); #endif @@ -250,7 +250,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch { auto* factory = ProtocolHandlerRegistryFactory::GetForBrowserContext(browser_context); -@@ -5858,20 +5849,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( +@@ -6007,20 +5998,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( Profile* profile = Profile::FromBrowserContext(browser_context); DCHECK(profile); @@ -362,7 +362,7 @@ diff --git a/chrome/browser/enterprise/connectors/device_trust/key_management/br diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -521,7 +521,6 @@ source_set("extensions") { +@@ -527,7 +527,6 @@ source_set("extensions") { "//chrome/browser/extensions:cws_item_service_proto", "//chrome/browser/extensions/api:api_registration", "//chrome/browser/favicon", @@ -406,7 +406,7 @@ diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log diff --git a/chrome/browser/first_run/first_run.cc b/chrome/browser/first_run/first_run.cc --- a/chrome/browser/first_run/first_run.cc +++ b/chrome/browser/first_run/first_run.cc -@@ -296,14 +296,6 @@ void SetupInitialPrefsFromInstallPrefs( +@@ -497,14 +497,6 @@ void SetupInitialPrefsFromInstallPrefs( // -- Platform-specific functions -- @@ -445,7 +445,7 @@ diff --git a/chrome/browser/google/BUILD.gn b/chrome/browser/google/BUILD.gn diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/chrome/browser/long_screenshots/long_screenshots_tab_service.cc --- a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc +++ b/chrome/browser/long_screenshots/long_screenshots_tab_service.cc -@@ -36,13 +36,11 @@ constexpr size_t kMaxPerCaptureSizeBytes = 50 * 1000L * 1000L; // 50 MB. +@@ -37,13 +37,11 @@ constexpr size_t kMaxPerCaptureSizeBytes = 50 * 1000L * 1000L; // 50 MB. // Host/regex pattern for Google AMP Cache URLs. // See https://developers.google.com/amp/cache/overview#amp-cache-url-format // for a definition of the format of AMP Cache URLs. @@ -459,7 +459,7 @@ diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/c const char kGoogleNewsPathPattern[] = "/articles/(.*)"; } // namespace -@@ -231,26 +229,6 @@ bool LongScreenshotsTabService::IsAmpUrl(const GURL& url) { +@@ -242,26 +240,6 @@ bool LongScreenshotsTabService::IsAmpUrl(const GURL& url) { return false; } @@ -489,7 +489,7 @@ diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/c diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -618,7 +618,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { +@@ -620,7 +620,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { } bool ChromeMetricsServiceClient::GetBrand(std::string* brand_code) { @@ -620,7 +620,7 @@ diff --git a/chrome/browser/metrics/metrics_reporting_state.cc b/chrome/browser/ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -931,7 +931,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -927,7 +927,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { variations::UpdateCorsExemptHeaderForVariations(network_context_params); @@ -631,7 +631,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows diff --git a/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc b/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc --- a/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc +++ b/chrome/browser/new_tab_page/one_google_bar/one_google_bar_loader_impl.cc -@@ -329,10 +329,11 @@ void OneGoogleBarLoaderImpl::SetAdditionalQueryParams( +@@ -324,10 +324,11 @@ void OneGoogleBarLoaderImpl::SetAdditionalQueryParams( } GURL OneGoogleBarLoaderImpl::GetApiUrl() const { @@ -675,7 +675,7 @@ diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metri diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc --- a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc +++ b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -168,14 +168,9 @@ void PageLoadMetricsEmbedder::RegisterObservers( +@@ -170,14 +170,9 @@ void PageLoadMetricsEmbedder::RegisterObservers( tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); @@ -717,7 +717,7 @@ diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browse 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 -@@ -24,7 +24,6 @@ static_library("safe_browsing") { +@@ -27,7 +27,6 @@ static_library("safe_browsing") { "//build:branding_buildflags", "//chrome/app:generated_resources", "//chrome/browser:browser_process", @@ -775,7 +775,7 @@ diff --git a/chrome/browser/signin/android/signin_manager_android.cc b/chrome/br 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 -@@ -303,7 +303,6 @@ static_library("ui") { +@@ -289,7 +289,6 @@ static_library("ui") { "//chrome/browser/feedback:feedback_impl", "//chrome/browser/file_system_access", "//chrome/browser/fingerprinting_protection", @@ -792,21 +792,21 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr "java/src/org/chromium/chrome/browser/omnibox/UrlFocusChangeListener.java", - "java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java", - "java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationTracker.java", - "java/src/org/chromium/chrome/browser/omnibox/status/PageInfoIphController.java", - "java/src/org/chromium/chrome/browser/omnibox/status/StatusCoordinator.java", - "java/src/org/chromium/chrome/browser/omnibox/status/StatusIconView.java", + "java/src/org/chromium/chrome/browser/omnibox/navattach/AttachmentDetailsFetcher.java", + "java/src/org/chromium/chrome/browser/omnibox/navattach/ComposeBoxQueryControllerBridge.java", + "java/src/org/chromium/chrome/browser/omnibox/navattach/NavigationAttachmentItemProperties.java", 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 -@@ -37,7 +37,6 @@ import org.chromium.chrome.browser.lifecycle.NativeInitObserver; +@@ -36,7 +36,6 @@ import org.chromium.chrome.browser.lifecycle.NativeInitObserver; import org.chromium.chrome.browser.locale.LocaleManager; import org.chromium.chrome.browser.merchant_viewer.MerchantTrustSignalsCoordinator; import org.chromium.chrome.browser.omnibox.LocationBarMediator.OmniboxUma; -import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; + import org.chromium.chrome.browser.omnibox.navattach.NavigationAttachmentsCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator.PageInfoAction; - import org.chromium.chrome.browser.omnibox.status.StatusView; -@@ -407,7 +406,6 @@ public class LocationBarCoordinator +@@ -435,7 +434,6 @@ public class LocationBarCoordinator mLocationBarMediator.destroy(); mLocationBarMediator = null; @@ -817,7 +817,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/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -58,7 +58,6 @@ import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver; +@@ -59,7 +59,6 @@ import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver; import org.chromium.chrome.browser.locale.LocaleManager; import org.chromium.chrome.browser.omnibox.UrlBar.UrlBarDelegate; import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState; @@ -825,28 +825,30 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; -@@ -317,20 +316,6 @@ class LocationBarMediator +@@ -332,22 +331,6 @@ class LocationBarMediator if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(hasFocus); - if (hasFocus - && mLocationBarDataProvider.hasTab() - && !mLocationBarDataProvider.isIncognito()) { -- if (mTemplateUrlServiceSupplier.hasValue()) { +- TemplateUrlService templateUrlService = mTemplateUrlServiceSupplier.get(); +- if (templateUrlService != null) { - GeolocationHeader.primeLocationForGeoHeaderIfEnabled( -- mProfileSupplier.get(), mTemplateUrlServiceSupplier.get()); +- mProfileSupplier.get(), templateUrlService); - } else { - mTemplateUrlServiceSupplier.onAvailable( -- (templateUrlService) -> { +- (service) -> { - GeolocationHeader.primeLocationForGeoHeaderIfEnabled( -- mProfileSupplier.get(), templateUrlService); +- mProfileSupplier.get(), service); - }); - } +- hintZeroSuggestRefresh(); - } // Focus change caused by a closed tab may result in there not being an active tab. if (!hasFocus && mLocationBarDataProvider.hasTab()) { setUrl( mLocationBarDataProvider.getCurrentGurl(), -@@ -345,8 +330,6 @@ class LocationBarMediator +@@ -362,8 +345,6 @@ class LocationBarMediator mCallbackController.makeCancelable( (templateUrlService) -> { templateUrlService.addObserver(this); @@ -855,7 +857,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow })); mLocationBarLayout.onFinishNativeInitialization(); -@@ -605,9 +588,6 @@ class LocationBarMediator +@@ -625,9 +606,6 @@ class LocationBarMediator LoadUrlParams loadUrlParams = new LoadUrlParams(url); try (TimingMetric record = TimingMetric.shortUptime("Android.Omnibox.SetGeolocationHeadersTime")) { @@ -865,16 +867,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } loadUrlParams.setTransitionType( omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR); -@@ -1703,8 +1683,6 @@ class LocationBarMediator +@@ -1787,7 +1765,6 @@ class LocationBarMediator if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() - && mProfileSupplier.hasValue() - && mTemplateUrlServiceSupplier.hasValue()) { -- GeolocationHeader.primeLocationForGeoHeaderIfEnabled( -- mProfileSupplier.get(), mTemplateUrlServiceSupplier.get()); + && profile != null + && templateUrlService != null) { +- GeolocationHeader.primeLocationForGeoHeaderIfEnabled(profile, templateUrlService); } } -@@ -1712,7 +1690,6 @@ class LocationBarMediator +@@ -1795,7 +1772,6 @@ class LocationBarMediator public void onPauseWithNative() { OmniboxFeatures.updateLastExitTimestamp(); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled()) { @@ -885,7 +886,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc --- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc +++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc -@@ -570,12 +570,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { +@@ -611,12 +611,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { // chrome-untrusted://new-tab-page for other external content and resources. // NOTE: Use caution when overriding content security policies as that cean // lead to subtle security bugs such as https://crbug.com/1251541. @@ -917,7 +918,7 @@ diff --git a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc b/chrome/b diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -138,8 +138,6 @@ static_library("common_lib") { +@@ -139,8 +139,6 @@ static_library("common_lib") { "content_restriction.h", "crash_keys.cc", "crash_keys.h", @@ -963,7 +964,7 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6830,7 +6830,6 @@ test("unit_tests") { +@@ -6882,7 +6882,6 @@ test("unit_tests") { "//chrome/browser/file_system_access:unit_tests", "//chrome/browser/fingerprinting_protection", "//chrome/browser/first_party_sets", @@ -1681,7 +1682,7 @@ diff --git a/components/search_engines/search_terms_data.cc b/components/search_ diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc -@@ -607,11 +607,7 @@ std::u16string TemplateURLRef::SearchTermToString16( +@@ -608,11 +608,7 @@ std::u16string TemplateURLRef::SearchTermToString16( bool TemplateURLRef::HasGoogleBaseURLs( const SearchTermsData& search_terms_data) const { @@ -1747,7 +1748,7 @@ diff --git a/components/search_provider_logos/logo_service_impl.cc b/components/ diff --git a/components/url_matcher/url_util.cc b/components/url_matcher/url_util.cc --- a/components/url_matcher/url_util.cc +++ b/components/url_matcher/url_util.cc -@@ -42,27 +42,15 @@ namespace { +@@ -37,27 +37,15 @@ namespace { // Host/regex pattern for Google AMP Cache URLs. // See https://developers.google.com/amp/cache/overview#amp-cache-url-format // for a definition of the format of AMP Cache URLs. @@ -1775,7 +1776,7 @@ diff --git a/components/url_matcher/url_util.cc b/components/url_matcher/url_uti void ProcessQueryToConditions( url_matcher::URLMatcherConditionFactory* condition_factory, const std::string& query, -@@ -120,87 +108,10 @@ class EmbeddedURLExtractor { +@@ -115,87 +103,10 @@ class EmbeddedURLExtractor { // Implements url_filter::GetEmbeddedURL(). GURL GetEmbeddedURL(const GURL& url) { @@ -1922,7 +1923,7 @@ diff --git a/net/base/url_util.cc b/net/base/url_util.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -3077,7 +3077,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -3090,7 +3090,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( } #endif // BUILDFLAG(IS_CT_SUPPORTED) 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 abf348eb..17489eb2 100644 --- a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch +++ b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch @@ -18,7 +18,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 -@@ -129,7 +129,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -133,7 +133,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, @@ -45,7 +45,7 @@ diff --git a/third_party/blink/common/peerconnection/webrtc_ip_handling_policy.c diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc --- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc +++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc -@@ -1085,7 +1085,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -1046,7 +1046,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( break; }