From f81c2de32c70b1ff992bd1a10ad1a3e1da028885 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sun, 27 Apr 2025 15:43:00 +0200 Subject: [PATCH] Patches for v136 --- .../AImageReader-CFI-crash-mitigations.patch | 14 +- .../Add-AllowUserCertificates-flag.patch | 18 +- ...dd-Alt-D-hotkey-to-focus-address-bar.patch | 2 +- ...tialLowEndModeOnMidRangeDevices-flag.patch | 16 +- .../Add-a-flag-to-disable-GamePad-API.patch | 4 +- .../Add-a-proxy-configuration-page.patch | 12 +- .../Add-bookmark-import-export-actions.patch | 76 +- build/patches/Add-cromite-flags-support.patch | 139 +- ...dd-custom-tab-intents-privacy-option.patch | 24 +- build/patches/Add-exit-menu-item.patch | 12 +- ...g-for-omnibox-autocomplete-filtering.patch | 2 +- .../Add-flag-to-disable-IPv6-probes.patch | 6 +- ...-to-disable-external-intent-requests.patch | 10 +- .../Add-flag-to-disable-vibration.patch | 2 +- ...-switch-for-unsupported-clangd-flags.patch | 12 +- .../Add-menu-item-to-view-source.patch | 12 +- .../Add-option-to-disable-snapshots.patch | 22 +- .../Add-option-to-force-tablet-UI.patch | 60 +- ...-to-not-persist-tabs-across-sessions.patch | 12 +- .../Add-option-to-use-home-page-as-NTP.patch | 20 +- ...d-setting-to-invert-tap-and-long-tap.patch | 80 +- build/patches/Add-site-engagement-flag.patch | 2 +- ...-support-for-ISupportHelpAndFeedback.patch | 18 +- build/patches/Add-support-to-jxl.patch | 28 +- build/patches/Add-webGL-site-setting.patch | 8 +- ...PiP-if-PopupsAndRedirects-are-active.patch | 2 +- ...ow-building-without-enable_reporting.patch | 24 +- ...ow-building-without-supervised-users.patch | 40 +- .../Allow-playing-audio-in-background.patch | 4 +- ...ays-open-browser-controls-in-new-tab.patch | 12 +- ...e-new-tab-page-for-default-home-page.patch | 2 +- ...roid-fonts-fingerprinting-mitigation.patch | 22 +- ...Ask-for-restart-on-connection-change.patch | 36 +- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 10 +- ...Block-gateway-attacks-via-websockets.patch | 8 +- ...k-leakage-of-urls-in-sandbox-iframes.patch | 4 +- .../Block-qjz9zk-or-trk-requests.patch | 10 +- .../Bookmarks-select-all-menu-entry.patch | 2 +- build/patches/Bromite-auto-updater.patch | 20 +- .../Bromite-subresource-adblocker.patch | 20 +- .../Bubble-Locking-on-UI-DevTools.patch | 6 +- .../patches/Chrome-web-store-protection.patch | 171 ++- ...ORS-Preflight-Cache-on-clearing-data.patch | 4 +- build/patches/Client-hints-overrides.patch | 26 +- .../patches/Close-Sessions-On-Ip-Change.patch | 2 +- .../Content-settings-infrastructure.patch | 308 ++--- ...romite-Branding--improve-settings-ui.patch | 6 +- build/patches/Cromite-Branding.patch | 22 +- build/patches/Customize-selection-popup.patch | 12 +- ...ctionary-suggestions-for-the-Omnibox.patch | 2 +- ...ble-Accessibility-service-by-default.patch | 2 +- .../Disable-Android-AppRestrictions.patch | 8 +- .../Disable-Android-Tab-Declutter.patch | 8 +- build/patches/Disable-Compose-feature.patch | 8 +- ...ble-Compression-Dictionary-Transport.patch | 2 +- build/patches/Disable-FedCm.patch | 2 +- build/patches/Disable-GSA-by-default.patch | 56 +- .../Disable-GetInstalledRelatedApps-API.patch | 10 +- .../Disable-Paint-Preview-by-default.patch | 2 +- build/patches/Disable-PrivacyGuide.patch | 2 +- build/patches/Disable-Real-Box.patch | 6 +- build/patches/Disable-WebGPU.patch | 2 +- .../patches/Disable-all-predictors-code.patch | 82 +- build/patches/Disable-all-promo-dialogs.patch | 30 +- .../Disable-conversion-measurement-api.patch | 59 +- build/patches/Disable-crash-reporting.patch | 8 +- ...Disable-fetching-of-all-field-trials.patch | 32 +- ...media-router-and-remoting-by-default.patch | 4 +- .../Disable-omission-of-URL-elements.patch | 10 +- .../patches/Disable-plugins-enumeration.patch | 2 +- ...ers-reduced-transparency-media-query.patch | 39 +- ...e-privacy-issues-in-password-manager.patch | 6 +- build/patches/Disable-privacy-sandbox.patch | 50 +- ...e-references-to-fonts.googleapis.com.patch | 2 +- build/patches/Disable-safety-check.patch | 31 +- .../Disable-smart-selection-by-default.patch | 6 +- ...isable-some-signed-exchange-features.patch | 2 +- ...isable-speechSynthesis-getVoices-API.patch | 2 +- .../Disable-text-fragments-by-default.patch | 6 +- .../Disable-third-party-origin-trials.patch | 10 +- build/patches/Disable-various-metrics.patch | 20 +- ...allow-Android-App-Scheme-as-referrer.patch | 2 +- .../Do-not-build-API-keys-infobar.patch | 2 +- .../Do-not-compile-QR-code-sharing.patch | 8 +- .../patches/Do-not-link-with-libatomic.patch | 2 +- .../Do-not-store-passwords-by-default.patch | 6 +- build/patches/DoH-improvements.patch | 10 +- ...ndroid-Dynamic-Performance-Framework.patch | 2 +- build/patches/Enable-Cert-Management-UI.patch | 2 +- .../Enable-Certificate-Transparency.patch | 6 +- ...le-Document-Open-Inheritance-Removal.patch | 4 +- .../Enable-Global-Privacy-Control.patch | 32 +- ...Enable-HighEfficiencyMode-by-default.patch | 8 +- .../Enable-ImprovedBookmarks-by-default.patch | 6 +- ...cessBoundStringEncryption-by-default.patch | 6 +- ...ctOriginIsolation-and-SitePerProcess.patch | 4 +- build/patches/Enable-component-updater.patch | 12 +- ...e-darken-websites-checkbox-in-themes.patch | 2 +- .../patches/Enable-gwp-asan-on-Android.patch | 8 +- .../Enable-menu-on-reload-button.patch | 4 +- .../Enable-native-Android-autofill.patch | 66 +- .../Enable-network-isolation-features.patch | 14 +- ...le-platform-aac-audio-and-h264-video.patch | 4 +- ...le-search-engine-settings-desktop-ui.patch | 104 +- build/patches/Enable-share-intent.patch | 30 +- ...ivation-of-the-js-debugger-statement.patch | 22 +- .../Experimental-user-scripts-support.patch | 48 +- build/patches/Eyeo-Adblock-for-Cromite.patch | 32 +- build/patches/Fix-chromium-build-bugs.patch | 12 +- build/patches/Fix-chromium-vanilla.patch | 2 +- .../Fonts-fingerprinting-mitigation.patch | 11 +- .../Guard-for-user-agent-reduction.patch | 23 +- ...ing-against-incognito-mode-detection.patch | 10 +- ...story-number-of-days-privacy-setting.patch | 52 +- ...e-enterprise-policies-for-secure-DNS.patch | 28 +- ...number-of-autocomplete-matches-to-10.patch | 2 +- build/patches/Internal-firewall.patch | 34 +- build/patches/JIT-site-settings.patch | 4 +- .../Keep-ComputePressure-disabled.patch | 2 +- .../patches/Keep-disabled-FetchLaterAPI.patch | 14 +- .../Keep-empty-tabs-between-sessions.patch | 4 +- ...-allow-screenshots-in-Incognito-mode.patch | 4 +- build/patches/Keyboard-protection-flag.patch | 12 +- .../Lock-Profile-Cookie-Database.patch | 6 +- ...ing-attributes-in-some-html-elements.patch | 12 +- build/patches/Logcat-crash-reports-UI.patch | 2 +- .../Media-fingerprinting-mitigations.patch | 2 +- .../patches/Modify-default-preferences.patch | 12 +- .../Move-navigation-bar-to-bottom.patch | 273 ++-- ...nt-settings-back-to-privacy-settings.patch | 16 +- .../Multiple-fingerprinting-mitigations.patch | 128 +- build/patches/OpenSearch-miscellaneous.patch | 8 +- .../patches/Partition-HSTS-cache-by-NAK.patch | 64 +- .../Partition-MediaDeviceId-by-default.patch | 2 +- ...ning-all-cookies-by-top-frame-domain.patch | 34 +- ...vate-network-access-content-settings.patch | 8 +- ...redential-fingerprinting-mitigations.patch | 10 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 8 +- ...e-introduce-override_build_timestamp.patch | 4 +- .../Remove-ChromiumNetworkAdapter.patch | 2 +- ...referrals-in-cross-origin-navigation.patch | 36 +- ...th-header-upon-cross-origin-redirect.patch | 2 +- .../Remove-binary-blob-integrations.patch | 1229 +++++++---------- ...cklisted-URLs-upon-bookmark-creation.patch | 14 +- .../Remove-detection-of-captive-portals.patch | 4 +- build/patches/Remove-help-menu-item.patch | 26 +- .../Remove-segmentation-platform.patch | 2 +- ...t-for-device-memory-and-cpu-recovery.patch | 8 +- ...Remove-voice-recognition-integration.patch | 84 +- ...ndow-name-on-cross-origin-navigation.patch | 4 +- ...ore-BookmarkToolbar-setCurrentFolder.patch | 4 +- .../Restore-LastTabStandingTracker.patch | 8 +- .../Restore-Search-Ready-Omnibox-flag.patch | 6 +- .../Restore-Simplified-NTP-launch.patch | 48 +- ...-button-in-top-toolbar-customization.patch | 104 +- .../Restore-chrome-password-store.patch | 10 +- .../Restore-offline-indicator-v2-flag.patch | 8 +- ...evert-Permit-blocking-of-view-source.patch | 4 +- ...emove-disable-pull-to-refresh-effect.patch | 8 +- ...l-of-execution-context-address-space.patch | 58 +- ...script-content-setting-secondary-url.patch | 14 +- ...-Note-9-SDK27-crazylinker-workaround.patch | 2 +- build/patches/Show-NTP-at-startup.patch | 10 +- ...tings-for-cookies-javascript-and-ads.patch | 12 +- build/patches/Site-setting-for-images.patch | 20 +- ...-Add-a-log-to-track-strange-behavior.patch | 2 +- ...e-experimental-web-platform-features.patch | 2 +- ...arily-disable-Tab-Group-Sync-Android.patch | 8 +- build/patches/Timezone-customization.patch | 14 +- .../patches/Use-BoringSSL-for-RandBytes.patch | 2 +- .../Use-browser-navigation-handler.patch | 4 +- .../Use-list-mode-for-tab-switcher.patch | 12 +- build/patches/User-agent-customization.patch | 54 +- build/patches/Viewport-Protection-flag.patch | 34 +- build/patches/WIN-Disable-updater.patch | 2 +- build/patches/WIN-enable-pdf-plugin.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 10 +- build/patches/add-browser-policy.patch | 32 +- build/patches/autofill-miscellaneous.patch | 75 +- build/patches/bromite-build-utils.patch | 2 +- .../disable-WebView-variations-support.patch | 35 +- ...ot-block-build-incompatible-profiles.patch | 2 +- .../exit-on-failure-of-inclusion.patch | 2 +- .../eyeo-133.0.6943.49-android_api.patch | 14 +- .../eyeo-133.0.6943.49-android_settings.patch | 2 +- build/patches/eyeo-133.0.6943.49-base.patch | 92 +- ...yeo-133.0.6943.49-chrome_integration.patch | 78 +- .../eyeo-133.0.6943.49-extension_api.patch | 19 +- .../kill-Location-fall-back-to-system.patch | 8 +- ...gled-chromium-Disable-profile-avatar.patch | 2 +- ...romium-Disable-translate-integration.patch | 2 +- ...ed-chromium-Disable-untraceable-URLs.patch | 2 +- ...chromium-Disable-webRTC-log-uploader.patch | 2 +- ...ed-chromium-no-special-hosts-domains.patch | 76 +- ...RTC-do-not-expose-local-IP-addresses.patch | 2 +- ...iew-Hard-no-to-persistent-histograms.patch | 2 +- 196 files changed, 2615 insertions(+), 2851 deletions(-) diff --git a/build/patches/AImageReader-CFI-crash-mitigations.patch b/build/patches/AImageReader-CFI-crash-mitigations.patch index 438fb642..66f9d6d1 100644 --- a/build/patches/AImageReader-CFI-crash-mitigations.patch +++ b/build/patches/AImageReader-CFI-crash-mitigations.patch @@ -90,10 +90,10 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -3268,6 +3268,10 @@ - "name": "enable-identity-in-auth-error", - "owners": [ "jlebel@chromium.org", "chrome-signin-team@google.com" ], - "expiry_milestone": 135 +@@ -3344,6 +3344,10 @@ + "chrome-signin-team@google.com" + ], + "expiry_milestone": 138 + },{ + "name": "enable-image-reader", // Bromite: do not expire + "owners": [ "vikassoni@chromium.org", "liberato@chromium.org" ], // flag @@ -119,7 +119,7 @@ new file mode 100644 diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json --- a/gpu/config/gpu_driver_bug_list.json +++ b/gpu/config/gpu_driver_bug_list.json -@@ -2593,6 +2593,22 @@ +@@ -2597,6 +2597,22 @@ "no_downscaled_overlay_promotion" ] }, @@ -171,7 +171,7 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc --- a/gpu/config/gpu_util.cc +++ b/gpu/config/gpu_util.cc -@@ -126,6 +126,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus( +@@ -127,6 +127,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus( #if !BUILDFLAG(IS_ANDROID) return kGpuFeatureStatusDisabled; #else @@ -215,7 +215,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc #endif #if BUILDFLAG(ENABLE_VULKAN) -@@ -692,6 +693,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, +@@ -688,6 +689,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, } #endif // BUILDFLAG(IS_WIN) diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index a985da37..187285e9 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 -@@ -227,6 +227,7 @@ import org.chromium.content_public.browser.LoadUrlParams; +@@ -228,6 +228,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; -@@ -969,6 +970,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -984,6 +985,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 -@@ -160,6 +160,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -163,6 +163,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedPerformanceStudy, &feed::kFeedShowSignInCommand, &feed::kFeedSignedOutViewDemotion, @@ -59,16 +59,16 @@ 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 ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 = -@@ -643,6 +644,8 @@ public abstract class ChromeFeatureList { - public static final CachedFlag sAndroidMinimalUiLargeScreen = - newCachedFlag(ANDROID_MINIMAL_UI_LARGE_SCREEN, false); +@@ -641,6 +642,8 @@ public abstract class ChromeFeatureList { + public static final CachedFlag sAndroidWindowPopupLargeScreen = + newCachedFlag(ANDROID_WINDOW_POPUP_LARGE_SCREEN, false); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); + public static final CachedFlag sAllowUserCertificates = + newCachedFlag(ALLOW_USER_CERTIFICATES, false); public static final CachedFlag sAsyncNotificationManager = newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true); public static final CachedFlag sAsyncNotificationManagerForDownload = -@@ -878,6 +881,7 @@ public abstract class ChromeFeatureList { +@@ -858,6 +861,7 @@ public abstract class ChromeFeatureList { public static final List sFlagsCachedFullBrowserChromium = List.of( sAndroidAppIntegration, @@ -111,7 +111,7 @@ new file mode 100644 diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java --- a/net/android/java/src/org/chromium/net/X509Util.java +++ b/net/android/java/src/org/chromium/net/X509Util.java -@@ -542,6 +542,8 @@ public class X509Util { +@@ -537,6 +537,8 @@ public class X509Util { return userRootBytes.toArray(new byte[0][]); } @@ -120,7 +120,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j public static AndroidCertVerifyResult verifyServerCertificates( byte[][] certChain, String authType, -@@ -642,6 +644,9 @@ public class X509Util { +@@ -637,6 +639,9 @@ public class X509Util { X509Certificate root = verifiedChain.get(verifiedChain.size() - 1); isIssuedByKnownRoot = isKnownRoot(root); } 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 a06517b9..84a7969d 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,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/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 -@@ -472,6 +472,8 @@ public class KeyboardShortcuts { +@@ -628,6 +628,8 @@ public class KeyboardShortcuts { R.string.keyboard_shortcut_address_bar, KeyEvent.KEYCODE_L, KeyEvent.META_CTRL_ON); diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index 930853b7..aff9a9e3 100644 --- a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch +++ b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch @@ -7,15 +7,14 @@ adds a new flag in chrome://flags to re-enable the experiment License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- base/features.cc | 4 ++++ - chrome/browser/about_flags.cc | 1 + .../Add-PartialLowEndModeOnMidRangeDevices-flag.inc | 12 ++++++++++++ - 3 files changed, 17 insertions(+) + 2 files changed, 16 insertions(+) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc diff --git a/base/features.cc b/base/features.cc --- a/base/features.cc +++ b/base/features.cc -@@ -120,6 +120,10 @@ BASE_FEATURE(kPostGetMyMemoryStateToBackground, +@@ -125,6 +125,10 @@ BASE_FEATURE(kPostGetMyMemoryStateToBackground, FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) @@ -26,17 +25,6 @@ diff --git a/base/features.cc b/base/features.cc void Init(EmitThreadControllerProfilerMetadata emit_thread_controller_profiler_metadata) { sequence_manager::internal::SequenceManagerImpl::InitializeFeatures(); -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 -@@ -22,6 +22,7 @@ - #include "base/base_switches.h" - #include "base/command_line.h" - #include "base/feature_list.h" -+#include "base/features.h" - #include "base/functional/bind.h" - #include "base/functional/callback.h" - #include "base/i18n/base_i18n_switches.h" diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc new file mode 100644 --- /dev/null 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 1e7793a9..d0cc5837 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 -@@ -7693,9 +7693,9 @@ +@@ -7921,9 +7921,9 @@ "expiry_milestone": 140 }, { @@ -32,7 +32,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js 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() { +@@ -257,6 +257,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { raw_ref(features::kPeriodicBackgroundSync)}, {wf::EnablePushMessagingSubscriptionChange, raw_ref(features::kPushSubscriptionChangeEvent)}, diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index e4b8838c..5e69a048 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 -@@ -81,6 +81,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -79,6 +79,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 -@@ -333,6 +333,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -335,6 +335,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { builtins_to_provide.push_back(chrome::kChromeUISettingsURL16); #endif builtins_to_provide.push_back(chrome::kChromeUIVersionURL16); @@ -197,7 +197,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -196,6 +196,8 @@ +@@ -195,6 +195,8 @@ #include "printing/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h" @@ -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 -@@ -1561,6 +1563,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1562,6 +1564,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 -@@ -224,6 +224,8 @@ static_library("ui") { +@@ -225,6 +225,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_NACL) #include "chrome/browser/ui/webui/nacl_ui.h" #endif -@@ -391,7 +394,7 @@ void RegisterChromeWebUIConfigs() { +@@ -395,7 +398,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 0313ff4e..83892bd3 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B import org.chromium.base.IntentUtils; import org.chromium.build.annotations.Nullable; -@@ -28,6 +29,9 @@ import org.chromium.components.embedder_support.util.UrlConstants; +@@ -29,6 +30,9 @@ import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType; @@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B /** * The activity that displays the bookmark UI on the phone. It keeps a {@link * BookmarkManagerCoordinator} inside of it and creates a snackbar manager. This activity should -@@ -41,6 +45,9 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -42,6 +46,9 @@ public class BookmarkActivity extends SnackbarActivity { private @Nullable BookmarkManagerCoordinator mBookmarkManagerCoordinator; private @Nullable BookmarkOpener mBookmarkOpener; @@ -152,10 +152,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B @Override protected void onProfileAvailable(Profile profile) { super.onProfileAvailable(profile); -@@ -70,6 +77,14 @@ public class BookmarkActivity extends SnackbarActivity { - getOnBackPressedDispatcher(), - mBookmarkManagerCoordinator, - SecondaryActivity.BOOKMARK); +@@ -68,6 +75,14 @@ public class BookmarkActivity extends SnackbarActivity { + mBookmarkManagerCoordinator.updateForUrl(url); + setContentView(mBookmarkManagerCoordinator.getView()); + BackPressHelper.create(this, getOnBackPressedDispatcher(), mBookmarkManagerCoordinator); + + final boolean listenToActivityState = true; + mIntentRequestTracker = IntentRequestTracker.createFromActivity(this); @@ -167,7 +167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B } @Override -@@ -89,6 +104,7 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -87,6 +102,7 @@ public class BookmarkActivity extends SnackbarActivity { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -175,7 +175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) { BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString( -@@ -97,6 +113,21 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -95,6 +111,21 @@ public class BookmarkActivity extends SnackbarActivity { } } @@ -256,7 +256,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", -@@ -1713,6 +1715,13 @@ static_library("browser") { +@@ -1735,6 +1737,13 @@ static_library("browser") { ] } @@ -270,7 +270,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -3535,8 +3544,6 @@ static_library("browser") { +@@ -3570,8 +3579,6 @@ static_library("browser") { "bookmarks/bookmark_expanded_state_tracker.h", "bookmarks/bookmark_expanded_state_tracker_factory.cc", "bookmarks/bookmark_expanded_state_tracker_factory.h", @@ -768,7 +768,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType; import org.chromium.ui.modelutil.MVCListAdapter.ListItem; -@@ -328,6 +330,13 @@ public class BookmarkManagerCoordinator +@@ -332,6 +334,13 @@ public class BookmarkManagerCoordinator // Public API implementation. @@ -785,7 +785,7 @@ 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/BookmarkManagerMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java -@@ -57,6 +57,8 @@ import org.chromium.components.commerce.core.SubscriptionsObserver; +@@ -58,6 +58,8 @@ import org.chromium.components.commerce.core.SubscriptionsObserver; import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.power_bookmarks.PowerBookmarkMeta; import org.chromium.components.power_bookmarks.PowerBookmarkType; @@ -794,7 +794,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows import org.chromium.ui.accessibility.AccessibilityState; import org.chromium.ui.listmenu.ListMenu; import org.chromium.ui.listmenu.ListMenuItemProperties; -@@ -75,6 +77,47 @@ import java.util.function.BooleanSupplier; +@@ -76,6 +78,47 @@ import java.util.function.BooleanSupplier; import java.util.function.Consumer; import java.util.function.Predicate; @@ -842,7 +842,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. class BookmarkManagerMediator -@@ -84,6 +127,9 @@ class BookmarkManagerMediator +@@ -85,6 +128,9 @@ class BookmarkManagerMediator private static boolean sPreventLoadingForTesting; @@ -852,7 +852,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; -@@ -573,6 +619,14 @@ class BookmarkManagerMediator +@@ -579,6 +625,14 @@ class BookmarkManagerMediator mNativePage = nativePage; } @@ -867,7 +867,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. -@@ -748,6 +802,235 @@ class BookmarkManagerMediator +@@ -754,6 +808,235 @@ class BookmarkManagerMediator } } @@ -1106,7 +1106,7 @@ 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/BookmarkPage.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java -@@ -15,6 +15,9 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +@@ -16,6 +16,9 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.native_page.BasicNativePage; import org.chromium.chrome.browser.ui.native_page.NativePageHost; import org.chromium.components.embedder_support.util.UrlConstants; @@ -1116,7 +1116,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** A native page holding a {@link BookmarkManagerCoordinator} on _tablet_. */ public class BookmarkPage extends BasicNativePage { -@@ -34,7 +37,8 @@ public class BookmarkPage extends BasicNativePage { +@@ -35,7 +38,8 @@ public class BookmarkPage extends BasicNativePage { @NonNull SnackbarManager snackbarManager, @NonNull Profile profile, @NonNull NativePageHost host, @@ -1126,9 +1126,9 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows super(host); mTitle = host.getContext().getString(R.string.bookmarks); -@@ -53,6 +57,9 @@ public class BookmarkPage extends BasicNativePage { - mBookmarkOpener, - componentName); +@@ -55,6 +59,9 @@ public class BookmarkPage extends BasicNativePage { + new BookmarkManagerOpenerImpl(), + PriceDropNotificationManagerFactory.create(profile)); mBookmarkManagerCoordinator.setBasicNativePage(this); + mBookmarkManagerCoordinator.setWindow(activity.getWindowAndroid(), + new ModalDialogManager( @@ -1197,7 +1197,7 @@ 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/BookmarkToolbarMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java -@@ -135,6 +135,10 @@ class BookmarkToolbarMediator +@@ -138,6 +138,10 @@ class BookmarkToolbarMediator mBookmarkDelegate = bookmarkDelegate; mModel.set( BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack); @@ -1325,25 +1325,25 @@ 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 -@@ -213,6 +213,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kCCTAuthTab, - &kCCTAuthTabDisableAllExternalIntents, - &kCCTAuthTabEnableHttpsRedirects, +@@ -209,6 +209,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kBackgroundThreadPool, + &kBlockIntentsWhileLocked, + &kBookmarkPaneAndroid, + &kBookmarksExportUseSaf, - &kCCTBeforeUnload, - &kCCTBlockTouchesDuringEnterAnimation, - &kCCTClientDataHeader, + &kBottomBrowserControlsRefactor, + &kTabClosureMethodRefactor, + &kBrowserControlsEarlyResize, 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 -@@ -599,6 +599,7 @@ public abstract class ChromeFeatureList { +@@ -594,6 +594,7 @@ public abstract class ChromeFeatureList { public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID = "UseLibunwindstackNativeUnwinderAndroid"; public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService"; + public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf"; - public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy"; public static final String WEB_APK_BACKUP_AND_RESTORE_BACKEND = "WebApkBackupAndRestoreBackend"; public static final String WEB_APK_INSTALL_FAILURE_NOTIFICATION = + "WebApkInstallFailureNotification"; diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc --- a/chrome/browser/importer/profile_writer.cc +++ b/chrome/browser/importer/profile_writer.cc @@ -1390,7 +1390,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -127,6 +127,8 @@ public final class ChromePreferenceKeys { +@@ -140,6 +140,8 @@ public final class ChromePreferenceKeys { "enhanced_bookmark_last_used_parent_folder"; public static final String BOOKMARKS_SORT_ORDER = "Chrome.Bookmarks.BookmarkRowSortOrder"; public static final String BOOKMARKS_VISUALS_PREF = "Chrome.Bookmarks.BookmarkRowDisplay"; @@ -1399,7 +1399,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"; -@@ -957,6 +959,7 @@ public final class ChromePreferenceKeys { +@@ -986,6 +988,7 @@ public final class ChromePreferenceKeys { AUXILIARY_SEARCH_IS_SCHEMA_V2_SET, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1410,7 +1410,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 -@@ -246,6 +246,24 @@ CHAR_LIMIT guidelines: +@@ -249,6 +249,24 @@ CHAR_LIMIT guidelines: Sites @@ -1451,7 +1451,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -89,8 +89,6 @@ static_library("utility") { +@@ -88,8 +88,6 @@ static_library("utility") { if (!is_android) { sources += [ @@ -1460,8 +1460,8 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn "importer/bookmarks_file_importer.cc", "importer/bookmarks_file_importer.h", "importer/external_process_importer_bridge.cc", -@@ -227,6 +225,11 @@ static_library("utility") { - ] +@@ -221,6 +219,11 @@ static_library("utility") { + deps += [ "//chrome/services/pdf:lib" ] } + sources += [ @@ -1685,7 +1685,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui return mimeTypes; } -@@ -1155,6 +1163,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick +@@ -1156,6 +1164,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick return countAcceptTypesFor(superType) == mMimeTypes.size(); } diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 3eecdcb2..a50dd888 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -143,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 -@@ -164,6 +164,8 @@ use_epoll = is_linux || is_chromeos || is_android +@@ -174,6 +174,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") { @@ -152,7 +152,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1019,7 +1021,7 @@ component("base") { +@@ -1029,7 +1031,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -291,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 -@@ -167,8 +167,10 @@ enum class FeatureMacroHandshake { kSecret }; +@@ -174,8 +174,10 @@ enum class FeatureMacroHandshake { kSecret }; struct BASE_EXPORT LOGICALLY_CONST Feature { constexpr Feature(const char* name, FeatureState default_state, @@ -304,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) { -@@ -195,6 +197,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { +@@ -202,6 +204,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { // command line switch. const FeatureState default_state; @@ -314,7 +314,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h private: friend class FeatureList; -@@ -474,6 +479,11 @@ class BASE_EXPORT FeatureList { +@@ -481,6 +486,11 @@ class BASE_EXPORT FeatureList { // instance, which is checked in builds with DCHECKs enabled. static bool IsEnabled(const Feature& feature); @@ -326,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 -@@ -743,4 +753,62 @@ class BASE_EXPORT FeatureList { +@@ -750,4 +760,62 @@ class BASE_EXPORT FeatureList { } // namespace base @@ -462,7 +462,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 -@@ -84,7 +84,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -81,7 +81,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); @Override @@ -537,7 +537,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeBaseAppCompatActivity; -@@ -41,12 +44,14 @@ import org.chromium.chrome.browser.back_press.SecondaryActivityBackPressUma.Seco +@@ -40,12 +43,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; @@ -552,7 +552,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; -@@ -85,6 +90,40 @@ import java.util.Locale; +@@ -84,6 +89,40 @@ import java.util.Locale; */ public class SettingsActivity extends ChromeBaseAppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable { @@ -593,7 +593,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"; -@@ -151,7 +190,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -150,7 +189,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity mProfile, mSnackbarManagerSupplier, mBottomSheetControllerSupplier, @@ -632,7 +632,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 -@@ -396,6 +396,10 @@ using flags_ui::kOsLinux; +@@ -402,6 +402,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -643,9 +643,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4428,6 +4432,10 @@ const FeatureEntry::FeatureVariation - std::size(kStandardBoundSessionCredentialsEnabledOriginTrialToken), - nullptr}}; +@@ -4419,6 +4423,10 @@ const FeatureEntry::FeatureVariation kEnableCanvasNoiseVariations[] = { + {" - In all browsing modes", kEnableCanvasNoiseInAllModes, + std::size(kEnableCanvasNoiseInAllModes), nullptr}}; +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -654,7 +654,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. -@@ -4454,6 +4462,9 @@ const FeatureEntry::FeatureVariation +@@ -4445,6 +4453,9 @@ const FeatureEntry::FeatureVariation kEnableCanvasNoiseVariations[] = { const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -667,7 +667,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc -@@ -357,4 +357,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture, +@@ -351,4 +351,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture, "RemovalOfIWAsFromTabCapture", base::FEATURE_ENABLED_BY_DEFAULT); @@ -676,7 +676,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 -@@ -134,6 +134,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); +@@ -133,6 +133,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); // module, e.g. // //chrome/browser//features.h // @@ -726,8 +726,8 @@ 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 -@@ -1207,5 +1207,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, - "WebOtpCrossDeviceSimpleString", +@@ -1213,5 +1213,6 @@ BASE_FEATURE(kAndroidWebAppLaunchHandler, + "AndroidWebAppLaunchHandler", base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc" @@ -736,7 +736,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 -@@ -241,6 +241,7 @@ constexpr base::FeatureParam kQuickDeleteAndroidSurveyTriggerId( +@@ -246,6 +246,7 @@ constexpr base::FeatureParam kQuickDeleteAndroidSurveyTriggerId( "trigger_id", /*default_value=*/""); @@ -758,7 +758,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -863,7 +867,7 @@ public abstract class ChromeFeatureList { +@@ -843,7 +847,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sWebApkMinShellApkVersion = newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); @@ -767,7 +767,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( sAndroidAppIntegration, sAndroidAppIntegrationModule, -@@ -968,6 +972,13 @@ public abstract class ChromeFeatureList { +@@ -944,6 +948,13 @@ public abstract class ChromeFeatureList { sUseLibunwindstackNativeUnwinderAndroid, sWebApkMinShellApkVersion); @@ -855,8 +855,8 @@ diff --git a/chrome/browser/settings/android/java/src/org/chromium/chrome/browse +++ b/chrome/browser/settings/android/java/src/org/chromium/chrome/browser/settings/ChromeBaseSettingsFragment.java @@ -8,12 +8,19 @@ import androidx.preference.PreferenceFragmentCompat; + 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; @@ -874,8 +874,8 @@ 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 @Nullable Profile mProfile; - private @Nullable SettingsCustomTabLauncher mCustomTabLauncher; + private Profile mProfile; + private SettingsCustomTabLauncher mCustomTabLauncher; + private Supplier mRequireRestartDelegateSupplier; + @@ -957,7 +957,7 @@ 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 -@@ -371,4 +371,5 @@ BASE_FEATURE(kByDateHistoryInSidePanel, +@@ -374,4 +374,5 @@ BASE_FEATURE(kByDateHistoryInSidePanel, "ByDateHistoryInSidePanel", base::FEATURE_DISABLED_BY_DEFAULT); @@ -966,7 +966,7 @@ diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.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 -@@ -1591,4 +1591,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, +@@ -1640,4 +1640,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, "DisableShortcutsEnableDiy", base::FEATURE_ENABLED_BY_DEFAULT); @@ -999,27 +999,28 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java -@@ -24,8 +24,10 @@ import org.chromium.components.omnibox.OmniboxFeatures; +@@ -27,9 +27,11 @@ import org.chromium.components.omnibox.OmniboxFeatures; import org.chromium.content_public.browser.ContentFeatureList; import org.chromium.content_public.browser.ContentFeatureMap; +import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; + /** Fragment to keep track of all the accessibility related preferences. */ + @NullMarked -public class AccessibilitySettings extends PreferenceFragmentCompat +public class AccessibilitySettings extends ChromeBaseSettingsFragment implements EmbeddableSettingsPage, Preference.OnPreferenceChangeListener { public static final String PREF_PAGE_ZOOM_DEFAULT_ZOOM = "page_zoom_default_zoom"; public static final String PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT = -@@ -64,7 +66,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat +@@ -68,7 +70,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat } @Override -- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { -+ public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { +- public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { ++ public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { SettingsUtils.addPreferencesFromResource(this, R.xml.accessibility_preferences); - mPageZoomDefaultZoomPref = (PageZoomPreference) findPreference(PREF_PAGE_ZOOM_DEFAULT_ZOOM); + mPageZoomDefaultZoomPref = findPreference(PREF_PAGE_ZOOM_DEFAULT_ZOOM); diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/components/browser_ui/settings/android/java/res/values/attrs.xml --- a/components/browser_ui/settings/android/java/res/values/attrs.xml +++ b/components/browser_ui/settings/android/java/res/values/attrs.xml @@ -1037,7 +1038,7 @@ diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java --- a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java +++ b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java -@@ -15,6 +15,8 @@ import android.view.accessibility.AccessibilityEvent; +@@ -13,6 +13,8 @@ import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.TextView; @@ -1046,7 +1047,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium import androidx.annotation.ColorInt; import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceViewHolder; -@@ -40,6 +42,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat { +@@ -38,6 +40,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat { /** Indicates if the preference uses a custom layout. */ private final boolean mHasCustomLayout; @@ -1058,7 +1059,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium // TOOD(crbug.com/1451550): This is an interim solution. In the long-term, we should migrate // away from a switch with dynamically changing summaries onto a radio group. /** -@@ -59,6 +66,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat { +@@ -57,6 +64,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat { mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs); mUseSummaryAsTitle = true; @@ -1152,7 +1153,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 -@@ -187,4 +187,5 @@ BASE_FEATURE(kImprovedPasswordChangeService, +@@ -183,4 +183,5 @@ BASE_FEATURE(kImprovedPasswordChangeService, "ImprovedPasswordChangeService", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1161,7 +1162,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 -@@ -137,6 +137,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, +@@ -133,6 +133,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, "OsAdditionalSecurityPermissionKillSwitch", base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -1237,7 +1238,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag CHECK(entry_it != name_to_switch_map.end(), base::NotFatalUntil::M130); const SwitchEntry& entry = entry_it->second; -@@ -705,6 +720,27 @@ void FlagsState::GetFlagFeatureEntries( +@@ -710,6 +725,27 @@ void FlagsState::GetFlagFeatureEntries( data.Set("links", std::move(links)); } @@ -1265,7 +1266,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag switch (entry.type) { case FeatureEntry::SINGLE_VALUE: case FeatureEntry::SINGLE_DISABLE_VALUE: -@@ -832,6 +868,16 @@ void FlagsState::AddSwitchesToCommandLine( +@@ -837,6 +873,16 @@ void FlagsState::AddSwitchesToCommandLine( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); if (entry_it == name_to_switch_map.end()) { @@ -1282,7 +1283,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag NOTREACHED(); } -@@ -1088,6 +1134,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( +@@ -1093,6 +1139,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( bool FlagsState::IsSupportedFeature(const FlagsStorage* storage, const std::string& name, int platform_mask) const { @@ -1297,7 +1298,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag for (const auto& entry : feature_entries_) { DCHECK(entry.IsValid()); if (!(entry.supported_platforms & platform_mask)) { -@@ -1122,6 +1176,11 @@ void FlagsState::SetFlags(FlagsStorage* flags_storage, +@@ -1129,6 +1183,11 @@ void FlagsState::SetFlags( std::string feature_internal_name = flag.substr(0, at_index); const flags_ui::FeatureEntry* entry = FindFeatureEntryByName(feature_internal_name); @@ -1401,16 +1402,16 @@ diff --git a/components/webui/flags/resources/app.ts b/components/webui/flags/re // + "Cromite", ]; - protected selectedTabIndex_: number = 0; + protected accessor selectedTabIndex_: number = 0; @@ -150,9 +151,12 @@ export class FlagsAppElement extends CrLitElement { - protected defaultFeatures: Feature[] = []; - protected nonDefaultFeatures: Feature[] = []; + protected accessor defaultFeatures: Feature[] = []; + protected accessor nonDefaultFeatures: Feature[] = []; + protected defaultCromiteFeatures: Feature[] = []; + protected nonDefaultCromiteFeatures: Feature[] = []; - protected searching: boolean = false; - protected needsRestart: boolean = false; + protected accessor searching: boolean = false; + protected accessor needsRestart: boolean = false; + private onlyCromiteFlags: boolean = false; private announceStatusDelayMs: number = 100; @@ -1594,7 +1595,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 -@@ -509,4 +509,5 @@ BASE_FEATURE(kLimitCrossOriginNonActivatedPaintHolding, +@@ -515,4 +515,5 @@ BASE_FEATURE(kLimitCrossOriginNonActivatedPaintHolding, // Please keep features in alphabetical order. @@ -1603,7 +1604,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 -@@ -1485,4 +1485,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { +@@ -1486,4 +1486,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() { VideoCaptureServiceConfiguration::kEnabledForBrowserProcess; } @@ -1612,7 +1613,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 -@@ -350,6 +350,7 @@ CONTENT_EXPORT extern const base::FeatureParam +@@ -351,6 +351,7 @@ CONTENT_EXPORT extern const base::FeatureParam CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); @@ -1958,7 +1959,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 -@@ -1807,5 +1807,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1827,5 +1827,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -1968,7 +1969,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 -@@ -571,5 +571,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode(); +@@ -572,5 +572,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -1978,18 +1979,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 -@@ -709,4 +709,5 @@ BASE_FEATURE(kSelfSignedLocalNetworkInterstitial, - "SelfSignedLocalNetworkInterstitial", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -708,4 +708,5 @@ BASE_FEATURE(kSelfSignedLocalNetworkInterstitial, + BASE_FEATURE(kVerifyQWACs, "VerifyQWACs", base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) +#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 -@@ -721,6 +721,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseCertTransparencyAwareApiForOsCertVerify); - // URLs. - NET_EXPORT BASE_DECLARE_FEATURE(kSelfSignedLocalNetworkInterstitial); +@@ -723,6 +723,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kSelfSignedLocalNetworkInterstitial); + NET_EXPORT BASE_DECLARE_FEATURE(kVerifyQWACs); + #endif +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -1998,18 +1999,18 @@ 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 -@@ -544,4 +544,5 @@ BASE_FEATURE_PARAM(int, - "max_ops_before_maintenance", - 1000); +@@ -588,4 +588,5 @@ BASE_FEATURE(kProtectedAudienceCorsSafelistKVv2Signals, + "ProtectedAudienceCorsSafelistKVv2Signals", + base::FEATURE_ENABLED_BY_DEFAULT); +#include "cromite_flags/services_network_public_cpp_features_cc.inc" } // namespace network::features 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 -@@ -261,6 +261,7 @@ BASE_DECLARE_FEATURE_PARAM(int, kInterestGroupStorageMaxNegativeGroupsPerOwner); - COMPONENT_EXPORT(NETWORK_CPP) - BASE_DECLARE_FEATURE_PARAM(int, kInterestGroupStorageMaxOpsBeforeMaintenance); +@@ -311,6 +311,7 @@ BASE_DECLARE_FEATURE(kPopulatePermissionsPolicyOnRequest); + COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES) + BASE_DECLARE_FEATURE(kProtectedAudienceCorsSafelistKVv2Signals); +#include "cromite_flags/services_network_public_cpp_features_h.inc" } // namespace network::features @@ -2018,7 +2019,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 -@@ -2744,4 +2744,5 @@ bool IsLinkPreviewTriggerTypeEnabled(LinkPreviewTriggerType type) { +@@ -2897,4 +2897,5 @@ bool IsLinkPreviewTriggerTypeEnabled(LinkPreviewTriggerType type) { // // DO NOT ADD NEW FEATURES HERE. @@ -2027,7 +2028,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 -@@ -1793,6 +1793,7 @@ BLINK_COMMON_EXPORT bool IsUpdateComplexSafaAreaConstraintsEnabled(); +@@ -1897,6 +1897,7 @@ BLINK_COMMON_EXPORT bool IsUpdateComplexSafaAreaConstraintsEnabled(); // // DO NOT ADD NEW FEATURES HERE. @@ -2038,8 +2039,8 @@ 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 -@@ -456,4 +456,5 @@ BASE_FEATURE(kAsyncFullscreenWindowState, - "AsyncFullscreenWindowState", +@@ -466,4 +466,5 @@ BASE_FEATURE(kClipboardChangeEvent, + "ClipboardChangeEvent", base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/ui_base_features_cc.inc" @@ -2047,9 +2048,9 @@ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc 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 -@@ -230,6 +230,7 @@ BASE_DECLARE_FEATURE(kWriteBookmarkWithoutTitle); +@@ -237,6 +237,7 @@ BASE_DECLARE_FEATURE(kAsyncFullscreenWindowState); COMPONENT_EXPORT(UI_BASE_FEATURES) - BASE_DECLARE_FEATURE(kAsyncFullscreenWindowState); + BASE_DECLARE_FEATURE(kClipboardChangeEvent); +#include "cromite_flags/ui_base_features_h.inc" } // namespace features diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index f531b22f..46184d51 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -108,7 +108,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 -@@ -1190,7 +1190,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1204,7 +1204,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid public @CustomTabProfileType int getCustomTabMode() { return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ? CustomTabProfileType.INCOGNITO @@ -122,7 +122,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 -@@ -981,6 +981,7 @@ public class CustomTabsConnection { +@@ -985,6 +985,7 @@ public class CustomTabsConnection { PostTask.postTask( TaskTraits.UI_DEFAULT, () -> { @@ -164,7 +164,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() -@@ -330,6 +340,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -326,6 +336,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD @Override public @CustomTabProfileType int getCustomTabMode() { @@ -178,8 +178,8 @@ 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 -@@ -59,6 +59,15 @@ import org.chromium.device.DeviceFeatureList; - import org.chromium.device.DeviceFeatureMap; +@@ -57,6 +57,15 @@ import org.chromium.components.signin.identitymanager.ConsentLevel; + import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.text.SpanApplier; +import android.app.role.RoleManager; @@ -194,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import androidx.annotation.Nullable; import androidx.preference.PreferenceCategory; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; -@@ -107,6 +116,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -104,6 +113,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private IncognitoLockSettings mIncognitoLockSettings; private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); @@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); -@@ -336,6 +348,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -329,6 +341,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment new SpanApplier.SpanInfo("", "", servicesLink)); } @@ -214,7 +214,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(); -@@ -356,6 +371,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -349,6 +364,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -246,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -388,6 +428,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -381,6 +421,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -266,7 +266,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -767,6 +767,8 @@ public abstract class ChromeFeatureList { +@@ -768,6 +768,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true); public static final CachedFlag sMostVisitedTilesCustomization = newCachedFlag(MOST_VISITED_TILES_CUSTOMIZATION, false); @@ -275,7 +275,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 = -@@ -933,6 +935,7 @@ public abstract class ChromeFeatureList { +@@ -915,6 +917,7 @@ public abstract class ChromeFeatureList { sNotificationTrampoline, sMagicStackAndroid, sMostVisitedTilesCustomization, @@ -286,7 +286,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java --- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java +++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java -@@ -87,7 +87,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im +@@ -88,7 +88,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im public static boolean isOpenedFromExternalApp(Tab tab) { TabAssociatedApp app = get(tab); if (app == null) return false; diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 0bcee128..17be6f7e 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.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/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -175,6 +175,9 @@ found in the LICENSE file. +@@ -178,6 +178,9 @@ found in the LICENSE file. @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re -@@ -204,6 +207,9 @@ found in the LICENSE file. +@@ -210,6 +213,9 @@ found in the LICENSE file. @@ -39,7 +39,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -297,6 +297,8 @@ import java.util.Set; +@@ -309,6 +309,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.DoubleConsumer; @@ -48,7 +48,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct /** * This is the main activity for ChromeMobile when not running in document mode. All the tabs are * accessible via a chrome specific tab switching UI. -@@ -3070,6 +3072,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn +@@ -3200,6 +3202,8 @@ public class ChromeTabbedActivity extends ChromeActivity { .closeTabs( TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true); RecordUserAction.record("MobileTabClosed"); @@ -68,7 +68,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; -@@ -2375,6 +2376,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2399,6 +2400,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return true; } @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife 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 -@@ -4382,6 +4382,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4392,6 +4392,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 4dd75b57..837ff187 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ #include "base/feature_list.h" #include "base/format_macros.h" #include "base/functional/bind.h" -@@ -536,6 +537,15 @@ AutocompleteController::AutocompleteController( +@@ -543,6 +544,15 @@ AutocompleteController::AutocompleteController( provider_client_->GetOmniboxTriggeredFeatureService()), steady_state_omnibox_position_( metrics::OmniboxEventProto::UNKNOWN_POSITION) { diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index 433eccf7..d682d339 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 -@@ -1119,6 +1119,7 @@ component("net") { +@@ -1127,6 +1127,7 @@ component("net") { ":net_deps", "//components/miracle_parameter/common", "//components/network_time/time_tracker", @@ -56,7 +56,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn 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 -@@ -114,6 +114,7 @@ +@@ -115,6 +115,7 @@ #include "net/log/net_log_event_type.h" #include "net/log/net_log_source.h" #include "net/log/net_log_source_type.h" @@ -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" -@@ -1477,6 +1478,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( +@@ -1487,6 +1488,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 dbe32a8a..ed334158 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -144,13 +144,13 @@ diff --git a/components/external_intents/android/external_intents_features.cc b/ @@ -27,7 +27,6 @@ namespace { const base::Feature* const kFeaturesExposedToJava[] = { &kExternalNavigationDebugLogs, &kBlockFrameRenavigations, - &kBlockIntentsToSelf}; + &kBlockIntentsToSelf, &kLowerCaseIntentSchemes}; - } // namespace // Alphabetical: -@@ -44,7 +43,13 @@ BASE_FEATURE(kBlockIntentsToSelf, - "BlockIntentsToSelf", +@@ -49,7 +48,13 @@ BASE_FEATURE(kLowerCaseIntentSchemes, + "LowerCaseIntentSchemes", base::FEATURE_ENABLED_BY_DEFAULT); +CROMITE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture, @@ -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 -@@ -1529,6 +1529,12 @@ public class ExternalNavigationHandler { +@@ -1537,6 +1537,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, -@@ -1585,6 +1591,21 @@ public class ExternalNavigationHandler { +@@ -1593,6 +1599,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 35567bca..e0d2a61b 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 -@@ -869,6 +869,10 @@ +@@ -890,6 +890,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 2c8780c1..20cc467e 100644 --- a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch +++ b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch @@ -14,7 +14,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 -@@ -1978,7 +1978,6 @@ config("default_warnings") { +@@ -1997,7 +1997,6 @@ config("default_warnings") { # TODO(crbug.com/376641662): Fix and re-enable. "-Wno-nontrivial-memcall", ] @@ -22,10 +22,10 @@ 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", -@@ -1993,6 +1992,16 @@ config("default_warnings") { - # TODO(crbug.com/344680447): Fix and re-enable. - cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ] - } +@@ -2023,6 +2022,16 @@ config("default_warnings") { + # other issues if the versions are incompatible. + cflags += [ "-Wno-version-check" ] + ldflags += [ "-Wno-version-check" ] + if (skip_clangd_unsupported_options) { + cflags -= [ + "-Wno-thread-safety-reference-return", @@ -42,7 +42,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn diff --git a/build_overrides/build.gni b/build_overrides/build.gni --- a/build_overrides/build.gni +++ b/build_overrides/build.gni -@@ -54,6 +54,9 @@ declare_args() { +@@ -55,6 +55,9 @@ declare_args() { # to lack of toolchain support. gtest_enable_absl_printers = !is_nacl diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index d7424b04..2ea47a95 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -125,6 +125,9 @@ found in the LICENSE file. +@@ -128,6 +128,9 @@ found in the LICENSE file. @@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -3135,6 +3135,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn +@@ -3273,6 +3273,8 @@ public class ChromeTabbedActivity extends ChromeActivity { NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); } RecordUserAction.record("MobileMenuDownloadManager"); @@ -54,7 +54,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 -@@ -2531,6 +2531,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2556,6 +2556,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return doOpenWebApk(currentTab); } @@ -69,7 +69,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 -@@ -587,6 +587,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -595,6 +595,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate isNativePage, isFileScheme, isContentScheme, isIncognito, url)); updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isNativePage); @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App updateAutoDarkMenuItem(menu, currentTab, isNativePage); -@@ -1328,6 +1329,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate +@@ -1336,6 +1337,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate findInPageMenuRow.setVisible(itemVisible); } @@ -115,7 +115,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust 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 -@@ -315,6 +315,10 @@ CHAR_LIMIT guidelines: +@@ -318,6 +318,10 @@ CHAR_LIMIT guidelines: Collaboration diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index f84348e4..4036092b 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 -@@ -404,7 +404,12 @@ class TabGridViewBinder { +@@ -403,7 +403,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) { -@@ -445,6 +450,7 @@ class TabGridViewBinder { +@@ -444,6 +449,7 @@ class TabGridViewBinder { */ private static void setFavicon( ImageView faviconView, PropertyModel model, TabListFaviconProvider.TabFavicon favicon) { @@ -84,15 +84,15 @@ 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 -@@ -141,6 +141,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; - import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -143,6 +143,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; +import org.chromium.chrome.browser.privacy.settings.PrivacySettings; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileProvider; -@@ -613,7 +614,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -625,7 +626,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; import org.chromium.base.ContextUtils; -@@ -78,12 +79,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -76,12 +77,26 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; @@ -141,7 +141,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"; -@@ -170,6 +185,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -167,6 +182,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } } @@ -163,7 +163,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( -@@ -392,6 +422,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -385,6 +415,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 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { -@@ -438,6 +469,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -431,6 +462,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 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -504,6 +542,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -497,6 +535,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -199,7 +199,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 -@@ -6016,6 +6016,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6088,6 +6088,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-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index 850598c6..22974798 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -99,15 +99,15 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java -@@ -58,6 +58,7 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; - import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; +@@ -59,6 +59,7 @@ import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder import org.chromium.chrome.browser.night_mode.NightModeStateProvider; import org.chromium.chrome.browser.night_mode.NightModeUtils; + import org.chromium.chrome.browser.theme.ThemeModuleUtils; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeManager; import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider; -@@ -131,6 +132,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity +@@ -134,6 +135,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity protected void attachBaseContext(Context newBase) { super.attachBaseContext(newBase); @@ -170,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -759,7 +759,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -774,7 +774,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity // Inflate the correct toolbar layout for the device. int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -184,17 +184,17 @@ 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/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java -@@ -115,6 +115,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService; +@@ -119,6 +119,7 @@ import org.chromium.components.tab_group_sync.SavedTabGroup; + import org.chromium.components.tab_group_sync.TabGroupSyncService; import org.chromium.components.tab_group_sync.TriggerSource; import org.chromium.components.tab_groups.TabGroupColorId; - import org.chromium.ui.MotionEventUtils; +import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modaldialog.ModalDialogManager; -@@ -4113,8 +4114,13 @@ public class StripLayoutHelper - mTabMenu.setAnchorView(tabView); - // 3. Set the vertical offset to align the tab menu with bottom of the tab strip +@@ -4211,8 +4212,13 @@ public class StripLayoutHelper + mCloseButtonMenu.setAnchorView(tabView); + // 3. Set the vertical offset to align the close button menu with bottom of the tab strip int tabHeight = mManagerHost.getHeight(); - int verticalOffset = - -(tabHeight - (int) mContext.getResources().getDimension(R.dimen.tab_strip_height)); @@ -205,13 +205,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over + (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_tabletui); + } + int verticalOffset = -(tabHeight - tab_strip_height); - mTabMenu.setVerticalOffset(verticalOffset); + mCloseButtonMenu.setVerticalOffset(verticalOffset); - // 4. Set the horizontal offset to align the tab menu with the right side of the tab + // 4. Set the horizontal offset to align the close button menu with the right side of the diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java -@@ -93,6 +93,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa +@@ -96,6 +96,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa import org.chromium.components.browser_ui.styles.SemanticColorUtils; import org.chromium.components.browser_ui.widget.scrim.ScrimProperties; import org.chromium.content_public.browser.LoadUrlParams; @@ -219,7 +219,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.WindowAndroid; -@@ -450,7 +451,10 @@ public class StripLayoutHelperManager +@@ -460,7 +461,10 @@ public class StripLayoutHelperManager mIsLayoutOptimizationsEnabled = ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true); @@ -271,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow 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 -@@ -664,7 +664,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -693,7 +693,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public int getControlContainerHeightResource() { @@ -319,7 +319,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU 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 -@@ -286,6 +286,7 @@ public final class ChromePreferenceKeys { +@@ -307,6 +307,7 @@ public final class ChromePreferenceKeys { /** Whether the app-specific history info text was already seen by users. */ public static final String HISTORY_APP_SPECIFIC_INFO_SEEN = "Chrome.History.AppSpecificInfoSeen"; @@ -370,10 +370,10 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java --- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java +++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java -@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils.Windowing - import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState; +@@ -39,6 +39,7 @@ import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState; import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager; import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider; + import org.chromium.ui.CaptionBarInsetsRectProvider; +import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.InsetObserver; import org.chromium.ui.InsetObserver.WindowInsetsConsumer; @@ -389,7 +389,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c 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 -@@ -790,7 +790,7 @@ public class LocationBarCoordinator +@@ -791,7 +791,7 @@ public class LocationBarCoordinator } private boolean isTabletWindow() { @@ -401,7 +401,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1671,6 +1671,13 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1674,6 +1674,13 @@ Your Google account may have other forms of browsing history like searches and a Hide your IP address @@ -548,15 +548,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java -@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp; +@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp; import org.chromium.components.feature_engagement.Tracker; - import org.chromium.ui.MotionEventUtils; import org.chromium.ui.base.ViewUtils; + import org.chromium.ui.util.MotionEventUtils; +import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.util.TokenHolder; import org.chromium.url.GURL; -@@ -583,7 +584,9 @@ public abstract class ToolbarLayout extends FrameLayout +@@ -578,7 +579,9 @@ public abstract class ToolbarLayout extends FrameLayout * not have a tab strip. */ protected int getTabStripHeightFromResource() { @@ -627,15 +627,15 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java -@@ -25,6 +25,7 @@ import org.chromium.content_public.browser.ContentFeatureList; +@@ -28,6 +28,7 @@ import org.chromium.content_public.browser.ContentFeatureList; import org.chromium.content_public.browser.ContentFeatureMap; import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; +import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate; /** Fragment to keep track of all the accessibility related preferences. */ - public class AccessibilitySettings extends ChromeBaseSettingsFragment -@@ -39,6 +40,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment + @NullMarked +@@ -43,6 +44,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment public static final String PREF_ZOOM_INFO = "zoom_info"; public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions"; @@ -645,7 +645,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; private ChromeSwitchPreference mPageZoomAlwaysShowPref; -@@ -105,6 +109,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -107,6 +111,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDelegate.getReaderAccessibilityDelegate().getValue()); readerForAccessibilityPref.setOnPreferenceChangeListener(this); @@ -658,7 +658,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -163,6 +173,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -166,6 +176,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment public boolean onPreferenceChange(Preference preference, Object newValue) { if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) { mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue); @@ -666,12 +666,12 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c + mForceTabletUIDelegate.setValue((Boolean) newValue); + mDelegate.requestRestart(getActivity()); } else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) { - mDelegate.getReaderAccessibilityDelegate().setValue((Boolean) newValue); - } else if (PREF_PAGE_ZOOM_DEFAULT_ZOOM.equals(preference.getKey())) { + boolean readerModeEnabled = (Boolean) newValue; + mDelegate.getReaderAccessibilityDelegate().setValue(readerModeEnabled); diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java -@@ -39,6 +39,8 @@ public interface AccessibilitySettingsDelegate { +@@ -41,6 +41,8 @@ public interface AccessibilitySettingsDelegate { */ BrowserContextHandle getBrowserContextHandle(); 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 24e3a967..d388f679 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 @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -45,6 +45,7 @@ import org.chromium.base.Callback; +@@ -46,6 +46,7 @@ import org.chromium.base.Callback; import org.chromium.base.CallbackController; import org.chromium.base.CallbackUtils; import org.chromium.base.CommandLine; @@ -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; -@@ -1695,8 +1696,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn +@@ -1775,8 +1776,10 @@ public class ChromeTabbedActivity extends ChromeActivity { boolean hadCipherData = CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.chrome.R; import org.chromium.chrome.browser.enterprise.util.ManagedBrowserUtils; import org.chromium.chrome.browser.flags.ChromeFeatureList; -@@ -92,6 +95,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -89,6 +92,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private final SharedPreferencesManager mSharedPreferencesManager = ChromeSharedPreferences.getInstance(); @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private ManagedPreferenceDelegate mManagedPreferenceDelegate; @VisibleForTesting static final String PREF_FP_PROTECTION = "fp_protection"; @VisibleForTesting static final String PREF_IP_PROTECTION = "ip_protection"; -@@ -333,7 +338,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -326,7 +331,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); @@ -90,7 +90,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)) { -@@ -409,6 +418,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -402,6 +411,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment getContext(), getProfile())); } @@ -105,7 +105,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 -@@ -5541,6 +5541,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5616,6 +5616,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d IMAGE diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch index aae0e8e1..bf7e4539 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,7 +24,7 @@ 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 -@@ -99,6 +99,9 @@ import java.util.Map; +@@ -100,6 +100,9 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -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. -@@ -930,9 +933,15 @@ public class TabGridDialogMediator +@@ -940,9 +943,15 @@ public class TabGridDialogMediator return; } @@ -54,15 +54,15 @@ 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/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 -@@ -34,6 +34,7 @@ import org.chromium.chrome.browser.collaboration.CollaborationServiceFactory; - 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; +import org.chromium.chrome.browser.homepage.HomepageManager; import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver; import org.chromium.chrome.browser.layouts.LayoutType; import org.chromium.chrome.browser.profiles.Profile; -@@ -401,10 +402,15 @@ public class TabGroupUiMediator implements BackPressHandler, ThemeColorObserver, +@@ -414,10 +415,15 @@ public class TabGroupUiMediator implements BackPressHandler { assert relatedTabs.size() > 0; Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1); @@ -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. -@@ -199,9 +202,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina +@@ -200,9 +203,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina /* didCloseCallback= */ null); recordUserAction("DeleteGroup"); } else if (menuId == org.chromium.chrome.R.id.open_new_tab_in_group) { @@ -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; -@@ -487,6 +488,13 @@ public class ChromeTabCreator extends TabCreator { +@@ -505,6 +506,13 @@ public class ChromeTabCreator extends TabCreator * @return the created tab. */ public Tab launchUrl(String url, @TabLaunchType int type, 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 -@@ -299,6 +299,7 @@ public final class ChromePreferenceKeys { +@@ -320,6 +320,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 -@@ -1492,6 +1492,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1498,6 +1498,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 -@@ -90,6 +90,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -91,6 +91,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( prefs::kShowForwardButton, true, GetHomeAndForwardButtonAndHomePageIsNewTabPageFlags()); 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 52dd216d..c38d12d0 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 -@@ -88,6 +88,7 @@ found in the LICENSE file. +@@ -99,6 +99,7 @@ found in the LICENSE file. @@ -98,37 +98,37 @@ 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 -@@ -111,8 +111,9 @@ class ChromeContextMenuItem { - int SHARE_HIGHLIGHT = 32; - int REMOVE_HIGHLIGHT = 33; - int LEARN_MORE = 34; -+ int FOLLOW_LINK = 35; +@@ -118,8 +118,9 @@ class ChromeContextMenuItem { + int SAVE_PAGE = 35; + int SHARE_PAGE = 36; + int PRINT_PAGE = 37; ++ int FOLLOW_LINK = 38; // ALWAYS UPDATE! -- int NUM_ENTRIES = 35; -+ int NUM_ENTRIES = 36; +- int NUM_ENTRIES = 38; ++ int NUM_ENTRIES = 39; } /** Mapping from {@link Item} to the ID found in the ids.xml. */ -@@ -152,6 +153,7 @@ class ChromeContextMenuItem { - R.id.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT - R.id.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT - R.id.contextmenu_learn_more, // Item.LEARN_MORE -+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB +@@ -162,6 +163,7 @@ class ChromeContextMenuItem { + R.id.contextmenu_save_page, // Item.SAVE_PAGE + R.id.contextmenu_share_page, // Item.SHARE_PAGE + R.id.contextmenu_print_page, // Item.PRINT_PAGE ++ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB }; /** Mapping from {@link Item} to the ID of the string that describes the action of the item. */ -@@ -191,6 +193,7 @@ class ChromeContextMenuItem { - R.string.contextmenu_share_highlight, // Item.SHARE_HIGHLIGHT - R.string.contextmenu_remove_highlight, // Item.REMOVE_HIGHLIGHT - R.string.contextmenu_learn_more, // Item.LEARN_MORE -+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB: +@@ -204,6 +206,7 @@ class ChromeContextMenuItem { + R.string.contextmenu_save_page, // Item.SAVE_PAGE + R.string.contextmenu_share_page, // Item.SHARE_PAGE + R.string.contextmenu_print_page, // Item.PRINT_PAGE ++ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB }; /** 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 -@@ -285,6 +285,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -318,6 +318,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())) { -@@ -676,6 +679,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -735,6 +738,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 -@@ -301,6 +301,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -323,6 +323,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { mTab.loadUrl(loadUrlParams); } @@ -168,10 +168,10 @@ 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 -@@ -344,6 +344,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -350,6 +350,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kTabGroupEntryPointsAndroid, &kTabGroupParityBottomSheetAndroid, &kToolbarPhoneCleanup, - &kTabResumptionModuleAndroid, + &blink::features::kShowAlwaysContextMenuOnLinks, &kTabStateFlatBuffer, &kTabStripContextMenuAndroid, @@ -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 -@@ -419,6 +419,8 @@ public abstract class ChromeFeatureList { +@@ -423,6 +423,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 NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant"; public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = "NotificationPermissionBottomSheet"; -@@ -810,6 +812,8 @@ public abstract class ChromeFeatureList { +@@ -805,6 +807,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); -@@ -994,6 +998,7 @@ public abstract class ChromeFeatureList { +@@ -970,6 +974,7 @@ public abstract class ChromeFeatureList { sTabWindowManagerReportIndicesMismatch, sTraceBinderIpc, sUseChimeAndroidSdk, @@ -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 -@@ -1736,6 +1736,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1739,6 +1739,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 -@@ -3309,6 +3315,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3313,6 +3319,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -249,7 +249,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java -@@ -48,6 +48,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -52,6 +52,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate; private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate; @@ -259,7 +259,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; private ChromeSwitchPreference mPageZoomAlwaysShowPref; -@@ -136,6 +139,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -138,6 +141,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue()); mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this); @@ -272,7 +272,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -212,6 +221,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -219,6 +228,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment } else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) { mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue); mDelegate.requestRestart(getActivity()); @@ -285,7 +285,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java -@@ -42,6 +42,8 @@ public interface AccessibilitySettingsDelegate { +@@ -45,6 +45,8 @@ public interface AccessibilitySettingsDelegate { BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate(); BooleanPreferenceDelegate getDisableToolbarSwipeUpDelegate(); @@ -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 -@@ -64,6 +64,7 @@ +@@ -66,6 +66,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/speculation_rules/document_speculation_rules.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" -@@ -504,6 +505,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -500,6 +501,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; -@@ -594,6 +606,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -590,6 +602,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; -@@ -637,7 +658,7 @@ Element* HTMLAnchorElementBase::interestTargetElement() { +@@ -633,7 +654,7 @@ Element* HTMLAnchorElementBase::interestTargetElement() { html_names::kInteresttargetAttr); } @@ -395,7 +395,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third event.SetDefaultHandled(); LocalDOMWindow* window = GetDocument().domWindow(); -@@ -733,13 +754,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -729,13 +750,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { return; } @@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third // We distinguish single/double click with some modifiers. // See the comment of `EventHandler.delayed_navigation_task_handle_`. auto task_handle = PostDelayedCancellableTask( -@@ -749,7 +769,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -745,7 +765,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { @@ -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 -@@ -218,6 +218,8 @@ class CORE_EXPORT HTMLImageElement +@@ -217,6 +217,8 @@ class CORE_EXPORT HTMLImageElement void DidAddUserAgentShadowRoot(ShadowRoot&) override; void AdjustStyle(ComputedStyleBuilder&) override; @@ -551,7 +551,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; -@@ -798,11 +811,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -816,11 +829,13 @@ 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 add02cd5..17651896 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 -@@ -161,6 +161,7 @@ +@@ -163,6 +163,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" diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index 9aa51e14..729cc878 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 -@@ -55,6 +55,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +@@ -54,6 +54,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.util.TraceEventVectorDrawableCompat; -@@ -441,8 +442,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -440,8 +441,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity finishCurrentSettings(mainFragment); return true; } else if (item.getItemId() == R.id.menu_id_general_help) { @@ -38,13 +38,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java --- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java +++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsUtils.java -@@ -93,4 +93,8 @@ public class SettingsUtils { - ToolbarUtils.setOverflowMenuVisibility(toolbar, visibility); - return true; - } -+ +@@ -28,6 +28,10 @@ import org.chromium.ui.drawable.StateListDrawableBuilder; + /** A helper class for Settings. */ + @NullMarked + public class SettingsUtils { + public interface ISupportHelpAndFeedback { + void onHelpAndFeebackPressed(); + } - } ++ + /** + * A helper that is used to load preferences from XML resources without causing a + * StrictModeViolation. See http://crbug.com/692125. -- diff --git a/build/patches/Add-support-to-jxl.patch b/build/patches/Add-support-to-jxl.patch index fe8f4fab..d2684a36 100644 --- a/build/patches/Add-support-to-jxl.patch +++ b/build/patches/Add-support-to-jxl.patch @@ -84,7 +84,7 @@ Enabled by default diff --git a/DEPS b/DEPS --- a/DEPS +++ b/DEPS -@@ -480,6 +480,10 @@ vars = { +@@ -503,6 +503,10 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -95,7 +95,7 @@ diff --git a/DEPS b/DEPS 'highway_revision': '00fe003dac355b979f36157f9407c7c46448958e', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ffmpeg -@@ -1846,6 +1850,9 @@ deps = { +@@ -1886,6 +1890,9 @@ deps = { 'src/third_party/dawn': Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'), @@ -329,7 +329,7 @@ diff --git a/media/media_options.gni b/media/media_options.gni diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc --- a/net/base/mime_util.cc +++ b/net/base/mime_util.cc -@@ -178,6 +178,7 @@ static const MimeInfo kPrimaryMappings[] = { +@@ -181,6 +181,7 @@ static const MimeInfo kPrimaryMappings[] = { {"image/avif", "avif"}, {"image/gif", "gif"}, {"image/jpeg", "jpeg,jpg"}, @@ -337,7 +337,7 @@ diff --git a/net/base/mime_util.cc b/net/base/mime_util.cc {"image/png", "png"}, {"image/apng", "png,apng"}, {"image/svg+xml", "svg,svgz"}, -@@ -682,6 +683,7 @@ static const char* const kStandardImageTypes[] = {"image/avif", +@@ -699,6 +700,7 @@ static const char* const kStandardImageTypes[] = {"image/avif", "image/heif", "image/ief", "image/jpeg", @@ -364,7 +364,7 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc #if BUILDFLAG(IS_CHROMEOS) // These are test cases for testing platform mime types on ChromeOS. {FILE_PATH_LITERAL("epub"), {"application/epub+zip"}}, -@@ -496,6 +498,7 @@ TEST(MimeUtilTest, TestGetExtensionsForMimeType) { +@@ -504,6 +506,7 @@ TEST(MimeUtilTest, TestGetExtensionsForMimeType) { {"MeSsAge/*", 1, "eml"}, {"message/", 0, nullptr, true}, {"image/avif", 1, "avif"}, @@ -464,7 +464,7 @@ diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_pa diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl --- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl +++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl -@@ -4747,6 +4747,7 @@ domain Emulation +@@ -4809,6 +4809,7 @@ domain Emulation experimental type DisabledImageType extends string enum avif @@ -475,7 +475,7 @@ diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/t 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 -@@ -498,10 +498,10 @@ AtomicString InspectorEmulationAgent::OverrideAcceptImageHeader( +@@ -557,10 +557,10 @@ AtomicString InspectorEmulationAgent::OverrideAcceptImageHeader( String header(network_utils::ImageAcceptHeader()); for (String type : *disabled_image_types) { // The header string is expected to be like @@ -489,7 +489,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent header.Replace(String(type + ","), ""); } return AtomicString(header); -@@ -845,6 +845,7 @@ protocol::Response InspectorEmulationAgent::setDisabledImageTypes( +@@ -931,6 +931,7 @@ protocol::Response InspectorEmulationAgent::setDisabledImageTypes( namespace DisabledImageTypeEnum = protocol::Emulation::DisabledImageTypeEnum; for (protocol::Emulation::DisabledImageType type : *disabled_types) { if (DisabledImageTypeEnum::Avif == type || @@ -605,7 +605,7 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -2403,6 +2403,10 @@ source_set("blink_platform_unittests_sources") { +@@ -2414,6 +2414,10 @@ source_set("blink_platform_unittests_sources") { sources += [ "text/locale_icu_test.cc" ] } @@ -616,7 +616,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re sources += [ "testing/run_all_tests.cc" ] configs += [ -@@ -2448,6 +2452,7 @@ source_set("blink_platform_unittests_sources") { +@@ -2459,6 +2463,7 @@ source_set("blink_platform_unittests_sources") { "//third_party/blink/renderer/platform/wtf", "//third_party/dawn/src/dawn/native", "//third_party/dawn/src/dawn/wire", @@ -2215,7 +2215,7 @@ diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/bli diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations -@@ -5432,6 +5432,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai +@@ -5405,6 +5405,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai # Started failing after rolling new version of check-layout-th.js css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ] @@ -2231,7 +2231,7 @@ diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/we diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites --- a/third_party/blink/web_tests/VirtualTestSuites +++ b/third_party/blink/web_tests/VirtualTestSuites -@@ -409,6 +409,15 @@ +@@ -429,6 +429,15 @@ "args": ["--enable-blink-features=FractionalScrollOffsets"], "expires": "Jun 1, 2025" }, @@ -2646,7 +2646,7 @@ new file mode 100644 diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml -@@ -14717,6 +14717,7 @@ from previous Chrome versions. +@@ -14724,6 +14724,7 @@ from previous Chrome versions. @@ -2657,7 +2657,7 @@ diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums diff --git a/tools/metrics/histograms/metadata/blink/enums.xml b/tools/metrics/histograms/metadata/blink/enums.xml --- a/tools/metrics/histograms/metadata/blink/enums.xml +++ b/tools/metrics/histograms/metadata/blink/enums.xml -@@ -239,7 +239,7 @@ chromium-metrics-reviews@google.com. +@@ -240,7 +240,7 @@ chromium-metrics-reviews@google.com. diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index ee7d0d32..17998c63 100644 --- a/build/patches/Add-webGL-site-setting.patch +++ b/build/patches/Add-webGL-site-setting.patch @@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -299,6 +299,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( +@@ -305,6 +305,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( } } @@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() { base::AutoLock locker(WebGLContextLimitLock()); DCHECK(webgl_context_limits_initialized_); -@@ -568,25 +575,6 @@ static String ExtractWebGLContextCreationError( +@@ -574,25 +581,6 @@ static String ExtractWebGLContextCreationError( const Platform::GraphicsInfo& info) { StringBuilder builder; builder.Append("Could not create a WebGL context"); @@ -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('.'); -@@ -646,6 +634,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( +@@ -652,6 +640,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 -@@ -1931,6 +1931,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, +@@ -1933,6 +1933,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public ScriptWrappable, DOMArrayBufferView* pixels, int64_t offset); diff --git a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch index 4835c399..72df7385 100644 --- a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch +++ b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch @@ -20,7 +20,7 @@ diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/pict #include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h" -@@ -377,6 +378,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( +@@ -390,6 +391,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( return; } diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index e5589892..cc5b90a5 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 -@@ -1474,6 +1474,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1481,6 +1481,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( -@@ -1487,6 +1488,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1494,6 +1495,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 -@@ -15759,12 +15759,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -15823,12 +15823,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -300,7 +300,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 -@@ -475,14 +475,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -481,14 +481,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const GURL& url, const std::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, @@ -332,7 +332,7 @@ diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/pu diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn --- a/services/network/public/mojom/BUILD.gn +++ b/services/network/public/mojom/BUILD.gn -@@ -1668,7 +1668,6 @@ mojom("mojom") { +@@ -1761,7 +1761,6 @@ mojom("mojom") { export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/public/platform/web_common.h" if (enable_reporting) { @@ -343,7 +343,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 -@@ -1208,6 +1208,7 @@ interface NetworkContext { +@@ -1227,6 +1227,7 @@ interface NetworkContext { // provided `network_anonymization_key`. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -351,7 +351,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -1215,6 +1216,7 @@ interface NetworkContext { +@@ -1234,6 +1235,7 @@ interface NetworkContext { NetworkAnonymizationKey network_anonymization_key, mojo_base.mojom.DictionaryValue body); @@ -359,7 +359,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueEnterpriseReport(string type, string group, url.mojom.Url url, -@@ -1225,6 +1227,7 @@ interface NetworkContext { +@@ -1244,6 +1246,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`. @@ -405,7 +405,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" -@@ -2752,9 +2753,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { +@@ -2761,9 +2762,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { return CHECK_DEREF(GetDocument()).GetResourceCoordinator(); } @@ -428,7 +428,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b #include "mojo/public/cpp/bindings/pending_associated_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "services/metrics/public/cpp/ukm_source_id.h" -@@ -650,7 +651,9 @@ class CORE_EXPORT LocalFrame final +@@ -659,7 +660,9 @@ class CORE_EXPORT LocalFrame final return client_hints_preferences_; } @@ -512,7 +512,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p #include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h" #include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h" #include "third_party/blink/renderer/core/core_export.h" -@@ -55,10 +56,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, +@@ -56,10 +57,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, private: // Counts the use of a report type via UseCounter. void CountReport(Report*); @@ -525,7 +525,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p void NotifyInternal(Report* report); // Send |report| via the Reporting API to |endpoint|. void SendToReportingAPI(Report* report, const String& endpoint) const; -@@ -69,8 +70,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, +@@ -71,8 +72,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, // This is declared mutable so that the service endpoint can be cached by // const methods. diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 2fe30d8e..7fa1fbe2 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -17,13 +17,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../core/browser/supervised_user_preferences.cc | 6 +++++- .../core/browser/supervised_user_service.cc | 5 +---- .../supervised_user/core/browser/supervised_user_utils.cc | 1 + - components/supervised_user/core/common/features.cc | 6 ++++++ - 14 files changed, 17 insertions(+), 30 deletions(-) + components/supervised_user/core/common/features.cc | 5 ++++- + 14 files changed, 15 insertions(+), 31 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -786,7 +786,6 @@ if (current_toolchain == default_toolchain) { +@@ -787,7 +787,6 @@ if (current_toolchain == 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", @@ -99,7 +99,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p // Changes in the profile avatar. pref_change_registrar_.Add( -@@ -1623,6 +1619,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1624,6 +1620,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -110,7 +110,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 -@@ -1191,10 +1191,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { +@@ -1192,10 +1192,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); } @@ -121,7 +121,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile #if !BUILDFLAG(IS_ANDROID) if (profile->IsNewProfile()) { profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false); -@@ -1976,9 +1972,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -1977,9 +1973,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -173,7 +173,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 -@@ -155,6 +155,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -158,6 +158,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { } void EnableParentalControls(PrefService& pref_service) { @@ -183,8 +183,8 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences + } pref_service.SetString(prefs::kSupervisedUserId, supervised_user::kChildAccountSUID); - SetIsChildAccountStatusKnown(pref_service); -@@ -177,7 +181,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) { + #if BUILDFLAG(IS_CHROMEOS) +@@ -186,7 +190,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) { } bool IsSubjectToParentalControls(const PrefService& pref_service) { @@ -192,11 +192,11 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences + return false; } - } // namespace supervised_user + bool IsGoogleSafeSearchEnforced(const PrefService& pref_service) { 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 -@@ -50,10 +50,6 @@ void SupervisedUserService::Init() { +@@ -91,10 +91,6 @@ void SupervisedUserService::Init() { DCHECK(settings_service_->IsReady()); pref_change_registrar_.Init(&user_prefs_.get()); @@ -207,7 +207,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc SetActive(supervised_user::IsSubjectToParentalControls(user_prefs_.get())); } -@@ -139,6 +135,7 @@ SupervisedUserService::SupervisedUserService( +@@ -161,6 +157,7 @@ SupervisedUserService::SupervisedUserService( } void SupervisedUserService::SetActive(bool active) { @@ -218,7 +218,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/components/supervised_user/core/browser/supervised_user_utils.cc --- a/components/supervised_user/core/browser/supervised_user_utils.cc +++ b/components/supervised_user/core/browser/supervised_user_utils.cc -@@ -308,6 +308,7 @@ GURL NormalizeUrl(const GURL& url) { +@@ -314,6 +314,7 @@ GURL NormalizeUrl(const GURL& url) { } bool AreWebFilterPrefsDefault(const PrefService& pref_service) { @@ -229,15 +229,21 @@ diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/ diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc --- a/components/supervised_user/core/common/features.cc +++ b/components/supervised_user/core/common/features.cc -@@ -185,4 +185,10 @@ BASE_FEATURE(kReplaceSupervisionSystemCapabilitiesWithAccountCapabilitiesOnIOS, - "ReplaceSupervisionSystemCapabilitiesWithAccountCapabilitiesOnIOS", +@@ -102,7 +102,6 @@ BASE_FEATURE(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop, + "EnableExtensionsPermissionsForSupervisedUsersOnDesktop", base::FEATURE_ENABLED_BY_DEFAULT); #endif -+ +- + #if BUILDFLAG(ENABLE_EXTENSIONS) + BASE_FEATURE(kExposedParentalControlNeededForExtensionInstallation, + "ExposedParentalControlNeededForExtensionInstallation", +@@ -191,4 +190,8 @@ BASE_FEATURE(kWaitUntilAccessTokenAvailableForClassifyUrl, + #endif + ); + +SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals); +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +SET_CROMITE_FEATURE_DISABLED(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop); +#endif -+ } // namespace supervised_user -- diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index 1f07a677..14e3596d 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc --- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc -@@ -1343,6 +1343,12 @@ void WebMediaPlayerImpl::OnSelectedVideoTrackChanged( +@@ -1346,6 +1346,12 @@ void WebMediaPlayerImpl::OnSelectedVideoTrackChanged( pipeline_controller_->OnSelectedVideoTrackChanged(selected); } @@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc void WebMediaPlayerImpl::EnabledAudioTracksChanged( const std::vector& enabled_track_ids) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3749,7 +3755,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3752,7 +3758,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { : HasAudio(); // Audio only stream is allowed to play when in background. 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 54355353..b5573de3 100644 --- a/build/patches/Always-open-browser-controls-in-new-tab.patch +++ b/build/patches/Always-open-browser-controls-in-new-tab.patch @@ -17,16 +17,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM +import org.chromium.cc.input.BrowserControlsState; import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.IntentHandler; - import org.chromium.chrome.browser.bookmarks.BookmarkModel; -@@ -34,6 +35,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; - import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; - import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge; + import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpenerImpl; +@@ -38,6 +39,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; +import org.chromium.chrome.browser.tab.TabBrowserControlsConstraintsHelper; import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; -@@ -235,6 +237,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -257,6 +259,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { 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()); -@@ -255,6 +258,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -277,6 +280,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { * @param url The URL to open. */ public void onOpenInNewTabInGroup(GURL url, 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 6237297f..677181e1 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 @@ -32,7 +32,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa 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 -@@ -68,6 +68,7 @@ public class PartnerBookmarksProviderIterator implements PartnerBookmark.Bookmar +@@ -70,6 +70,7 @@ public class PartnerBookmarksProviderIterator implements PartnerBookmark.Bookmar new AsyncTask<@Nullable Cursor>() { @Override protected @Nullable Cursor doInBackground() { diff --git a/build/patches/Android-fonts-fingerprinting-mitigation.patch b/build/patches/Android-fonts-fingerprinting-mitigation.patch index d8a9b8f0..459319b8 100644 --- a/build/patches/Android-fonts-fingerprinting-mitigation.patch +++ b/build/patches/Android-fonts-fingerprinting-mitigation.patch @@ -54,7 +54,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java --- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java +++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java -@@ -1056,6 +1056,9 @@ public final class ProductionSupportedFlagList { +@@ -1073,6 +1073,9 @@ public final class ProductionSupportedFlagList { "Hides user preference on the system keyboard by setting the standard " + "eng layout and removing the layout information from the " + "javascript keyboard events."), @@ -106,7 +106,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -7698,6 +7698,13 @@ static_library("browser") { +@@ -7745,6 +7745,13 @@ static_library("browser") { } } @@ -161,7 +161,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 -@@ -293,6 +293,9 @@ static_library("renderer") { +@@ -294,6 +294,9 @@ static_library("renderer") { "//ppapi/shared_impl", ] @@ -614,7 +614,7 @@ diff --git a/components/services/font/public/mojom/font_service.mojom b/componen diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -2543,6 +2543,17 @@ source_set("browser") { +@@ -2561,6 +2561,17 @@ source_set("browser") { ] } @@ -632,7 +632,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn if (is_linux || is_chromeos) { sources -= [ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ] -@@ -2585,6 +2596,13 @@ source_set("browser") { +@@ -2603,6 +2614,13 @@ source_set("browser") { ] } @@ -644,8 +644,8 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn + } + if (allow_oop_video_decoder) { - sources += [ "media/stable_video_decoder_factory.cc" ] - deps += [ "//media/mojo/mojom/stable:stable_video_decoder" ] + sources += [ "media/oop_video_decoder_factory.cc" ] + deps += [ "//media/mojo/mojom" ] diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc --- a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc +++ b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc @@ -709,7 +709,7 @@ diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -142,6 +142,23 @@ +@@ -137,6 +137,23 @@ #include "content/common/android/sync_compositor_statics.h" #endif @@ -733,7 +733,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer using blink::Platform; using blink::WebAudioDevice; using blink::WebAudioLatencyHint; -@@ -184,6 +201,37 @@ gpu::ContextType ToGpuContextType(blink::Platform::ContextType type) { +@@ -179,6 +196,37 @@ gpu::ContextType ToGpuContextType(blink::Platform::ContextType type) { NOTREACHED(); } @@ -771,7 +771,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer } // namespace //------------------------------------------------------------------------------ -@@ -197,18 +245,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -192,18 +240,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( is_locked_to_site_(false), main_thread_scheduler_(main_thread_scheduler), next_frame_sink_id_(uint32_t{std::numeric_limits::max()} + 1) { @@ -837,7 +837,7 @@ new file mode 100644 diff --git a/skia/BUILD.gn b/skia/BUILD.gn --- a/skia/BUILD.gn +++ b/skia/BUILD.gn -@@ -440,6 +440,18 @@ component("skia") { +@@ -441,6 +441,18 @@ component("skia") { sources += skia_ports_fci_sources } diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 3fcf5538..f7f9f4bf 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -281,7 +281,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 -@@ -1309,7 +1309,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1335,7 +1335,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -403,8 +403,8 @@ 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/TabWindowManager.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java -@@ -110,6 +110,8 @@ public interface TabWindowManager { - */ +@@ -108,6 +108,8 @@ public interface TabWindowManager { + /** Returns the total number of incognito tabs across all tab model selectors. */ int getIncognitoTabCount(); + void setPagesFrozen(boolean frozen); @@ -415,8 +415,8 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java --- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java +++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java -@@ -476,6 +476,16 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan - return tabGroupModelFilter.getRelatedTabListForRootId(rootId); +@@ -490,6 +490,16 @@ public class TabWindowManagerImpl implements TabWindowManager { + return tabGroupModelFilter.getTabsInGroup(tabGroupId); } + @Override @@ -430,8 +430,8 @@ diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chro + } + @Override - public @Nullable TabModelSelector getTabModelSelectorById(int index) { - return mSelectors.get(index); + public @Nullable TabModelSelector getTabModelSelectorById(@WindowId int windowId) { + return mWindowIdToSelectors.get(windowId); diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp new file mode 100644 --- /dev/null @@ -562,7 +562,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()) { -@@ -408,6 +413,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -404,6 +409,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { mActionButtonView.setVisibility(View.VISIBLE); mActionButtonView.setContentDescription(snackbar.getActionText()); setViewText(mActionButtonView, snackbar.getActionText(), animate); @@ -615,7 +615,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 -@@ -3779,8 +3779,10 @@ void WebContentsImpl::Stop() { +@@ -3840,8 +3840,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -629,7 +629,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java -@@ -1161,6 +1161,12 @@ public class WebContentsImpl +@@ -1128,6 +1128,12 @@ public class WebContentsImpl WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus); } @@ -642,7 +642,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1453,6 +1459,8 @@ public class WebContentsImpl +@@ -1432,6 +1438,8 @@ public class WebContentsImpl void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -654,7 +654,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java --- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java +++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java -@@ -289,6 +289,8 @@ public interface WebContents extends Parcelable { +@@ -290,6 +290,8 @@ public interface WebContents extends Parcelable { */ void setFocus(boolean hasFocus); @@ -666,7 +666,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java --- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java +++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java -@@ -187,6 +187,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa +@@ -188,6 +188,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa @Override public void setFocus(boolean hasFocus) {} @@ -711,7 +711,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 -@@ -4308,6 +4308,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4309,6 +4309,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -722,7 +722,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 -@@ -3187,6 +3187,7 @@ void LocalFrame::DidFreeze() { +@@ -3196,6 +3196,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -730,7 +730,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3201,6 +3202,7 @@ void LocalFrame::DidResume() { +@@ -3210,6 +3211,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); @@ -741,7 +741,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc --- a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc +++ b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc -@@ -986,7 +986,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( +@@ -998,7 +998,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( if (!parent_page_scheduler_) return SchedulingLifecycleState::kNotThrottled; if (parent_page_scheduler_->IsFrozen()) { @@ -767,7 +767,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_sche PolicyUpdater policy_updater; SetPageFrozenImpl(frozen, policy_updater); } -@@ -799,7 +801,12 @@ bool PageSchedulerImpl::IsBackgrounded() const { +@@ -801,7 +803,12 @@ bool PageSchedulerImpl::IsBackgrounded() const { // expire immediately when a page is backgrounded, which is undesirable in // headless mode. To prevent that, a page is never considerer backgrounded // when virtual time is enabled. diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index 27974571..f977da70 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -52,7 +52,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc --- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc -@@ -202,6 +202,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus) +@@ -203,6 +203,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus) } } @@ -76,7 +76,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_party/blink/renderer/modules/webaudio/audio_buffer.h --- a/third_party/blink/renderer/modules/webaudio/audio_buffer.h +++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.h -@@ -115,6 +115,8 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable { +@@ -116,6 +116,8 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable { std::unique_ptr CreateSharedAudioBuffer(); @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b #include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h" #include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h" #include "third_party/blink/public/platform/platform.h" -@@ -709,6 +710,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { +@@ -715,6 +716,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { return To(GetExecutionContext()); } @@ -146,7 +146,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/ + static float ShuffleAudioData(float data, unsigned index); + protected: - enum ContextType { kRealtimeContext, kOfflineContext }; + enum class ContextType { kRealtimeContext, kOfflineContext }; diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc @@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ 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 -@@ -479,9 +479,8 @@ +@@ -495,9 +495,8 @@ { // AudioContext.playoutStats interface. // https://chromestatus.com/feature/5172818344148992 diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index 46d6aba4..29ea5a43 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -60,7 +60,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h --- a/third_party/blink/renderer/core/loader/base_fetch_context.h +++ b/third_party/blink/renderer/core/loader/base_fetch_context.h -@@ -86,6 +86,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { +@@ -88,6 +88,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { virtual SubresourceFilter* GetSubresourceFilter() const = 0; virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0; @@ -71,7 +71,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -1000,6 +1000,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { +@@ -1015,6 +1015,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { return should_block_request; } @@ -101,7 +101,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h --- a/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h -@@ -183,6 +183,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -186,6 +186,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override; std::unique_ptr CreateWebSocketHandshakeThrottle() override; @@ -224,7 +224,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc --- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc -@@ -288,6 +288,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { +@@ -284,6 +284,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { return false; } 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 493d470a..fe53f1f9 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 -@@ -4971,7 +4971,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -4982,7 +4982,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_; } -@@ -2940,6 +2945,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2939,6 +2944,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 d2ebe964..327e0e29 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -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 -@@ -1087,6 +1087,8 @@ component("net") { +@@ -1095,6 +1095,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", @@ -203,7 +203,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc #include "base/synchronization/lock.h" #include "base/task/single_thread_task_runner.h" #include "base/types/optional_util.h" -@@ -54,6 +55,7 @@ +@@ -55,6 +56,7 @@ #include "net/url_request/url_request_redirect_job.h" #include "url/gurl.h" #include "url/origin.h" @@ -211,7 +211,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc namespace net { -@@ -642,6 +644,12 @@ URLRequest::URLRequest(base::PassKey pass_key, +@@ -653,6 +655,12 @@ URLRequest::URLRequest(base::PassKey pass_key, // Sanity check out environment. DCHECK(base::SingleThreadTaskRunner::HasCurrentDefault()); @@ -227,7 +227,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -49,6 +49,7 @@ +@@ -50,6 +50,7 @@ #include "net/socket/network_binding_client_socket_factory.h" #include "net/ssl/ssl_config_service_defaults.h" #include "net/url_request/static_http_user_agent_settings.h" @@ -235,7 +235,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_job_factory.h" #include "url/url_constants.h" -@@ -594,6 +595,8 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -595,6 +596,8 @@ std::unique_ptr URLRequestContextBuilder::Build() { job_factory->SetProtocolHandler(scheme_handler.first, std::move(scheme_handler.second)); } diff --git a/build/patches/Bookmarks-select-all-menu-entry.patch b/build/patches/Bookmarks-select-all-menu-entry.patch index 6165bbc2..5e1a26ec 100644 --- a/build/patches/Bookmarks-select-all-menu-entry.patch +++ b/build/patches/Bookmarks-select-all-menu-entry.patch @@ -80,7 +80,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows 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 -@@ -246,6 +246,9 @@ CHAR_LIMIT guidelines: +@@ -249,6 +249,9 @@ CHAR_LIMIT guidelines: Sites diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 0e4bf002..3e82cb84 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -70,7 +70,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 -@@ -1928,6 +1928,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1935,6 +1935,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] @@ -674,7 +674,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 -@@ -2546,6 +2546,12 @@ static_library("browser") { +@@ -2578,6 +2578,12 @@ static_library("browser") { } if (is_android) { @@ -1087,7 +1087,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 -@@ -303,6 +303,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -308,6 +308,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kPriceChangeModule, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, @@ -1098,14 +1098,14 @@ 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 -@@ -381,6 +381,7 @@ public abstract class ChromeFeatureList { +@@ -388,6 +388,7 @@ public abstract class ChromeFeatureList { public static final String HISTORY_PANE_ANDROID = "HistoryPaneAndroid"; public static final String HTTPS_FIRST_BALANCED_MODE = "HttpsFirstBalancedMode"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; + public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; - public static final String INSTALL_MESSAGE_THROTTLE = "InstallMessageThrottle"; - public static final String IP_PROTECTION_V1 = "IpProtectionV1"; public static final String IP_PROTECTION_UX = "IpProtectionUx"; + public static final String LEGACY_TAB_STATE_DEPRECATION = "LegacyTabStateDeprecation"; + public static final String LENS_ON_QUICK_ACTION_SEARCH_WIDGET = "LensOnQuickActionSearchWidget"; diff --git a/chrome/browser/omaha/android/BUILD.gn b/chrome/browser/omaha/android/BUILD.gn --- a/chrome/browser/omaha/android/BUILD.gn +++ b/chrome/browser/omaha/android/BUILD.gn @@ -1676,7 +1676,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 -@@ -2397,6 +2397,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2405,6 +2405,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 @@ -1689,7 +1689,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4332,7 +4338,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4333,7 +4339,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1701,7 +1701,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4343,6 +4352,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4344,6 +4353,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported @@ -1723,7 +1723,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 -@@ -771,6 +771,7 @@ LensOverlayQueryController::CreateEndpointFetcher( +@@ -883,6 +883,7 @@ LensOverlayQueryController::CreateEndpointFetcher( /*post_data=*/request_string, /*headers=*/request_headers, /*cors_exempt_headers=*/cors_exempt_headers, chrome::GetChannel(), diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index afecc126..30968f71 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -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 -@@ -443,6 +443,7 @@ chrome_java_resources = [ +@@ -441,6 +441,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", -@@ -631,6 +632,7 @@ chrome_java_resources = [ +@@ -633,6 +634,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 -@@ -874,6 +874,8 @@ chrome_java_sources = [ +@@ -875,6 +875,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", @@ -426,7 +426,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java -@@ -916,9 +916,7 @@ public class TabModelImpl extends TabModelJniBridge { +@@ -925,9 +925,7 @@ public class TabModelImpl extends TabModelJniBridge { .createTabWithWebContents( parent, webContents, @@ -440,7 +440,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -16534,6 +16534,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -16585,6 +16585,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -511,7 +511,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1236,6 +1236,34 @@ BrowserProcessImpl::component_updater() { +@@ -1248,6 +1248,34 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -679,7 +679,7 @@ new file mode 100755 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 -@@ -639,6 +639,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -642,6 +642,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { StubResolverConfigReader::RegisterPrefs(registry); DefaultDnsOverHttpsConfigSource::RegisterPrefs(registry); @@ -710,8 +710,8 @@ diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser 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 -@@ -218,6 +218,20 @@ CHAR_LIMIT guidelines: - Advanced +@@ -221,6 +221,20 @@ CHAR_LIMIT guidelines: + %1$s <new>New</new> + @@ -734,7 +734,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro 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 -@@ -2851,6 +2851,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2860,6 +2860,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; inline constexpr char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 55056986..d80fd02f 100644 --- a/build/patches/Bubble-Locking-on-UI-DevTools.patch +++ b/build/patches/Bubble-Locking-on-UI-DevTools.patch @@ -33,7 +33,7 @@ diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/u diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h --- a/ui/views/widget/widget.h +++ b/ui/views/widget/widget.h -@@ -1361,6 +1361,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1386,6 +1386,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, void UpdateAccessibleNameForRootView(); void UpdateAccessibleURLForRootView(const GURL& url); @@ -53,7 +53,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h protected: // Creates the RootView to be used within this Widget. Subclasses may override // to create custom RootViews that do specialized event processing. -@@ -1399,13 +1412,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1424,13 +1437,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, ui::ColorProviderKey GetColorProviderKey() const override; private: @@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h class PaintAsActiveLockImpl; friend class ButtonTest; -@@ -1416,11 +1422,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1441,11 +1447,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, friend class ui_devtools::BubbleLocking; friend void DisableActivationChangeHandlingForTests(); diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch index 882c44fe..980c98e0 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../resources/extensions/toolbar.html.ts | 7 +++ .../browser/resources/extensions/toolbar.ts | 17 ++++++ .../resources/webstore_app/manifest.json | 7 +-- - .../ui/webui/extensions/extensions_ui.cc | 8 +++ + .../ui/webui/extensions/extensions_ui.cc | 7 +++ .../chrome_update_query_params_delegate.cc | 13 ++-- .../extensions/api/developer_private.idl | 2 + .../update_client/update_query_params.cc | 7 +-- @@ -50,7 +50,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html extensions/common/extension_features.cc | 14 +++++ extensions/common/extension_features.h | 2 + .../definitions/developer_private.d.ts | 2 + - 37 files changed, 253 insertions(+), 108 deletions(-) + 37 files changed, 252 insertions(+), 108 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp @@ -72,7 +72,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings. diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc --- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc -@@ -20,6 +20,12 @@ +@@ -21,6 +21,12 @@ #include "extensions/browser/permissions_manager.h" #endif // !BUILDFLAG(IS_ANDROID) @@ -85,7 +85,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a namespace extensions { namespace developer = api::developer_private; -@@ -61,6 +67,28 @@ DeveloperPrivateAPI::GetFactoryInstance() { +@@ -62,6 +68,28 @@ DeveloperPrivateAPI::GetFactoryInstance() { return g_developer_private_api_factory.Pointer(); } @@ -117,7 +117,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.h b/chrome/browser/extensions/api/developer_private/developer_private_api.h --- a/chrome/browser/extensions/api/developer_private/developer_private_api.h +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.h -@@ -32,6 +32,9 @@ class DeveloperPrivateAPI : public BrowserContextKeyedAPI, +@@ -33,6 +33,9 @@ class DeveloperPrivateAPI : public BrowserContextKeyedAPI, static BrowserContextKeyedAPIFactory* GetFactoryInstance(); @@ -130,7 +130,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a diff --git a/chrome/browser/extensions/api/developer_private/developer_private_functions_desktop.cc b/chrome/browser/extensions/api/developer_private/developer_private_functions_desktop.cc --- a/chrome/browser/extensions/api/developer_private/developer_private_functions_desktop.cc +++ b/chrome/browser/extensions/api/developer_private/developer_private_functions_desktop.cc -@@ -209,6 +209,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { +@@ -210,6 +210,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { ExtensionUpdater::CheckParams params; params.fetch_priority = DownloadFetchPriority::kForeground; params.install_immediately = true; @@ -141,7 +141,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f diff --git a/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc b/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc --- a/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc +++ b/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc -@@ -311,7 +311,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -360,7 +360,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { const developer::ProfileConfigurationUpdate& update = params->update; @@ -150,7 +150,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f Profile* profile = Profile::FromBrowserContext(browser_context()); CHECK(profile); if (supervised_user::AreExtensionsPermissionsEnabled(profile)) { -@@ -328,6 +328,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -377,6 +377,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { } #endif // !BUILDFLAG(IS_ANDROID) @@ -247,7 +247,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api diff --git a/chrome/browser/extensions/chrome_extension_system.cc b/chrome/browser/extensions/chrome_extension_system.cc --- a/chrome/browser/extensions/chrome_extension_system.cc +++ b/chrome/browser/extensions/chrome_extension_system.cc -@@ -84,6 +84,7 @@ UninstallPingSender::FilterResult ShouldSendUninstallPing( +@@ -85,6 +85,7 @@ UninstallPingSender::FilterResult ShouldSendUninstallPing( Profile* profile, const Extension* extension, UninstallReason reason) { @@ -271,7 +271,7 @@ diff --git a/chrome/browser/extensions/cws_info_service_factory.cc b/chrome/brow diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc --- a/chrome/browser/extensions/extension_management.cc +++ b/chrome/browser/extensions/extension_management.cc -@@ -387,6 +387,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( +@@ -386,6 +386,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( const Extension* extension) { @@ -295,7 +295,7 @@ diff --git a/chrome/browser/extensions/extension_safety_check_utils.cc b/chrome/ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc --- a/chrome/browser/extensions/extension_service.cc +++ b/chrome/browser/extensions/extension_service.cc -@@ -435,8 +435,6 @@ ExtensionService::ExtensionService( +@@ -248,8 +248,6 @@ ExtensionService::ExtensionService( UpgradeDetector::GetInstance()->AddObserver(this); @@ -303,8 +303,8 @@ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/ext - ExtensionManagementFactory::GetForBrowserContext(profile_)->AddObserver(this); - // Set up the ExtensionUpdater. -@@ -1463,7 +1461,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() { + if (autoupdate_enabled) { +@@ -1020,7 +1018,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() { // unpublished extensions should not be enabled. This update allows // unpublished extensions to be disabled sooner rather than waiting till the // next regularly scheduled fetch. @@ -327,7 +327,7 @@ diff --git a/chrome/browser/extensions/updater/chrome_extension_downloader_facto diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc --- a/chrome/browser/extensions/updater/extension_updater.cc +++ b/chrome/browser/extensions/updater/extension_updater.cc -@@ -50,6 +50,7 @@ +@@ -53,6 +53,7 @@ #include "extensions/browser/updater/extension_update_data.h" #include "extensions/common/constants.h" #include "extensions/common/extension.h" @@ -335,7 +335,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro #include "extensions/common/extension_set.h" #include "extensions/common/extension_updater_uma.h" #include "extensions/common/extension_urls.h" -@@ -205,6 +206,10 @@ void ExtensionUpdater::Start() { +@@ -223,6 +224,10 @@ void ExtensionUpdater::Start() { DCHECK(!weak_ptr_factory_.HasWeakPtrs()); DCHECK(registry_); alive_ = true; @@ -346,7 +346,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro // Check soon, and set up the first delayed check. if (!g_skip_scheduled_checks_for_tests) { if (g_should_immediately_update) -@@ -338,7 +343,8 @@ void ExtensionUpdater::AddToDownloader( +@@ -359,7 +364,8 @@ void ExtensionUpdater::AddToDownloader( const Extension& extension = **extension_iter; const ExtensionId& extension_id = extension.id(); if (!Manifest::IsAutoUpdateableLocation(extension.location())) { @@ -356,7 +356,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro continue; } // An extension might be overwritten by policy, and have its update url -@@ -352,7 +358,7 @@ void ExtensionUpdater::AddToDownloader( +@@ -373,7 +379,7 @@ void ExtensionUpdater::AddToDownloader( continue; } @@ -365,7 +365,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro update_check_params->update_info[extension_id] = GetExtensionUpdateData(extension_id); } else if (AddExtensionToDownloader(extension, request_id, -@@ -391,6 +397,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( +@@ -412,6 +418,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( } void ExtensionUpdater::CheckNow(CheckParams params) { @@ -375,10 +375,10 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro + LOG(INFO) << "Extensions autoupdate is disabled."; + return; + } + CHECK(enabled_); if (params.ids.empty()) { // Checking all extensions. Cancel pending DoCheckSoon() call if there's - // one, as it would be redundant. -@@ -399,7 +411,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -421,7 +433,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { int request_id = next_request_id_++; @@ -387,7 +387,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro if (params.ids.empty()) NotifyStarted(); -@@ -472,7 +484,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -494,7 +506,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { update_check_params.update_info[pending_id] = GetExtensionUpdateData(pending_id); } else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) { @@ -396,7 +396,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro continue; } // We have to mark high-priority extensions (such as policy-forced -@@ -482,7 +494,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -504,7 +516,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { // See https://crbug.com/904600 and https://crbug.com/965686. const bool is_high_priority_extension_pending = pending_extension_manager->HasHighPriorityPendingExtension(); @@ -405,7 +405,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro update_check_params.update_info[pending_id] = GetExtensionUpdateData(pending_id); update_check_params.update_info[pending_id].is_corrupt_reinstall = -@@ -505,6 +517,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -527,6 +539,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { LOG(WARNING) << "Corrupt extension with id " << pending_id << " will be reinstalled with ExtensionDownloader."; } @@ -414,7 +414,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro } else { InstallStageTracker::Get(profile_)->ReportFailure( pending_id, -@@ -517,13 +531,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -539,13 +553,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { AddToDownloader(®istry_->disabled_extensions(), pending_ids, request_id, params.fetch_priority, &update_check_params); ExtensionSet remotely_disabled_extensions; @@ -428,7 +428,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id, params.fetch_priority, &update_check_params); } else { -@@ -531,7 +538,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -553,7 +560,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { const Extension* extension = registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING); if (extension) { @@ -437,7 +437,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro update_check_params.update_info[id] = GetExtensionUpdateData(id); } else if (AddExtensionToDownloader(*extension, request_id, params.fetch_priority)) { -@@ -672,7 +679,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -697,7 +704,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( file.extension_id, InstallStageTracker::Stage::INSTALLING); UpdatePingData(file.extension_id, ping); @@ -446,7 +446,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro FetchedCRXFile fetched(file, file_ownership_passed, request_ids, std::move(callback)); -@@ -683,6 +690,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -708,6 +715,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id, DownloadPingData* ping_data) { @@ -454,7 +454,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro DCHECK(alive_); ping_data->rollcall_days = CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id)); -@@ -796,7 +804,7 @@ bool ExtensionUpdater::CanUseUpdateService( +@@ -823,7 +831,7 @@ bool ExtensionUpdater::CanUseUpdateService( void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) { std::set request_ids; @@ -462,8 +462,8 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro + LOG(INFO) << "Updating " << crx_file.info.extension_id << " with " << crx_file.info.path.value(); - // The ExtensionService is now responsible for cleaning up the temp file -@@ -905,7 +913,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { + // The delegate is now responsible for cleaning up the temp file at +@@ -1031,7 +1039,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { InProgressCheck& request = requests_in_progress_[request_id]; if (!request.in_progress_ids.empty() || request.awaiting_update_service) return; // This request is not done yet. @@ -475,7 +475,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h --- a/chrome/browser/extensions/updater/extension_updater.h +++ b/chrome/browser/extensions/updater/extension_updater.h -@@ -83,6 +83,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { +@@ -82,6 +82,8 @@ class ExtensionUpdater : public KeyedService, // right away. bool install_immediately = false; @@ -484,15 +484,15 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/brow // An extension update check can be originated by a user or by a scheduled // task. When the value of |fetch_priority| is FOREGROUND, the update // request was initiated by a user. -@@ -334,6 +336,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate { +@@ -371,6 +373,8 @@ class ExtensionUpdater : public KeyedService, base::TimeDelta frequency_; bool will_check_soon_ = false; + bool first_start_ = true; + - raw_ptr extension_prefs_ = nullptr; - raw_ptr prefs_ = nullptr; - raw_ptr profile_ = nullptr; + raw_ptr extension_prefs_ = nullptr; + raw_ptr prefs_ = nullptr; + raw_ptr profile_ = nullptr; diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/browser/extensions/webstore_install_helper.cc --- a/chrome/browser/extensions/webstore_install_helper.cc +++ b/chrome/browser/extensions/webstore_install_helper.cc @@ -508,7 +508,7 @@ diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/brows diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc --- a/chrome/browser/extensions/webstore_installer.cc +++ b/chrome/browser/extensions/webstore_installer.cc -@@ -591,7 +591,7 @@ void WebstoreInstaller::StartDownload( +@@ -594,7 +594,7 @@ void WebstoreInstaller::StartDownload( traffic_annotation)); params->set_file_path(file); params->set_initiator(render_frame_host->GetLastCommittedOrigin()); @@ -541,15 +541,15 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res showDrawer_: {type: Boolean}, @@ -167,6 +169,8 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { - inDevMode: boolean = loadTimeData.getBoolean('inDevMode'); - isMv2DeprecationNoticeDismissed: boolean = + accessor inDevMode: boolean = loadTimeData.getBoolean('inDevMode'); + accessor isMv2DeprecationNoticeDismissed: boolean = loadTimeData.getBoolean('MV2DeprecationNoticeDismissed'); + isExtUpdateEnabled: boolean = + loadTimeData.getBoolean('isExtUpdateEnabled'); - showActivityLog: boolean = loadTimeData.getBoolean('showActivityLog'); - enableEnhancedSiteControls: boolean = - loadTimeData.getBoolean('enableEnhancedSiteControls'); -@@ -228,6 +232,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { + accessor showActivityLog: boolean = + loadTimeData.getBoolean('showActivityLog'); + accessor enableEnhancedSiteControls: boolean = +@@ -231,6 +235,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { this.canLoadUnpacked = profileInfo.canLoadUnpacked; this.isMv2DeprecationNoticeDismissed = profileInfo.isMv2DeprecationNoticeDismissed; @@ -560,7 +560,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res diff --git a/chrome/browser/resources/extensions/service.ts b/chrome/browser/resources/extensions/service.ts --- a/chrome/browser/resources/extensions/service.ts +++ b/chrome/browser/resources/extensions/service.ts -@@ -306,6 +306,11 @@ export class Service implements ServiceInterface { +@@ -311,6 +311,11 @@ export class Service implements ServiceInterface { {inDeveloperMode: inDevMode}); } @@ -590,10 +590,10 @@ diff --git a/chrome/browser/resources/extensions/toolbar.css b/chrome/browser/re diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browser/resources/extensions/toolbar.html.ts --- a/chrome/browser/resources/extensions/toolbar.html.ts +++ b/chrome/browser/resources/extensions/toolbar.html.ts -@@ -25,6 +25,13 @@ export function getHtml(this: ToolbarElement) { - aria-labelledby="devModeLabel"> - - +@@ -32,6 +32,13 @@ export function getHtml(this: ToolbarElement) { + + + +
+ $i18n{toolbarExtensionUpdateEnabled} + $i18n{toolbarExtensionUpdateEnabledNeedRestart} @@ -645,13 +645,13 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res /** * Prevents initiating update while update is in progress. @@ -103,6 +112,8 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase { - extensions: chrome.developerPrivate.ExtensionInfo[] = []; - delegate: ToolbarDelegate = new DummyToolbarDelegate(); - inDevMode: boolean = false; + accessor extensions: chrome.developerPrivate.ExtensionInfo[] = []; + accessor delegate: ToolbarDelegate = new DummyToolbarDelegate(); + accessor inDevMode: boolean = false; + isExtUpdateEnabled: boolean = false; + shouldShowRelaunchDialog: boolean = false; - devModeControlledByPolicy: boolean = false; - isChildAccount: boolean = false; + accessor devModeControlledByPolicy: boolean = false; + accessor isChildAccount: boolean = false; @@ -155,6 +166,12 @@ export class ExtensionsToolbarElement extends ExtensionsToolbarElementBase { 'Options_ToggleDeveloperMode_' + (e.detail ? 'Enabled' : 'Disabled')); @@ -685,16 +685,15 @@ diff --git a/chrome/browser/resources/webstore_app/manifest.json b/chrome/browse diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc --- a/chrome/browser/ui/webui/extensions/extensions_ui.cc +++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc -@@ -53,6 +53,8 @@ - #include "ui/base/webui/web_ui_util.h" - #include "ui/webui/webui_util.h" - +@@ -17,6 +17,7 @@ + #include "base/values.h" + #include "build/build_config.h" + #include "chrome/browser/browser_process.h" +#include "chrome/browser/extensions/api/developer_private/developer_private_api.h" -+ - namespace extensions { - - namespace { -@@ -375,6 +377,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, + #include "chrome/browser/extensions/manifest_v2_experiment_manager.h" + #include "chrome/browser/extensions/mv2_experiment_stage.h" + #include "chrome/browser/extensions/permissions_url_constants.h" +@@ -379,6 +380,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, {"itemSuspiciousInstallLearnMore", IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE}, {"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE}, @@ -703,7 +702,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse {"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED}, {"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE}, {"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK}, -@@ -459,6 +463,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, +@@ -463,6 +466,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, "hostPermissionsLearnMoreLink", extension_permissions_constants::kRuntimeHostPermissionsHelpURL); source->AddBoolean(kInDevModeKey, in_dev_mode); @@ -740,15 +739,15 @@ diff --git a/chrome/browser/update_client/chrome_update_query_params_delegate.cc diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/extensions/api/developer_private.idl --- a/chrome/common/extensions/api/developer_private.idl +++ b/chrome/common/extensions/api/developer_private.idl -@@ -300,6 +300,7 @@ namespace developerPrivate { +@@ -272,6 +272,7 @@ namespace developerPrivate { boolean isIncognitoAvailable; boolean isChildAccount; boolean isMv2DeprecationNoticeDismissed; + boolean isExtensionAutoupdateEnabled; }; - // DEPRECATED: Prefer ExtensionInfo. -@@ -360,6 +361,7 @@ namespace developerPrivate { + dictionary GetExtensionsInfoOptions { +@@ -295,6 +296,7 @@ namespace developerPrivate { dictionary ProfileConfigurationUpdate { boolean? inDeveloperMode; boolean? isMv2DeprecationNoticeDismissed; @@ -807,7 +806,7 @@ new file mode 100644 diff --git a/extensions/browser/api/management/management_api.cc b/extensions/browser/api/management/management_api.cc --- a/extensions/browser/api/management/management_api.cc +++ b/extensions/browser/api/management/management_api.cc -@@ -25,6 +25,9 @@ +@@ -26,6 +26,9 @@ #include "components/supervised_user/core/common/buildflags.h" #include "components/supervised_user/core/common/features.h" #include "content/public/browser/browser_context.h" @@ -817,7 +816,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br #include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/api/management/management_api_constants.h" #include "extensions/browser/disable_reason.h" -@@ -40,6 +43,7 @@ +@@ -41,6 +44,7 @@ #include "extensions/common/api/management.h" #include "extensions/common/error_utils.h" #include "extensions/common/extension.h" @@ -825,7 +824,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br #include "extensions/common/extension_id.h" #include "extensions/common/extension_urls.h" #include "extensions/common/icons/extension_icon_set.h" -@@ -91,6 +95,27 @@ std::vector CreateWarningsList(const Extension* extension) { +@@ -92,6 +96,27 @@ std::vector CreateWarningsList(const Extension* extension) { return warnings_list; } @@ -853,7 +852,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br std::vector GetAvailableLaunchTypes( const Extension& extension, const ManagementAPIDelegate* delegate) { -@@ -268,6 +293,8 @@ void AddExtensionInfo(const Extension* source_extension, +@@ -269,6 +294,8 @@ void AddExtensionInfo(const Extension* source_extension, const ExtensionSet& extensions, ExtensionInfoList* extension_list, content::BrowserContext* context) { @@ -862,7 +861,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br for (ExtensionSet::const_iterator iter = extensions.begin(); iter != extensions.end(); ++iter) { const Extension& extension = **iter; -@@ -313,10 +340,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() { +@@ -314,10 +341,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() { std::optional params = management::Get::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); @@ -874,7 +873,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!target_extension) { return RespondNow(Error(keys::kNoExtensionError, params->id)); } -@@ -337,8 +363,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() { +@@ -338,8 +364,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() { EXTENSION_FUNCTION_VALIDATE(params); const Extension* extension = @@ -884,7 +883,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!extension) { return RespondNow(Error(keys::kNoExtensionError, params->id)); } -@@ -406,8 +431,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() { +@@ -407,8 +432,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() { } const Extension* extension = @@ -894,7 +893,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!extension) { return RespondNow(Error(keys::kNoExtensionError, params->id)); } -@@ -547,8 +571,8 @@ void ManagementSetEnabledFunction::CheckPermissionsIncrease() { +@@ -550,8 +574,8 @@ void ManagementSetEnabledFunction::CheckPermissionsIncrease() { // Extension could have been uninstalled externally while previous check was // happening. const Extension* extension = @@ -905,7 +904,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!extension) { FinishEnable(Error(keys::kNoExtensionError)); return; -@@ -591,8 +615,8 @@ void ManagementSetEnabledFunction::CheckManifestV2Deprecation() { +@@ -594,8 +618,8 @@ void ManagementSetEnabledFunction::CheckManifestV2Deprecation() { // Extension can be uninstalled externally while the previous check was // happening async. const Extension* extension = @@ -916,7 +915,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!extension) { FinishEnable(Error(keys::kNoExtensionError)); return; -@@ -736,8 +760,8 @@ void ManagementSetEnabledFunction::OnSupervisedExtensionApprovalDone( +@@ -739,8 +763,8 @@ void ManagementSetEnabledFunction::OnSupervisedExtensionApprovalDone( } const Extension* ManagementSetEnabledFunction::GetExtension() { @@ -927,7 +926,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br } ManagementUninstallFunctionBase::ManagementUninstallFunctionBase() = default; -@@ -762,8 +786,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall( +@@ -765,8 +789,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall( ->GetDelegate(); target_extension_id_ = target_extension_id; const Extension* target_extension = @@ -937,7 +936,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br ExtensionRegistry::EVERYTHING); if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) { return RespondNow(Error(keys::kNoExtensionError, target_extension_id_)); -@@ -828,8 +851,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() { +@@ -831,8 +854,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() { // The extension can be uninstalled in another window while the UI was // showing. Do nothing in that case. const Extension* target_extension = @@ -947,7 +946,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br ExtensionRegistry::EVERYTHING); std::string error; bool success = false; -@@ -906,8 +928,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() { +@@ -912,8 +934,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() { management::CreateAppShortcut::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); const Extension* extension = @@ -957,7 +956,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br if (!extension) { return RespondNow(Error( ErrorUtils::FormatErrorMessage(keys::kNoExtensionError, params->id))); -@@ -960,8 +981,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() { +@@ -967,8 +988,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() { management::SetLaunchType::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); const Extension* extension = @@ -1206,8 +1205,8 @@ diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/bro 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 -@@ -200,4 +200,18 @@ BASE_FEATURE(kDebuggerAPIRestrictedToDevMode, - "DebuggerAPIRestrictedToDevMode", +@@ -209,4 +209,18 @@ BASE_FEATURE(kExtensionBrowserNamespaceAlternative, + "ExtensionBrowserNamespaceAlternative", base::FEATURE_DISABLED_BY_DEFAULT); +// Activates the auto update of extensions. @@ -1228,9 +1227,9 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h --- a/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h -@@ -242,6 +242,8 @@ BASE_DECLARE_FEATURE(kUserScriptUserExtensionToggle); - // capability, even when no other API/feature might be restricted by it. - BASE_DECLARE_FEATURE(kDebuggerAPIRestrictedToDevMode); +@@ -252,6 +252,8 @@ BASE_DECLARE_FEATURE(kDebuggerAPIRestrictedToDevMode); + // `loadTimes` , `csi`, etc. or deprecated APIs (e.g. `app`). + BASE_DECLARE_FEATURE(kExtensionBrowserNamespaceAlternative); +BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate); +BASE_DECLARE_FEATURE(kEnableExtensionManagementToChromeStore); @@ -1240,7 +1239,7 @@ diff --git a/extensions/common/extension_features.h b/extensions/common/extensio diff --git a/tools/typescript/definitions/developer_private.d.ts b/tools/typescript/definitions/developer_private.d.ts --- a/tools/typescript/definitions/developer_private.d.ts +++ b/tools/typescript/definitions/developer_private.d.ts -@@ -284,6 +284,7 @@ declare global { +@@ -264,6 +264,7 @@ declare global { isIncognitoAvailable: boolean; isChildAccount: boolean; isMv2DeprecationNoticeDismissed: boolean; @@ -1248,7 +1247,7 @@ diff --git a/tools/typescript/definitions/developer_private.d.ts b/tools/typescr } export interface ExtensionConfigurationUpdate { -@@ -301,6 +302,7 @@ declare global { +@@ -281,6 +282,7 @@ declare global { export interface ProfileConfigurationUpdate { inDeveloperMode?: boolean; isMv2DeprecationNoticeDismissed?: boolean; diff --git a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch index a48970fa..93c4b172 100644 --- a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/preflight_cache.cc --- a/services/network/cors/preflight_cache.cc +++ b/services/network/cors/preflight_cache.cc -@@ -200,6 +200,10 @@ void PreflightCache::MayPurgeForTesting(size_t max_entries, size_t purge_unit) { +@@ -204,6 +204,10 @@ void PreflightCache::MayPurgeForTesting(size_t max_entries, size_t purge_unit) { MayPurge(max_entries, purge_unit); } @@ -79,7 +79,7 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1324,6 +1324,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1328,6 +1328,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, base::Time end_time, mojom::ClearDataFilterPtr filter, ClearHttpCacheCallback callback) { diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 5dfefd8b..646d747d 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc -@@ -185,9 +185,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( +@@ -203,9 +203,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( bool parse_result = base::StringToInt(major_version, &major_version_number); DCHECK(parse_result); std::optional brand; @@ -44,7 +44,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc --- a/content/browser/client_hints/client_hints.cc +++ b/content/browser/client_hints/client_hints.cc -@@ -62,6 +62,7 @@ +@@ -57,6 +57,7 @@ #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/page/page_zoom.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h" @@ -52,7 +52,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie #include "ui/display/display.h" #include "ui/display/screen.h" #include "url/origin.h" -@@ -708,7 +709,8 @@ void UpdateNavigationRequestClientUaHeadersImpl( +@@ -703,7 +704,8 @@ void UpdateNavigationRequestClientUaHeadersImpl( // value, disable them. This overwrites previous decision from UI. disable_due_to_custom_ua = !ua_metadata.has_value(); } @@ -62,7 +62,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie if (!disable_due_to_custom_ua) { if (!ua_metadata.has_value()) ua_metadata = delegate->GetUserAgentMetadata(); -@@ -890,10 +892,12 @@ void AddRequestClientHintsHeaders( +@@ -885,10 +887,12 @@ void AddRequestClientHintsHeaders( AddEctHeader(headers, network_quality_tracker, url); } @@ -79,7 +79,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie if (ShouldAddClientHint(data, WebClientHintsType::kPrefersColorScheme)) { AddPrefersColorSchemeHeader(headers, frame_tree_node); -@@ -974,6 +978,7 @@ ParseAndPersistAcceptCHForNavigation( +@@ -969,6 +973,7 @@ ParseAndPersistAcceptCHForNavigation( BrowserContext* context, ClientHintsControllerDelegate* delegate, FrameTreeNode* frame_tree_node) { @@ -90,7 +90,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc --- a/content/browser/loader/navigation_url_loader_impl.cc +++ b/content/browser/loader/navigation_url_loader_impl.cc -@@ -1305,6 +1305,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( +@@ -1345,6 +1345,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( return; } @@ -131,7 +131,7 @@ new file mode 100644 diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc -@@ -105,6 +105,7 @@ const size_t kMaxRestarts = 32; +@@ -107,6 +107,7 @@ const size_t kMaxRestarts = 32; // Returns true when Early Hints are allowed on the given protocol. bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) { @@ -234,7 +234,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -224,6 +224,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy, +@@ -226,6 +226,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy, bool is_1p_origin, network::mojom::blink::WebClientHintsType type, const ClientHintsPreferences& hints_preferences) { @@ -243,7 +243,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi // For subresource requests, sending the hint in the fetch request based on // the permissions policy. if (!policy.IsFeatureEnabledForOrigin( -@@ -604,7 +606,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -606,7 +608,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( } // Only send User Agent hints if the info is available @@ -255,9 +255,9 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -439,6 +439,11 @@ +@@ -450,6 +450,11 @@ name: "AriaNotifyV2", - status: "test", + status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"}, }, + { + name: "UserAgentClientHint", @@ -267,7 +267,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 { name: "AriaRowColIndexText", status: "stable", -@@ -804,8 +809,7 @@ +@@ -818,8 +823,7 @@ // Allows top-level sites to restrict collection of high-entropy UA client // hints (from 3Ps, or itself) via the getHighEntropyValues API. // crbug.com/385161047 @@ -276,5 +276,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + name: "ClientHintUAHighEntropyValuesPermissionPolicy", // disabled by default }, { - // Enables the API for getting a unique token of the system clipboard's + // Enables clipboardchange event API for listening for changes to the -- diff --git a/build/patches/Close-Sessions-On-Ip-Change.patch b/build/patches/Close-Sessions-On-Ip-Change.patch index b0d3afec..6770b493 100644 --- a/build/patches/Close-Sessions-On-Ip-Change.patch +++ b/build/patches/Close-Sessions-On-Ip-Change.patch @@ -87,7 +87,7 @@ new file mode 100644 diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -485,7 +485,7 @@ BASE_FEATURE_PARAM(size_t, +@@ -484,7 +484,7 @@ BASE_FEATURE_PARAM(size_t, // NetworkChangeNotifier::AreNetworkHandlesSupported). #if BUILDFLAG(IS_ANDROID) inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default = diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index a138928e..2968d8fc 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -44,12 +44,12 @@ Require: bromite-build-utils.patch .../BromiteCustomContentSettingImpl.java | 412 ++++++++++++++++++ ...tomTriStateSiteSettingsPreferenceImpl.java | 24 + .../ContentSettingsResources.java | 16 +- - .../site_settings/SingleCategorySettings.java | 56 ++- + .../site_settings/SingleCategorySettings.java | 54 ++- .../site_settings/SingleWebsiteSettings.java | 58 ++- .../site_settings/SiteSettings.java | 33 +- .../site_settings/SiteSettingsCategory.java | 18 +- .../site_settings/SiteSettingsDelegate.java | 2 + - .../TriStateSiteSettingsPreference.java | 13 +- + .../TriStateSiteSettingsPreference.java | 11 + .../browser_ui/site_settings/Website.java | 6 +- .../WebsitePermissionsFetcher.java | 2 +- .../WebsitePreferenceBridge.java | 3 +- @@ -76,7 +76,7 @@ Require: bromite-build-utils.patch .../renderer/content_settings_agent_impl.cc | 74 ++++ .../renderer/content_settings_agent_impl.h | 9 + .../PageInfoPermissionsController.java | 9 + - .../PermissionParamsListBuilder.java | 8 +- + .../PermissionParamsListBuilder.java | 8 + .../android/page_info_controller_android.cc | 18 + components/page_info/page_info.cc | 23 +- components/page_info/page_info_ui.cc | 25 ++ @@ -84,7 +84,7 @@ Require: bromite-build-utils.patch .../platform/web_content_settings_client.h | 13 + .../execution_context/execution_context.cc | 16 + .../execution_context/execution_context.h | 5 + - 73 files changed, 1942 insertions(+), 106 deletions(-) + 73 files changed, 1942 insertions(+), 102 deletions(-) create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java @@ -98,7 +98,7 @@ Require: bromite-build-utils.patch diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java -@@ -67,6 +67,10 @@ import org.chromium.url.GURL; +@@ -69,6 +69,10 @@ import org.chromium.url.GURL; import java.util.List; import java.util.Set; @@ -108,8 +108,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C + /** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { - public static final String EMBEDDED_CONTENT_HELP_CENTER_URL = -@@ -236,7 +240,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { + private final Context mContext; +@@ -232,7 +236,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { @Override public boolean isHelpAndFeedbackEnabled() { @@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C } @Override -@@ -393,6 +397,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -389,6 +393,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin); } @@ -151,7 +151,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html -@@ -1526,4 +1526,5 @@ +@@ -1574,4 +1574,5 @@ @@ -263,9 +263,9 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc /** * Add all of the child routes that originate from the privacy route, -@@ -166,6 +167,7 @@ function addPrivacyChildRoutes(r: Partial) { - r.SITE_SETTINGS_WEB_APP_INSTALLATION = - r.SITE_SETTINGS.createChild('webApplications'); +@@ -170,6 +171,7 @@ function addPrivacyChildRoutes(r: Partial) { + r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS = + r.SITE_SETTINGS.createChild('localNetworkAccess'); } + setupContentSettingsRoutes(r); } @@ -322,9 +322,9 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d + askOptionSubLabel: string; + askOptionIcon: string; private pref_: chrome.settingsPrivate.PrefObject; + selected: boolean; - override ready() { -@@ -124,6 +132,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -125,6 +133,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends (category: ContentSettingsTypes) => this.onCategoryChanged_(category)); } @@ -336,9 +336,9 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d + } + private getAllowOptionForCategory_(): ContentSetting { + // Keep elements in alphabetical order within their groups. switch (this.category) { - case ContentSettingsTypes.ADS: -@@ -172,6 +187,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -175,6 +190,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends // "Ask" vs "Blocked". return ContentSetting.ASK; default: @@ -347,15 +347,15 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d assertNotReached('Invalid category: ' + this.category); } } -@@ -196,6 +213,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -199,6 +216,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends /** @type {!ContentSetting} */ (this.getAllowOptionForCategory_()); this.browserProxy.setDefaultValueForContentType( this.category, + this.pref_.value === SiteContentRadioSetting.ASK ? "ask" : this.categoryEnabled_ ? allowOption : ContentSetting.BLOCK); - } - -@@ -227,7 +245,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends + if (this.selected !== this.categoryEnabled_) { + this.selected = this.categoryEnabled_; +@@ -235,7 +253,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends } const enabled = this.computeIsSettingEnabled(update.setting); @@ -365,13 +365,13 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d + const prefValue = ask ? SiteContentRadioSetting.ASK : + enabled ? SiteContentRadioSetting.ENABLED : SiteContentRadioSetting.DISABLED; - + this.selected = enabled; this.set('pref_.value', prefValue); diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html --- a/chrome/browser/resources/settings/site_settings/site_details.html +++ b/chrome/browser/resources/settings/site_settings/site_details.html -@@ -326,4 +326,5 @@ - label="$i18n{siteSettingsWebAppInstallation}"> +@@ -333,4 +333,5 @@ + label="$i18n{siteSettingsLocalNetworkAccess}"> +
@@ -589,7 +589,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ { route: routes.SITE_SETTINGS_ADS, id: Id.ADS, -@@ -440,10 +440,36 @@ function getCategoryItemMap(): Map { +@@ -450,10 +450,36 @@ function getCategoryItemMap(): Map { icon: 'privacy:cookie', }, ]; @@ -626,7 +626,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]): CategoryListItem[] { const map = getCategoryItemMap(); -@@ -532,7 +558,7 @@ export class SettingsSiteSettingsPageElement extends +@@ -543,7 +569,7 @@ export class SettingsSiteSettingsPageElement extends Id.IMAGES, Id.POPUPS, ]), @@ -693,7 +693,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ /** * Determine localization string for i18n for a given content settings type. * Sorted alphabetically by |ContentSettingsType|. -@@ -108,6 +156,13 @@ export function getLocalizationStringForContentType( +@@ -110,6 +158,13 @@ export function getLocalizationStringForContentType( case ContentSettingsTypes.SMART_CARD_READERS: return null; default: @@ -710,7 +710,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1789,6 +1789,7 @@ static_library("ui") { +@@ -1802,6 +1802,7 @@ static_library("ui") { "//components/commerce/core/mojom:mojo_bindings", "//components/commerce/core/webui", "//components/endpoint_fetcher:endpoint_fetcher", @@ -718,7 +718,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//components/enterprise/common:files_scan_data", "//components/feedback/proto", "//components/headless/policy", -@@ -5001,6 +5002,7 @@ static_library("ui") { +@@ -5028,6 +5029,7 @@ static_library("ui") { "//components/power_bookmarks/storage", "//components/prefs", "//components/reading_list/features:flags", @@ -841,7 +841,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom // For guard content settings and Automatic Picture-in-Picture, ASK is treated // as an "on" state. const bool show_blocked_badge = -@@ -576,6 +585,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -580,6 +589,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( icon = &vector_icons::kPrinterIcon; break; default: @@ -862,7 +862,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.h b/chrome/browser/ui/views/page_info/page_info_view_factory.h --- a/chrome/browser/ui/views/page_info/page_info_view_factory.h +++ b/chrome/browser/ui/views/page_info/page_info_view_factory.h -@@ -95,6 +95,11 @@ class PageInfoViewFactory { +@@ -96,6 +96,11 @@ class PageInfoViewFactory { const PageInfo::PermissionInfo& info, bool blocked_on_system_level = false); @@ -1177,7 +1177,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #include "build/branding_buildflags.h" #include "build/build_config.h" #include "build/buildflag.h" -@@ -74,6 +75,9 @@ +@@ -76,6 +77,9 @@ #include "components/dom_distiller/core/dom_distiller_features.h" #include "components/google/core/common/google_util.h" #include "components/history/core/common/pref_names.h" @@ -1187,7 +1187,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #include "components/password_manager/core/browser/leak_detection_dialog_utils.h" #include "components/password_manager/core/browser/manage_passwords_referrer.h" #include "components/password_manager/core/common/password_manager_features.h" -@@ -3812,6 +3816,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3822,6 +3826,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -1256,7 +1256,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_pattern.h" #include "components/content_settings/core/common/content_settings_types.h" -@@ -250,13 +252,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< +@@ -251,13 +253,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< {ContentSettingsType::REVOKED_DISRUPTIVE_NOTIFICATION_PERMISSIONS, nullptr}, }); @@ -1277,7 +1277,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b struct SiteSettingSourceStringMapping { SiteSettingSource source; -@@ -504,6 +506,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -505,6 +507,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { return true; } } @@ -1291,7 +1291,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return false; } -@@ -517,11 +526,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { +@@ -518,11 +527,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { return entry.type; } } @@ -1317,7 +1317,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b for (const auto& entry : kContentSettingsTypeGroupNames) { if (type == entry.type) { // Content setting types that aren't represented in the settings UI -@@ -536,7 +558,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { +@@ -537,7 +559,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { return entry.name ? entry.name : std::string_view(); } } @@ -1325,8 +1325,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b NOTREACHED() << static_cast(type) << " is not a recognized content settings type."; } -@@ -645,6 +666,13 @@ std::vector GetVisiblePermissionCategories( - base_types->push_back(ContentSettingsType::WEB_APP_INSTALLATION); +@@ -649,6 +670,13 @@ std::vector GetVisiblePermissionCategories( + base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS); } + content_settings::WebsiteSettingsRegistry* website_settings = @@ -1499,13 +1499,13 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium + holder.setDividerAllowedAbove(true); + holder.setDividerAllowedBelow(true); + } - ((TextView) assumeNonNull(holder.findViewById(R.id.title))).setText(getTitle()); + ((TextView) holder.findViewById(R.id.title)).setText(getTitle()); CharSequence summary = getSummary(); TextView summaryView = ((TextView) holder.findViewById(R.id.summary)); diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn --- a/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn -@@ -148,6 +148,23 @@ android_library("java") { +@@ -151,6 +151,23 @@ android_library("java") { ":site_settings_jni_headers", "//components/content_settings/android:java_pref_names_srcjar", ] @@ -1529,7 +1529,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b } android_library("javatests") { -@@ -196,6 +213,7 @@ robolectric_library("junit") { +@@ -200,6 +217,7 @@ robolectric_library("junit") { } android_resources("java_resources") { @@ -1540,7 +1540,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml --- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml +++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml -@@ -181,4 +181,11 @@ The order of the following items is from: http://crbug.com/610358. +@@ -185,4 +185,11 @@ The order of the following items is from: http://crbug.com/610358. android:title="@string/safety_hub_autorevocation_toggle_title" android:summary="@string/safety_hub_autorevocation_toggle_summary" /> @@ -1555,7 +1555,7 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_setti diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java -@@ -397,7 +397,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment +@@ -389,7 +389,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -1565,7 +1565,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -409,6 +410,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment +@@ -401,6 +402,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment getResources(), R.drawable.ic_help_and_feedback, getContext().getTheme())); @@ -2190,27 +2190,27 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c - private static class ResourceItem { + public static class ResourceItem { private final int mIcon; + private final int mIconBlocked; private final int mTitle; - private final @ContentSettingValues @Nullable Integer mDefaultEnabledValue; -@@ -49,7 +49,7 @@ public class ContentSettingsResources { - private final int mDisabledSummary; - private final int mSummaryOverrideForScreenReader; +@@ -54,7 +54,7 @@ public class ContentSettingsResources { + private int mEnabledDescriptionText; + private int mDisabledDescriptionText; - ResourceItem( + public ResourceItem( int icon, int title, @ContentSettingValues @Nullable Integer defaultEnabledValue, -@@ -450,6 +450,8 @@ public class ContentSettingsResources { - R.string.website_settings_category_vr_blocked, - R.string.website_settings_category_vr_a11y); +@@ -641,6 +641,8 @@ public class ContentSettingsResources { + R.string.website_settings_vr_ask, + R.string.website_settings_vr_block); } + ResourceItem ri = BromiteCustomContentSettingImpl.getResourceItem(contentType); + if (ri != null) return ri; assert false; // NOTREACHED return assumeNonNull(null); } -@@ -608,6 +610,14 @@ public class ContentSettingsResources { +@@ -799,6 +801,14 @@ public class ContentSettingsResources { return getResourceItem(contentType).getDefaultDisabledValue(); } @@ -2225,19 +2225,19 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Returns the string resource id for a given ContentSetting to show with a permission category. * -@@ -781,6 +791,8 @@ public class ContentSettingsResources { - * Blocked states, in that order. +@@ -973,6 +983,8 @@ public class ContentSettingsResources { */ - public static int @Nullable [] getTriStateSettingDescriptionIDs(int contentType) { + public static int @Nullable [] getTriStateSettingDescriptionIDs( + int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) { + int[] value = BromiteCustomContentSettingImpl.getTriStateSettingDescriptionIDs(contentType); + if (value != null) return value; if (contentType == ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER) { - int[] descriptionIDs = { - R.string.website_settings_category_protected_content_allowed_recommended, + if (isPermissionSiteSettingsRadioButtonFeatureEnabled) { + int[] descriptionIDs = { diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java -@@ -334,6 +334,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -341,6 +341,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment website.site() .getContentSetting( browserContextHandle, mCategory.getContentSettingsType()); @@ -2248,7 +2248,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSetting != null) { return ContentSettingValues.BLOCK == contentSetting; } -@@ -519,6 +523,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -529,6 +533,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment ? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS)) : null; @@ -2256,7 +2256,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c configureGlobalToggles(); if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) { RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered"); -@@ -554,7 +559,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -564,7 +569,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -2266,7 +2266,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -566,12 +572,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -576,12 +582,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment getResources(), R.drawable.ic_help_and_feedback, getContext().getTheme())); @@ -2287,7 +2287,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) { getSiteSettingsDelegate() .launchProtectedContentHelpAndFeedbackActivity(getActivity()); -@@ -644,6 +658,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -657,6 +671,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment BrowserContextHandle browserContextHandle = getSiteSettingsDelegate().getBrowserContextHandle(); PrefService prefService = UserPrefs.get(browserContextHandle); @@ -2296,10 +2296,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + getInfoForOrigins(); + return true; + } - if (BINARY_TOGGLE_KEY.equals(preference.getKey())) { + if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey()) + || BINARY_TOGGLE_KEY.equals(preference.getKey())) { assert !mCategory.isManaged(); - boolean toggleValue = (boolean) newValue; -@@ -827,7 +846,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -841,7 +860,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment ? R.string.website_settings_add_site_description_javascript_optimizer_block : R.string.website_settings_add_site_description_javascript_optimizer_allow; } @@ -2308,7 +2308,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // OnPreferenceClickListener: -@@ -947,10 +966,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -962,10 +981,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment default: break; } @@ -2323,7 +2323,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c getPreferenceScreen() .addPreference( new AddExceptionPreference( -@@ -1138,9 +1158,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1150,8 +1170,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment private boolean isBlocked() { switch (mGlobalToggleLayout) { case GlobalToggleLayout.TRI_STATE_TOGGLE: @@ -2336,12 +2336,11 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + } TriStateSiteSettingsPreference triStateToggle = getPreferenceScreen().findPreference(TRI_STATE_TOGGLE_KEY); -- assumeNonNull(triStateToggle); + if (triStateToggle == null) return true; return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK); case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE: TriStateCookieSettingsPreference triStateCookieToggle = -@@ -1269,7 +1296,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1298,7 +1326,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else if (res_id != -1) { infoText.setSummary(res_id); } else { @@ -2354,7 +2353,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Hide the anti-abuse text preferences, as needed. -@@ -1314,6 +1345,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1337,6 +1369,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else { screen.removePreference(mLocationTriStatePref); } @@ -2362,16 +2361,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (permissionBlockedByOs) { maybeShowOsWarning(screen); -@@ -1491,7 +1523,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment - getSiteSettingsDelegate().getBrowserContextHandle(), contentType); - int[] descriptionIds = - ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType); -- triStateToggle.initialize(setting, descriptionIds); -+ triStateToggle.initialize(contentType, setting, descriptionIds); - } - - private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) { -@@ -1615,6 +1647,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1526,6 +1559,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment + iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType); + } + triStateToggle.initialize( ++ contentType, + setting, + descriptionIds, + iconIds, +@@ -1685,6 +1719,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment @ContentSettingValues Integer value = site.getContentSetting(browserContextHandle, contentSettingsType); @@ -2389,7 +2387,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -54,6 +54,7 @@ import java.util.Collection; +@@ -57,6 +57,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -2397,7 +2395,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** Shows the permissions and other settings for a particular website. */ @NullMarked -@@ -181,7 +182,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -185,7 +186,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment case ContentSettingsType.FILE_SYSTEM_WRITE_GUARD: return "file_system_write_guard_permission_list"; default: @@ -2406,9 +2404,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -577,8 +578,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -591,8 +592,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment private void setupContentSettingsPreferences() { - Preference permissionsHeaderPref = assumeNonNull(findPreference(PREF_PERMISSIONS_HEADER)); + Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER); mMaxPermissionOrder = permissionsHeaderPref.getOrder(); - for (@ContentSettingsType.EnumType int type : SiteSettingsUtil.SETTINGS_ORDER) { - Preference preference = new ChromeSwitchPreference(getStyledContext()); @@ -2430,7 +2428,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c preference.setKey(getPreferenceKey(type)); if (type == ContentSettingsType.ADS) { -@@ -1183,20 +1197,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1273,20 +1287,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @ContentSettingValues @Nullable Integer value, boolean isEmbargoed, boolean isOneTime) { @@ -2471,7 +2469,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c AppCompatResources.getColorStateList(getContext(), mHighlightColor) .getDefaultColor()); } -@@ -1413,14 +1439,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1507,14 +1533,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment if (newValue instanceof Boolean) { permission = (Boolean) newValue ? getEnabledValue(type) : ContentSettingValues.BLOCK; } else { @@ -2513,7 +2511,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + type < BromiteCustomContentSettingImpl.NUM_ENTRIES(); type++) { if (!getSiteSettingsDelegate().isCategoryVisible(type)) { - Preference pref = assumeNonNull(findPreference(type)); + Preference pref = findPreference(type); @@ -113,7 +114,7 @@ public class SiteSettings extends BaseSiteSettingsFragment @CookieControlsMode int cookieControlsMode = @@ -2562,25 +2560,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java -@@ -77,7 +77,7 @@ public class SiteSettingsCategory { - Type.TRACKING_PROTECTION, +@@ -78,7 +78,7 @@ public class SiteSettingsCategory { Type.FILE_EDITING, Type.JAVASCRIPT_OPTIMIZER, + Type.SERIAL_PORT, - Type.NUM_ENTRIES + Type.NUM_ENTRIES_CHROMIUM }) @Retention(RetentionPolicy.SOURCE) public @interface Type { -@@ -119,7 +119,7 @@ public class SiteSettingsCategory { - int JAVASCRIPT_OPTIMIZER = 33; +@@ -121,7 +121,7 @@ public class SiteSettingsCategory { + int SERIAL_PORT = 34; /** Number of handled categories used for calculating array sizes. */ -- int NUM_ENTRIES = 34; -+ int NUM_ENTRIES_CHROMIUM = 34; +- int NUM_ENTRIES = 35; ++ int NUM_ENTRIES_CHROMIUM = 35; } private final BrowserContextHandle mBrowserContextHandle; -@@ -170,6 +170,9 @@ public class SiteSettingsCategory { +@@ -172,6 +172,9 @@ public class SiteSettingsCategory { } else { permission = ""; } @@ -2590,7 +2588,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return new SiteSettingsCategory(browserContextHandle, type, permission); } -@@ -178,7 +181,7 @@ public class SiteSettingsCategory { +@@ -180,7 +183,7 @@ public class SiteSettingsCategory { @ContentSettingsType.EnumType int contentSettingsType) { assert contentSettingsType != -1; assert Type.ALL_SITES == 0; @@ -2599,7 +2597,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSettingsType(i) == contentSettingsType) { return createFromType(browserContextHandle, i); } -@@ -189,7 +192,7 @@ public class SiteSettingsCategory { +@@ -191,7 +194,7 @@ public class SiteSettingsCategory { public static @Nullable SiteSettingsCategory createFromPreferenceKey( BrowserContextHandle browserContextHandle, String preferenceKey) { assert Type.ALL_SITES == 0; @@ -2608,7 +2606,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (preferenceKey(i).equals(preferenceKey)) { return createFromType(browserContextHandle, i); } -@@ -266,8 +269,7 @@ public class SiteSettingsCategory { +@@ -270,8 +273,7 @@ public class SiteSettingsCategory { case Type.TRACKING_PROTECTION: return ContentSettingsType.DEFAULT; // Conversion unavailable. } @@ -2618,7 +2616,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } /** -@@ -358,8 +360,12 @@ public class SiteSettingsCategory { +@@ -366,8 +368,12 @@ public class SiteSettingsCategory { case Type.ZOOM: return "zoom"; default: @@ -2634,7 +2632,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java -@@ -218,6 +218,8 @@ public interface SiteSettingsDelegate { +@@ -213,6 +213,8 @@ public interface SiteSettingsDelegate { */ String getRelatedWebsiteSetOwner(String memberOrigin); @@ -2646,7 +2644,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TriStateSiteSettingsPreference.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TriStateSiteSettingsPreference.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TriStateSiteSettingsPreference.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TriStateSiteSettingsPreference.java -@@ -18,6 +18,7 @@ import org.chromium.build.annotations.NullMarked; +@@ -16,6 +16,7 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.components.browser_ui.widget.RadioButtonWithDescription; import org.chromium.components.content_settings.ContentSettingValues; @@ -2654,27 +2652,30 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** A 3-state Allowed/Ask/Blocked radio group Preference used for SiteSettings. */ @NullMarked -@@ -29,6 +30,7 @@ public class TriStateSiteSettingsPreference extends Preference - private RadioButtonWithDescription mAsk; - private RadioButtonWithDescription mBlocked; +@@ -30,6 +31,7 @@ public class TriStateSiteSettingsPreference extends Preference private RadioGroup mRadioGroup; + private boolean mIsPermissionSiteSettingsRadioButtonFeatureEnabled; + private int mIconMarginEnd; + private @ContentSettingsType.EnumType int mContentType; public TriStateSiteSettingsPreference(Context context, AttributeSet attrs) { super(context, attrs); -@@ -48,7 +50,9 @@ public class TriStateSiteSettingsPreference extends Preference - * @param descriptionIds An array of 3 resource IDs for descriptions for - * Allowed, Ask and Blocked states, in that order. +@@ -50,11 +52,13 @@ public class TriStateSiteSettingsPreference extends Preference + * Blocked states, in that order. */ -- public void initialize(@ContentSettingValues int setting, int @Nullable [] descriptionIds) { -+ public void initialize(@ContentSettingsType.EnumType int contentType, -+ @ContentSettingValues int setting, int @Nullable [] descriptionIds) { + public void initialize( ++ @ContentSettingsType.EnumType int contentType, + @ContentSettingValues int setting, + int @Nullable [] descriptionIds, + int @Nullable [] iconIds, + boolean isPermissionSiteSettingsRadioButtonFeatureEnabled, + int iconMarginEnd) { + mContentType = contentType; mSetting = setting; mDescriptionIds = descriptionIds; - } -@@ -86,6 +90,13 @@ public class TriStateSiteSettingsPreference extends Preference - mRadioGroup = assumeNonNull(radioGroup); + mIconIds = iconIds; +@@ -92,6 +96,13 @@ public class TriStateSiteSettingsPreference extends Preference + mRadioGroup = (RadioGroup) holder.findViewById(R.id.radio_button_layout); mRadioGroup.setOnCheckedChangeListener(this); + BromiteCustomContentSetting cs = @@ -2685,12 +2686,12 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + mBlocked.setPrimaryText(getContext().getText(mDescriptionIds[2])); + } else if (mDescriptionIds != null) { - mAllowed.setDescriptionText(getContext().getText(mDescriptionIds[0])); - mAsk.setDescriptionText(getContext().getText(mDescriptionIds[1])); + if (mIsPermissionSiteSettingsRadioButtonFeatureEnabled) { + mAllowed.setPrimaryText(getContext().getText(mDescriptionIds[0])); diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java -@@ -331,7 +331,11 @@ public final class Website implements WebsiteEntry { +@@ -336,7 +336,11 @@ public final class Website implements WebsiteEntry { RecordUserAction.record("SoundContentSetting.UnmuteBy.SiteSettings"); } } @@ -2706,7 +2707,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java -@@ -111,7 +111,7 @@ public class WebsitePermissionsFetcher { +@@ -115,7 +115,7 @@ public class WebsitePermissionsFetcher { case ContentSettingsType.USB_GUARD: return WebsitePermissionsType.CHOSEN_OBJECT_INFO; default: @@ -2845,9 +2846,9 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -859,6 +860,7 @@ void ContentSettingsRegistry::Init() { - WebsiteSettingsRegistry::DESKTOP, - ContentSettingsInfo::INHERIT_IN_INCOGNITO, +@@ -871,6 +872,7 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsRegistry::PLATFORM_ANDROID, + ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +#include "components/content_settings/core/browser/bromite_content_settings.inc" } @@ -2856,7 +2857,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc --- a/components/content_settings/core/browser/content_settings_uma_util.cc +++ b/components/content_settings/core/browser/content_settings_uma_util.cc -@@ -215,11 +215,7 @@ void RecordContentSettingsHistogram(const std::string& name, +@@ -216,11 +216,7 @@ void RecordContentSettingsHistogram(const std::string& name, } int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { @@ -3053,7 +3054,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo } RendererContentSettingRules::RendererContentSettingRules() = default; -@@ -127,4 +138,17 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( +@@ -127,7 +138,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( RendererContentSettingRules&& rules) = default; bool RendererContentSettingRules::operator==( @@ -3072,6 +3073,9 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo + +bool ContentSettingRuleSource::operator==( + const ContentSettingRuleSource& other) const = default; + + content_settings::SettingInfo::SettingInfo() = default; + content_settings::SettingInfo& content_settings::SettingInfo::operator=( diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h --- a/components/content_settings/core/common/content_settings.h +++ b/components/content_settings/core/common/content_settings.h @@ -3101,8 +3105,8 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom --- a/components/content_settings/core/common/content_settings.mojom +++ b/components/content_settings/core/common/content_settings.mojom -@@ -73,6 +73,11 @@ struct RuleMetaData { - bool decided_by_related_website_sets; +@@ -74,6 +74,11 @@ struct RuleMetaData { + mojo_base.mojom.Value rule_options; }; +struct ContentSettingRuleSource { @@ -3113,7 +3117,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co // This mirrors the C++ type in content_settings.h. struct ContentSettingPatternSource { ContentSettingsPattern primary_pattern; -@@ -86,5 +91,6 @@ struct ContentSettingPatternSource { +@@ -87,5 +92,6 @@ struct ContentSettingPatternSource { // This mirrors the C++ type in content_settings.h. // TODO(crbug.com/40282541): This should be removed. struct RendererContentSettingRules { @@ -3123,7 +3127,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc --- a/components/content_settings/core/common/content_settings_mojom_traits.cc +++ b/components/content_settings/core/common/content_settings_mojom_traits.cc -@@ -119,12 +119,22 @@ bool StructTraitsmetadata) && data.ReadSource(&out->source); } @@ -3150,7 +3154,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h --- a/components/content_settings/core/common/content_settings_mojom_traits.h +++ b/components/content_settings/core/common/content_settings_mojom_traits.h -@@ -176,10 +176,34 @@ struct StructTraits< +@@ -181,10 +181,34 @@ struct StructTraits< ContentSettingPatternSource* out); }; @@ -3188,10 +3192,10 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom --- a/components/content_settings/core/common/content_settings_types.mojom +++ b/components/content_settings/core/common/content_settings_types.mojom -@@ -479,5 +479,7 @@ enum ContentSettingsType { - // Website setting which is used for UnusedSitePermissionsService to - // store revoked notification permissions of disruptive sites. - REVOKED_DISRUPTIVE_NOTIFICATION_PERMISSIONS, +@@ -483,5 +483,7 @@ enum ContentSettingsType { + // Content setting for whether the site is allowed to make local network + // requests. + LOCAL_NETWORK_ACCESS, + +#include "components/content_settings/core/common/bromite_content_settings.inc" }; @@ -3309,7 +3313,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java -@@ -177,6 +177,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont +@@ -193,6 +193,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont : perm1.nameMidSentence.toString()); } @@ -3328,31 +3332,21 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ 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 -@@ -106,10 +106,10 @@ public class PermissionParamsListBuilder { - - switch (permission.setting) { - case ContentSettingValues.ALLOW: -- case ContentSettingValues.ASK: - permissionParams.allowed = true; - break; - case ContentSettingValues.BLOCK: -+ case ContentSettingValues.ASK: - permissionParams.allowed = false; - break; - default: -@@ -120,6 +120,12 @@ public class PermissionParamsListBuilder { - + permission.type; - } +@@ -109,6 +109,14 @@ public class PermissionParamsListBuilder { + span, 0, nameStringMidSentence.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + boolean allowed = permission.setting != ContentSettingValues.BLOCK; ++ if (permission.setting == ContentSettingValues.ASK) { ++ allowed = false; ++ } + if (permission.type == ContentSettingsType.FILE_SYSTEM_WRITE_GUARD + && permission.setting == ContentSettingValues.ASK) { + // see https://source.chromium.org/chromium/chromium/src/+/e3e48613de29440ae1cf11b0ff7fa7c613d9f416 -+ permissionParams.allowed = true; ++ allowed = true; + } -+ - return permissionParams; - } - + return new PermissionObject( + /* type= */ permission.type, + /* name= */ nameString, 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 @@ -3406,7 +3400,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. #include "components/content_settings/browser/ui/cookie_controls_controller.h" #include "components/content_settings/core/browser/content_settings_registry.h" #include "components/content_settings/core/browser/content_settings_uma_util.h" -@@ -1258,6 +1259,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1271,6 +1272,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, // applies to permissions listed in |kPermissionType|. bool PageInfo::ShouldShowPermission( const PageInfo::PermissionInfo& info) const { @@ -3421,7 +3415,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. // Note |ContentSettingsType::ADS| will show up regardless of its default // value when it has been activated on the current origin. if (info.type == ContentSettingsType::ADS) { -@@ -1374,7 +1383,19 @@ void PageInfo::PresentSitePermissions() { +@@ -1387,7 +1396,19 @@ void PageInfo::PresentSitePermissions() { HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); @@ -3453,7 +3447,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in #include "components/page_info/core/features.h" #include "components/page_info/page_info.h" #include "components/page_info/page_info_ui_delegate.h" -@@ -330,6 +331,13 @@ void CreateOppositeToDefaultSiteException( +@@ -333,6 +334,13 @@ void CreateOppositeToDefaultSiteException( std::u16string GetPermissionAskStateString(ContentSettingsType type) { int message_id = kInvalidResourceID; @@ -3467,7 +3461,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in switch (type) { case ContentSettingsType::GEOLOCATION: message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK; -@@ -628,6 +636,12 @@ PageInfoUI::~PageInfoUI() = default; +@@ -626,6 +634,12 @@ PageInfoUI::~PageInfoUI() = default; // static std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -3480,7 +3474,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id); -@@ -638,6 +652,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { +@@ -636,6 +650,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { // static std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( ContentSettingsType type) { @@ -3493,7 +3487,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id_mid_sentence); -@@ -1079,6 +1099,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { +@@ -1077,6 +1097,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { if (info.type == type) return true; } diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index 0fba8fb0..de3ea353 100644 --- a/build/patches/Cromite-Branding--improve-settings-ui.patch +++ b/build/patches/Cromite-Branding--improve-settings-ui.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/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 -@@ -650,7 +650,7 @@ chrome_java_resources = [ +@@ -652,7 +652,7 @@ chrome_java_resources = [ "java/res/xml/manage_sync_preferences.xml", "java/res/xml/personalize_google_services_preferences.xml", "java/res/xml/incognito_preferences.xml", @@ -253,7 +253,7 @@ new file mode 100644 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 -@@ -147,7 +147,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -144,7 +144,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public void onCreatePreferencesCromite(Bundle savedInstanceState, String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); @@ -262,7 +262,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference fpProtectionPreference = findPreference(PREF_FP_PROTECTION); fpProtectionPreference.setVisible(shouldShowFpProtectionUi()); -@@ -244,7 +244,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -241,7 +241,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment (ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION); if (ChromeFeatureList.isEnabled(ChromeFeatureList.PASSWORD_LEAK_TOGGLE_MOVE)) { passwordLeakTogglePref.setOnPreferenceChangeListener(this); diff --git a/build/patches/Cromite-Branding.patch b/build/patches/Cromite-Branding.patch index 06adab72..eb6b46d8 100644 --- a/build/patches/Cromite-Branding.patch +++ b/build/patches/Cromite-Branding.patch @@ -64,7 +64,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/build/BUILD.gn b/build/BUILD.gn --- a/build/BUILD.gn +++ b/build/BUILD.gn -@@ -55,6 +55,14 @@ buildflag_header("branding_buildflags") { +@@ -54,6 +54,14 @@ buildflag_header("branding_buildflags") { } } @@ -82,8 +82,8 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn -@@ -186,6 +186,10 @@ declare_args() { - clang_unsafe_buffers_paths = "" +@@ -187,6 +187,10 @@ declare_args() { + clang_warning_suppression_file = "" } +declare_args() { @@ -13155,7 +13155,7 @@ e)fqMZZ`3a)Ds&5H @@ -13299,7 +13299,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h diff --git a/chrome/install_static/chromium_install_modes.cc b/chrome/install_static/chromium_install_modes.cc --- a/chrome/install_static/chromium_install_modes.cc +++ b/chrome/install_static/chromium_install_modes.cc -@@ -16,7 +16,7 @@ namespace install_static { +@@ -14,7 +14,7 @@ namespace install_static { const wchar_t kCompanyPathName[] = L""; @@ -13311,7 +13311,7 @@ diff --git a/chrome/install_static/chromium_install_modes.cc b/chrome/install_st diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd --- a/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd -@@ -975,7 +975,7 @@ +@@ -984,7 +984,7 @@ @@ -18957,7 +18957,7 @@ diff --git a/components/webui/version/resources/about_version_mobile.css b/compo 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 -@@ -571,19 +571,22 @@ void ResolveInvalidConfigurations() { +@@ -568,19 +568,22 @@ void ResolveInvalidConfigurations() { base::FeatureList::IsEnabled( features::kPrivacySandboxAdsAPIsM1Override)) && !base::FeatureList::IsEnabled(blink::features::kFencedFrames)) { @@ -18984,7 +18984,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Fenced frames must be enabled in order to enable local " "unpartitioned " << "data access. Use --" << switches::kEnableFeatures << "=" -@@ -591,12 +594,14 @@ void ResolveInvalidConfigurations() { +@@ -588,12 +591,14 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableFeatureFromString( "FencedFramesLocalUnpartitionedDataAccess", false); } @@ -19000,7 +19000,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Topics cannot be enabled in this configuration. Use --" << switches::kEnableFeatures << "=" << network::features::kBrowsingTopics.name << " in addition."; -@@ -604,30 +609,23 @@ void ResolveInvalidConfigurations() { +@@ -601,30 +606,23 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableTopicsDocumentAPI(false); WebRuntimeFeatures::EnableTopicsImgAPI(false); } else { @@ -19037,7 +19037,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "AttributionReporting cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -635,23 +633,25 @@ void ResolveInvalidConfigurations() { +@@ -632,23 +630,25 @@ void ResolveInvalidConfigurations() { << " in addition."; WebRuntimeFeatures::EnableAttributionReporting(false); } diff --git a/build/patches/Customize-selection-popup.patch b/build/patches/Customize-selection-popup.patch index 09511685..4e042d5e 100644 --- a/build/patches/Customize-selection-popup.patch +++ b/build/patches/Customize-selection-popup.patch @@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod 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 -@@ -798,10 +798,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn +@@ -782,10 +782,17 @@ public class ChromeTabbedActivity extends ChromeActivity { @TabLaunchType int type, @TabCreationState int creationState, boolean markedForSelection) { @@ -62,7 +62,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/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java -@@ -196,12 +196,20 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat +@@ -198,12 +198,20 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat // Skip opening a new Tab if it doesn't make sense. if (mTab.isClosing()) return false; @@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo import org.chromium.base.ObserverList; import org.chromium.base.TraceEvent; import org.chromium.base.supplier.ObservableSupplier; -@@ -238,6 +239,13 @@ public class LayoutManagerImpl +@@ -245,6 +246,13 @@ public class LayoutManagerImpl != TabLaunchType .FROM_COLLABORATION_BACKGROUND_IN_GROUP) || (!getTabModelSelector().isIncognitoSelected() && incognito); @@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -317,8 +317,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -339,8 +339,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { public void onOpenImageInNewTab(GURL url, Referrer referrer) { LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); loadUrlParams.setReferrer(referrer); @@ -463,7 +463,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select import org.chromium.base.ObserverList; import org.chromium.base.UserData; import org.chromium.build.annotations.Initializer; -@@ -85,6 +86,9 @@ public class SmartSelectionClient implements SelectionClient, UserData { +@@ -84,6 +85,9 @@ public class SmartSelectionClient implements SelectionClient, UserData { return null; } @@ -472,5 +472,5 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select + SmartSelectionClient client = assumeNonNull( - ((WebContentsImpl) webContents) + webContents.getOrSetUserData( -- diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index 2d7f7429..6f906993 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re 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 -@@ -297,8 +297,17 @@ class LocationBarMediator +@@ -298,8 +298,17 @@ class LocationBarMediator if (!mUrlFocusedWithPastedText && !shouldRetainOmniboxOnFocus && mLocationBarLayout.shouldClearTextOnFocus()) { diff --git a/build/patches/Disable-Accessibility-service-by-default.patch b/build/patches/Disable-Accessibility-service-by-default.patch index a5113b1b..9693b04c 100644 --- a/build/patches/Disable-Accessibility-service-by-default.patch +++ b/build/patches/Disable-Accessibility-service-by-default.patch @@ -42,7 +42,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java -@@ -1100,6 +1100,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa +@@ -1098,6 +1098,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa structure.setChildCount(0); return; } diff --git a/build/patches/Disable-Android-AppRestrictions.patch b/build/patches/Disable-Android-AppRestrictions.patch index 954a0c22..2ae32571 100644 --- a/build/patches/Disable-Android-AppRestrictions.patch +++ b/build/patches/Disable-Android-AppRestrictions.patch @@ -32,15 +32,15 @@ diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java --- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java +++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java -@@ -23,6 +23,7 @@ import org.chromium.base.metrics.RecordHistogram; - import org.chromium.base.task.AsyncTask; - import org.chromium.base.task.TaskTraits; +@@ -27,6 +27,7 @@ import org.chromium.base.task.TaskTraits; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.flags.ChromeSwitches; +import org.chromium.components.policy.AppRestrictionsProvider; import java.util.LinkedList; import java.util.Queue; -@@ -104,6 +105,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo { +@@ -109,6 +110,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo { new AsyncTask() { // TODO: Unit test this function. https://crbug.com/1099262 private OwnedState calculateIsRunningOnManagedProfile(Context context) { diff --git a/build/patches/Disable-Android-Tab-Declutter.patch b/build/patches/Disable-Android-Tab-Declutter.patch index 2abdaf78..d529b7a7 100644 --- a/build/patches/Disable-Android-Tab-Declutter.patch +++ b/build/patches/Disable-Android-Tab-Declutter.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -1033,7 +1033,7 @@ public abstract class ChromeFeatureList { +@@ -1009,7 +1009,7 @@ public abstract class ChromeFeatureList { public static final MutableFlagWithSafeDefault sAndroidDumpOnScrollWithoutResource = newMutableFlagWithSafeDefault(ANDROID_DUMP_ON_SCROLL_WITHOUT_RESOURCE, false); public static final MutableFlagWithSafeDefault sAndroidTabDeclutter = @@ -22,9 +22,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveAllButActiveTab = newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_ARCHIVE_ALL_BUT_ACTIVE, false); public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveDuplicateTabs = -@@ -1515,7 +1515,7 @@ public abstract class ChromeFeatureList { - public static final MutableBooleanParamWithSafeDefault sShouldBlockCapturesForFullscreenParam = - sSuppressionToolbarCaptures.newBooleanParam("block_for_fullscreen", false); +@@ -1473,7 +1473,7 @@ public abstract class ChromeFeatureList { + // Mutable*ParamWithSafeDefault instances. + /* Alphabetical: */ public static final MutableBooleanParamWithSafeDefault sAndroidTabDeclutterArchiveEnabled = - sAndroidTabDeclutter.newBooleanParam("android_tab_declutter_archive_enabled", true); + sAndroidTabDeclutter.newBooleanParam("android_tab_declutter_archive_enabled", false); diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index f7312a6d..0f6d06d0 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -8180,6 +8180,12 @@ static_library("browser") { +@@ -8226,6 +8226,12 @@ static_library("browser") { deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ] } @@ -26,7 +26,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn if (enable_compose) { sources += [ "compose/chrome_compose_client.cc", -@@ -8195,7 +8201,6 @@ static_library("browser") { +@@ -8241,7 +8247,6 @@ static_library("browser") { ] deps += [ @@ -34,7 +34,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/common/compose", "//chrome/common/compose:mojo_bindings", "//components/autofill/content/browser:browser", -@@ -8640,7 +8645,7 @@ source_set("font_pref") { +@@ -8687,7 +8692,7 @@ source_set("font_pref") { deps = [ "//chrome/common" ] } @@ -46,7 +46,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -382,7 +382,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -384,7 +384,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) base::FeatureList::IsEnabled(features::kLinkedServicesSetting)); #if BUILDFLAG(ENABLE_COMPOSE) diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch index fd37d28f..7e23e43f 100644 --- a/build/patches/Disable-Compression-Dictionary-Transport.patch +++ b/build/patches/Disable-Compression-Dictionary-Transport.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -889,12 +889,14 @@ +@@ -910,12 +910,14 @@ } }, { diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch index c0df0888..1c79090b 100644 --- a/build/patches/Disable-FedCm.patch +++ b/build/patches/Disable-FedCm.patch @@ -26,7 +26,7 @@ new file mode 100644 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 -@@ -1914,7 +1914,7 @@ +@@ -1924,7 +1924,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index e4b3dcdf..e5cc513a 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -4,14 +4,14 @@ Subject: Disable GSA by default License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../chrome/browser/IntentHandler.java | 6 ------ - .../provider/PageContentProviderImpl.java | 6 ------ - .../chrome/browser/share/LensUtils.java | 14 ++------------ - .../chromium/chrome/browser/gsa/GSAUtils.java | 10 +++------- - .../GoogleBottomBarActionsHandler.java | 19 ++----------------- - .../chrome/browser/pdf/PdfCoordinator.java | 4 +--- + .../chrome/browser/IntentHandler.java | 6 ---- + .../provider/PageContentProviderImpl.java | 6 ---- + .../chrome/browser/share/LensUtils.java | 14 ++------- + .../chromium/chrome/browser/gsa/GSAUtils.java | 29 ++++--------------- + .../GoogleBottomBarActionsHandler.java | 19 ++---------- + .../chrome/browser/pdf/PdfCoordinator.java | 4 +-- .../Disable-GSA-by-default.inc | 1 + - 7 files changed, 9 insertions(+), 51 deletions(-) + 7 files changed, 11 insertions(+), 68 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java @@ -112,15 +112,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java --- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java +++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java -@@ -14,16 +14,11 @@ import org.chromium.build.annotations.Nullable; +@@ -14,19 +14,12 @@ import org.chromium.build.annotations.Nullable; /** This class provides utilities for the state of Google Search App. */ @NullMarked public class GSAUtils { +- private static final Object sPackageInfoLock = new Object(); +- @Nullable private static volatile PackageInfo sPackageInfo; +- - public static final String GSA_PACKAGE_NAME = "com.google.android.googlequicksearchbox"; - public static final String GSA_CLASS_NAME = - "com.google.android.apps.search.googleapp.activity.GoogleAppActivity"; - public static final String VOICE_SEARCH_INTENT_ACTION = "android.intent.action.VOICE_ASSIST"; -- + /** * @return Whether the given package name is the package name for Google Search App. */ @@ -130,7 +133,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil } /** -@@ -35,6 +30,7 @@ public class GSAUtils { +@@ -38,6 +31,7 @@ public class GSAUtils { */ public static boolean isAgsaVersionBelowMinimum( @Nullable String installedVersionName, @Nullable String minimumVersionName) { @@ -138,13 +141,36 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) { return true; } -@@ -65,7 +61,7 @@ public class GSAUtils { +@@ -68,8 +62,8 @@ public class GSAUtils { * @return The version name of the Agsa package or null if it can't be found. */ public static @Nullable String getAgsaVersionName() { -- PackageInfo packageInfo = PackageUtils.getPackageInfo(GSA_PACKAGE_NAME, 0); +- PackageInfo info = getAgsaPackageInfo(); +- return info == null ? null : info.versionName; + PackageInfo packageInfo = null; - return packageInfo == null ? null : packageInfo.versionName; ++ return packageInfo == null ? null : packageInfo.versionName; + } + + /** +@@ -78,19 +72,6 @@ public class GSAUtils { + * @return Whether the AGSA is enabled + */ + public static boolean isAgsaEnabled() { +- PackageInfo info = getAgsaPackageInfo(); +- return info != null && info.applicationInfo != null && info.applicationInfo.enabled; +- } +- +- @Nullable +- private static PackageInfo getAgsaPackageInfo() { +- if (sPackageInfo == null) { +- synchronized (sPackageInfoLock) { +- if (sPackageInfo == null) { +- sPackageInfo = PackageUtils.getPackageInfo(GSA_PACKAGE_NAME, 0); +- } +- } +- } +- return sPackageInfo; ++ return false; } } diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java @@ -206,7 +232,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java --- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java +++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java -@@ -249,7 +249,7 @@ public class PdfCoordinator { +@@ -253,7 +253,7 @@ public class PdfCoordinator { } @Nullable String requestAssistContent(String filename, boolean isWorkProfile) { @@ -215,7 +241,7 @@ diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/ return null; } String structuredData; -@@ -267,8 +267,6 @@ public class PdfCoordinator { +@@ -271,8 +271,6 @@ public class PdfCoordinator { } catch (JSONException e) { return null; } diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch index 89d604d8..88a43be8 100644 --- a/build/patches/Disable-GetInstalledRelatedApps-API.patch +++ b/build/patches/Disable-GetInstalledRelatedApps-API.patch @@ -16,9 +16,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java --- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java +++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java -@@ -161,6 +161,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider { - final RelatedApplication[] relatedApps, +@@ -162,6 +162,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider { final Url manifestUrl, + final boolean addSavedRelatedApplications, final FilterInstalledApps_Response callback) { + assert false; GURL url = mRenderFrameHost.getLastCommittedURL(); @@ -27,8 +27,8 @@ diff --git a/components/installedapp/android/java/src/org/chromium/components/in diff --git a/content/browser/installedapp/installed_app_provider_impl.cc b/content/browser/installedapp/installed_app_provider_impl.cc --- a/content/browser/installedapp/installed_app_provider_impl.cc +++ b/content/browser/installedapp/installed_app_provider_impl.cc -@@ -60,7 +60,7 @@ void InstalledAppProviderImpl::FilterInstalledApps( - const GURL& manifest_url, +@@ -62,7 +62,7 @@ void InstalledAppProviderImpl::FilterInstalledApps( + bool add_saved_related_applications, FilterInstalledAppsCallback callback) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - if (!base::FeatureList::IsEnabled(features::kInstalledAppProvider)) { @@ -58,7 +58,7 @@ new file mode 100644 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 -@@ -2538,9 +2538,8 @@ +@@ -2556,9 +2556,8 @@ name: "InspectorGhostRules", }, { diff --git a/build/patches/Disable-Paint-Preview-by-default.patch b/build/patches/Disable-Paint-Preview-by-default.patch index 34862332..b5229a41 100644 --- a/build/patches/Disable-Paint-Preview-by-default.patch +++ b/build/patches/Disable-Paint-Preview-by-default.patch @@ -10,7 +10,7 @@ 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/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java -@@ -107,7 +107,7 @@ public class StartupPaintPreviewHelper { +@@ -114,7 +114,7 @@ public class StartupPaintPreviewHelper implements Destroyable { /** Enables Paint Preview show attempt on restoration of a tab. */ public static void enableShowOnRestore() { diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index 5bf041d5..efc6f066 100644 --- a/build/patches/Disable-PrivacyGuide.patch +++ b/build/patches/Disable-PrivacyGuide.patch @@ -22,7 +22,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -352,8 +352,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -354,8 +354,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) #endif // BUILDFLAG(IS_CHROMEOS) bool show_privacy_guide = diff --git a/build/patches/Disable-Real-Box.patch b/build/patches/Disable-Real-Box.patch index 620f8cac..dfe2cf4a 100644 --- a/build/patches/Disable-Real-Box.patch +++ b/build/patches/Disable-Real-Box.patch @@ -13,7 +13,7 @@ Real-box is search box in ntp diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -2217,7 +2217,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2218,7 +2218,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -54,7 +54,7 @@ diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/bro diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc --- a/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc -@@ -121,7 +121,7 @@ BASE_FEATURE(kNtpDriveModuleShowSixFiles, +@@ -127,7 +127,7 @@ BASE_FEATURE(kNtpDriveModuleShowSixFiles, // If enabled, logo will be shown. // This is a kill switch. Keep indefinitely. @@ -63,7 +63,7 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features. // If enabled, middle slot promo will be shown. // This is a kill switch. Keep indefinitely. -@@ -174,8 +174,8 @@ BASE_FEATURE(kNtpModulesLoad, +@@ -180,8 +180,8 @@ BASE_FEATURE(kNtpModulesLoad, // If enabled, OneGoogleBar will be shown. // This is a kill switch. Keep indefinitely. BASE_FEATURE(kNtpOneGoogleBar, diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch index 125cff8e..3ff6911a 100644 --- a/build/patches/Disable-WebGPU.patch +++ b/build/patches/Disable-WebGPU.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -556,6 +556,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -553,6 +553,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( WebRuntimeFeatures::EnableRemotePlayback(false); diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index f97efcd7..2543a0c2 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -25,7 +25,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../read_anything/read_aloud_app_model.cc | 16 ++++++++++++++-- .../read_anything/read_aloud_app_model.h | 9 ++++++++- .../read_anything_app_controller.cc | 10 ++++++++++ - .../read_anything/read_anything_app_controller.h | 6 ++++++ + .../read_anything/read_anything_app_controller.h | 4 ++++ chrome/utility/BUILD.gn | 2 +- chrome/utility/services.cc | 8 -------- .../integrators/autofill_optimization_guide.cc | 5 +++-- @@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../core/html/parser/html_document_parser.cc | 1 + .../document_speculation_rules.cc | 1 + .../platform/runtime_enabled_features.json5 | 2 +- - 48 files changed, 124 insertions(+), 47 deletions(-) + 48 files changed, 122 insertions(+), 47 deletions(-) create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc @@ -65,7 +65,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 -@@ -755,8 +755,6 @@ static_library("browser") { +@@ -765,8 +765,6 @@ static_library("browser") { "navigation_predictor/navigation_predictor_keyed_service_factory.h", "navigation_predictor/navigation_predictor_metrics_document_data.cc", "navigation_predictor/navigation_predictor_metrics_document_data.h", @@ -74,7 +74,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "navigation_predictor/preloading_model_keyed_service.cc", "navigation_predictor/preloading_model_keyed_service.h", "navigation_predictor/preloading_model_keyed_service_factory.cc", -@@ -2281,7 +2279,7 @@ static_library("browser") { +@@ -2310,7 +2308,7 @@ static_library("browser") { "//components/resources", "//components/safe_browsing/content/browser", "//components/safe_browsing/content/browser:safe_browsing_service", @@ -82,7 +82,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn + "//components/safe_browsing/content/browser/notification_content_detection:constants", "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/web_ui", - "//components/safe_browsing/core/browser", + "//components/safe_browsing/content/common/proto:download_file_types_proto", diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc --- a/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc +++ b/chrome/browser/navigation_predictor/preloading_model_keyed_service.cc @@ -209,7 +209,7 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/browser/permissions/chrome_permissions_client.cc --- a/chrome/browser/permissions/chrome_permissions_client.cc +++ b/chrome/browser/permissions/chrome_permissions_client.cc -@@ -418,8 +418,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( +@@ -423,8 +423,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( #endif selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); @@ -282,7 +282,7 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -1122,7 +1122,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1132,7 +1132,6 @@ void ChromeBrowserMainExtraPartsProfiles:: base::FeatureList::IsEnabled( permissions::features::kPermissionOnDeviceGeolocationPredictions) || base::FeatureList::IsEnabled(permissions::features::kPermissionsAIv1)) { @@ -293,17 +293,17 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc 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 -@@ -49,7 +49,6 @@ static_library("safe_browsing") { +@@ -47,7 +47,6 @@ static_library("safe_browsing") { + "//components/resources:components_resources_grit", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", - "//components/safe_browsing/content/browser:client_side_detection_service", - "//components/safe_browsing/content/browser/notification_content_detection:notification_content_detection", "//components/safe_browsing/content/browser/triggers:suspicious_site_trigger", "//components/safe_browsing/content/browser/web_ui", "//components/safe_browsing/core/browser", -diff --git a/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc b/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc ---- a/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc -+++ b/chrome/browser/safe_browsing/notification_content_detection_service_factory.cc +diff --git a/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc b/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc +--- a/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc ++++ b/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc @@ -15,6 +15,7 @@ #include "components/safe_browsing/content/browser/notification_content_detection/notification_content_detection_service.h" #include "components/safe_browsing/core/browser/db/database_manager.h" @@ -333,7 +333,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection_service diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -430,7 +430,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -440,7 +440,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); @@ -443,7 +443,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h // Increments the processed_granularity_index_, updating ReadAloud's state of // the current granularity to refer to the next granularity. The current -@@ -269,9 +274,11 @@ class ReadAloudAppModel { +@@ -270,9 +275,11 @@ class ReadAloudAppModel { // still needs to be read. bool NoValidTextRemainingInCurrentNode(bool is_pdf, bool is_docs) const; @@ -455,7 +455,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h // Once the phrase segmentation has completed for a given sentence, update the // granularity with the phrase boundaries, and calculate phrases for the next -@@ -333,7 +340,7 @@ class ReadAloudAppModel { +@@ -334,7 +341,7 @@ class ReadAloudAppModel { // Whether a phrase calculation for a sentence is currently underway. (We // do not initiate a second calculation before the first has completed.) @@ -467,8 +467,8 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc --- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc +++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc -@@ -27,7 +27,9 @@ - #include "base/strings/utf_string_conversions.h" +@@ -31,7 +31,9 @@ + #include "build/build_config.h" #include "chrome/common/read_anything/read_anything_util.h" #include "chrome/renderer/accessibility/ax_tree_distiller.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) @@ -477,7 +477,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr #include "chrome/renderer/accessibility/read_anything/read_aloud_traversal_utils.h" #include "chrome/renderer/accessibility/read_anything/read_anything_app_model.h" #include "chrome/renderer/accessibility/read_anything/read_anything_node_utils.h" -@@ -1462,6 +1464,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1577,6 +1579,7 @@ void ReadAnythingAppController::OnConnected() { render_frame()->GetBrowserInterfaceBroker().GetInterface( std::move(page_handler_factory_receiver)); @@ -485,7 +485,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr // Get the dependency parser model used by phrase-based highlighting. if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) { return; -@@ -1470,6 +1473,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1585,6 +1588,7 @@ void ReadAnythingAppController::OnConnected() { page_handler_->GetDependencyParserModel( base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, weak_ptr_factory_.GetWeakPtr())); @@ -493,7 +493,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::OnCopy() const { -@@ -1674,11 +1678,13 @@ std::vector ReadAnythingAppController::GetCurrentText() { +@@ -1794,11 +1798,13 @@ std::vector ReadAnythingAppController::GetCurrentText() { } void ReadAnythingAppController::PreprocessTextForSpeech() { @@ -507,7 +507,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::MovePositionToNextGranularity() { -@@ -1856,14 +1862,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { +@@ -2011,14 +2017,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { void ReadAnythingAppController::UpdateDependencyParserModel( base::File model_file) { @@ -539,7 +539,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr class ReadAnythingAppControllerTest; class ReadAnythingAppControllerScreen2xDataCollectionModeTest; -@@ -275,7 +277,9 @@ class ReadAnythingAppController +@@ -283,7 +285,9 @@ class ReadAnythingAppController // available. void UpdateDependencyParserModel(base::File model_file); @@ -549,20 +549,10 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr // Called when distillation has completed. void OnAXTreeDistilled(const ui::AXTreeID& tree_id, -@@ -376,7 +380,9 @@ class ReadAnythingAppController - - // Helpers for logging UmaHistograms based on times recorded in WebUI. - void IncrementMetricCount(const std::string& metric); -+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) - void LogSpeechEventCounts(); -+#endif - - // Stores a screenshot of the page and triggers distillation to record protos. - // This function is not used in production and is behind the disabled diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -65,7 +65,7 @@ static_library("utility") { +@@ -64,7 +64,7 @@ static_library("utility") { "//printing/buildflags", "//services/data_decoder:lib", "//services/network:network_service", @@ -574,7 +564,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc --- a/chrome/utility/services.cc +++ b/chrome/utility/services.cc -@@ -245,13 +245,6 @@ auto RunMirroringService( +@@ -241,13 +241,6 @@ auto RunMirroringService( std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner()); } @@ -588,7 +578,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) -@@ -470,7 +463,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { +@@ -464,7 +457,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { #if !BUILDFLAG(IS_ANDROID) services.Add(RunProfileImporter); services.Add(RunMirroringService); @@ -628,7 +618,7 @@ diff --git a/components/autofill/core/browser/integrators/autofill_optimization_ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -48,7 +48,9 @@ +@@ -49,7 +49,9 @@ #include "components/omnibox/browser/autocomplete_input.h" #include "components/omnibox/browser/autocomplete_match_type.h" #include "components/omnibox/browser/autocomplete_provider.h" @@ -638,7 +628,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h" #include "components/omnibox/browser/bookmark_provider.h" #include "components/omnibox/browser/bookmark_scoring_signals_annotator.h" -@@ -118,6 +120,7 @@ using ProviderType = AutocompleteProvider::Type; +@@ -121,6 +123,7 @@ using ProviderType = AutocompleteProvider::Type; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); @@ -646,7 +636,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ void RecordMlScoreCoverage(size_t matches_with_non_null_scores, size_t total_scored_matches) { int percent_score_coverage = -@@ -226,6 +229,7 @@ void RecordTotalMatchesScored(size_t num_scored) { +@@ -229,6 +232,7 @@ void RecordTotalMatchesScored(size_t num_scored) { base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches", num_scored); } @@ -729,7 +719,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -445,8 +441,7 @@ size_t MaxURLKeyedHintCacheSize() { +@@ -449,8 +445,7 @@ size_t MaxURLKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -739,7 +729,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -888,5 +883,13 @@ bool IsPrivacyGuideAiSettingsEnabled() { +@@ -899,5 +894,13 @@ bool IsPrivacyGuideAiSettingsEnabled() { return base::FeatureList::IsEnabled(kPrivacyGuideAiSettings); } @@ -817,7 +807,7 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc --- a/components/page_content_annotations/core/page_content_annotations_features.cc +++ b/components/page_content_annotations/core/page_content_annotations_features.cc -@@ -295,4 +295,8 @@ bool ShouldIncludeHiddenButSearchableContent() { +@@ -302,4 +302,8 @@ bool ShouldIncludeHiddenButSearchableContent() { return kIncludeHiddenButSearchableContent.Get(); } @@ -857,7 +847,7 @@ diff --git a/components/safe_browsing/content/browser/notification_content_detec diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc --- a/components/safe_browsing/core/common/features.cc +++ b/components/safe_browsing/core/common/features.cc -@@ -250,6 +250,7 @@ constexpr base::FeatureParam kMaliciousApkDownloadCheckTelemetryOnly{ +@@ -260,6 +260,7 @@ constexpr base::FeatureParam BASE_FEATURE(kOnDeviceNotificationContentDetectionModel, "OnDeviceNotificationContentDetectionModel", base::FEATURE_ENABLED_BY_DEFAULT); @@ -937,7 +927,7 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc b/third_party/blink/renderer/core/html/parser/html_document_parser.cc --- a/third_party/blink/renderer/core/html/parser/html_document_parser.cc +++ b/third_party/blink/renderer/core/html/parser/html_document_parser.cc -@@ -1752,6 +1752,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( +@@ -1757,6 +1757,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( } bool HTMLDocumentParser::ShouldSkipPreloadScan() { @@ -948,18 +938,18 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc --- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc +++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc -@@ -642,6 +642,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { +@@ -644,6 +644,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { return; } + if ((true)) return; HeapVector> candidates; - auto push_candidates = [&candidates, &document]( + auto push_candidates = [&candidates, &document, this]( mojom::blink::SpeculationAction action, 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 -@@ -3440,7 +3440,7 @@ +@@ -3447,7 +3447,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index b1a676b0..5e379bc2 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.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/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 -@@ -1597,6 +1597,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1632,6 +1632,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo(Profile profile) { @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab 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 -@@ -150,7 +150,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -151,7 +151,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, false); @@ -40,29 +40,29 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc --- a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc +++ b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc -@@ -38,6 +38,7 @@ ui::ElementContext ProfilePickerFeaturePromoController::GetAnchorContext() - - bool ProfilePickerFeaturePromoController::CanShowPromoForElement( +@@ -40,6 +40,7 @@ ui::ElementContext ProfilePickerFeaturePromoController::GetAnchorContext() + user_education::FeaturePromoResult + ProfilePickerFeaturePromoController::CanShowPromoForElement( ui::TrackedElement* anchor_element) const { + if ((true)) return false; - return ProfilePicker::IsOpen(); - } - + return ProfilePicker::IsOpen() + ? user_education::FeaturePromoResult::Success() + : user_education::FeaturePromoResult::kBlockedByUi; diff --git a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc --- a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc +++ b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc -@@ -59,6 +59,7 @@ ui::ElementContext BrowserFeaturePromoController20::GetAnchorContext() const { - - bool BrowserFeaturePromoController20::CanShowPromoForElement( +@@ -61,6 +61,7 @@ ui::ElementContext BrowserFeaturePromoController20::GetAnchorContext() const { + user_education::FeaturePromoResult + BrowserFeaturePromoController20::CanShowPromoForElement( ui::TrackedElement* anchor_element) const { + if ((true)) return false; // Trying to show an IPH while the browser is closing can cause problems; - // see crbug.com/346461762 for an example. This can also crash unit_tests that - // use a BrowserWindow but not a browser, so also check if the browser view's + // see https://crbug.com/346461762 for an example. This can also crash + // unit_tests that use a BrowserWindow but not a browser, so also check if diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java --- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java +++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java -@@ -117,6 +117,7 @@ public class UserEducationHelper { +@@ -119,6 +119,7 @@ public class UserEducationHelper { } private void showIph(Tracker tracker, IphCommand iphCommand) { @@ -92,7 +92,7 @@ diff --git a/components/user_education/common/feature_promo/feature_promo_regist diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc --- a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc +++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc -@@ -99,6 +99,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon( +@@ -100,6 +100,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon( const FeaturePromoParams& params, ShowSource source, CanShowPromoOutputs* outputs) const { diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index ca2f0001..c8097be9 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -54,7 +54,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc --- a/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc -@@ -1302,6 +1302,7 @@ network::mojom::AttributionSupport +@@ -1377,6 +1377,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -62,7 +62,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv // WebView only supports OS-level attribution and not web-attribution. switch (state) { case AttributionReportingOsApiState::kDisabled: -@@ -1320,6 +1321,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1395,6 +1396,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -94,7 +94,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1778,7 +1778,7 @@ public class AwSettings { +@@ -1813,7 +1813,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -114,7 +114,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro @@ -348,7 +355,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1019,15 +984,6 @@ by a child template that "extends" this file. +@@ -1014,15 +979,6 @@ by a child template that "extends" this file. android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/> @@ -364,7 +371,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1294,12 +1250,6 @@ by a child template that "extends" this file. +@@ -1289,12 +1245,6 @@ by a child template that "extends" this file. {% endif %} @@ -451,220 +458,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task case TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID: return new OfflineBackgroundTask(); case TaskIds.DOWNLOAD_SERVICE_JOB_ID: -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java -@@ -6,9 +6,6 @@ package org.chromium.chrome.browser.gcore; - - import android.content.Context; - --import com.google.android.gms.common.ConnectionResult; --import com.google.android.gms.common.api.GoogleApiClient; -- - import org.chromium.base.Log; - import org.chromium.base.TraceEvent; - import org.chromium.components.externalauth.ExternalAuthUtils; -@@ -20,7 +17,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient { - private static final String TAG = "Icing"; - - private final Context mApplicationContext; -- private final GoogleApiClient mClient; - private final ExternalAuthUtils mExternalAuthUtils; - - /** -@@ -31,9 +27,8 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient { - * build. - */ - public ChromeGoogleApiClientImpl( -- Context context, GoogleApiClient client, boolean requireFirstPartyBuild) { -+ Context context, boolean requireFirstPartyBuild) { - mApplicationContext = context.getApplicationContext(); -- mClient = client; - mExternalAuthUtils = ExternalAuthUtils.getInstance(); - if (requireFirstPartyBuild && !mExternalAuthUtils.isChromeGoogleSigned()) { - throw new IllegalStateException("GoogleApiClient requires first-party build"); -@@ -42,7 +37,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient { - - @Override - public void disconnect() { -- mClient.disconnect(); - } - - @Override -@@ -58,24 +52,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient { - @Override - public boolean connectWithTimeout(long timeout) { - TraceEvent.begin("ChromeGoogleApiClientImpl:connectWithTimeout"); -- try { -- ConnectionResult result = mClient.blockingConnect(timeout, TimeUnit.MILLISECONDS); -- if (!result.isSuccess()) { -- Log.e(TAG, "Connection to GmsCore unsuccessful. Error %d", result.getErrorCode()); -- } else { -- Log.d(TAG, "Connection to GmsCore successful."); -- } -- return result.isSuccess(); -- } finally { -- TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout"); -- } -+ TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout"); -+ return false; - } - - public Context getApplicationContext() { - return mApplicationContext; - } -- -- public GoogleApiClient getApiClient() { -- return mClient; -- } - } -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java -@@ -7,11 +7,6 @@ package org.chromium.chrome.browser.gcore; - import android.os.Bundle; - import android.os.Handler; - --import com.google.android.gms.common.ConnectionResult; --import com.google.android.gms.common.api.GoogleApiClient; --import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks; --import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener; -- - import org.chromium.base.ApplicationStatus; - import org.chromium.base.ApplicationStatus.ApplicationStateListener; - import org.chromium.base.Log; -@@ -67,28 +62,15 @@ import org.chromium.base.ThreadUtils; - * } - * - */ --public class GoogleApiClientHelper implements OnConnectionFailedListener, ConnectionCallbacks { -+public class GoogleApiClientHelper { - private static final String TAG = "GCore"; - - private int mResolutionAttempts; - private boolean mWasConnectedBefore; - private final Handler mHandler = new Handler(ThreadUtils.getUiThreadLooper()); -- private final GoogleApiClient mClient; - private long mDisconnectionDelayMs; - private Runnable mPendingDisconnect; - -- /** -- * Creates a helper and enrolls it in the various connection management features. -- * See the class documentation for {@link GoogleApiClientHelper} for more information. -- * -- * @param client The client to wrap. -- */ -- public GoogleApiClientHelper(GoogleApiClient client) { -- mClient = client; -- enableConnectionRetrying(true); -- enableLifecycleManagement(true); -- } -- - /** - * Opts in or out of lifecycle management. The client's connection will be closed and reopened - * when Chrome goes in and out of background. -@@ -115,13 +97,6 @@ public class GoogleApiClientHelper implements OnConnectionFailedListener, Connec - * Enabling or disabling it while it is already enabled or disabled has no effect. - */ - public void enableConnectionRetrying(boolean enabled) { -- if (enabled) { -- mClient.registerConnectionCallbacks(this); -- mClient.registerConnectionFailedListener(this); -- } else { -- mClient.unregisterConnectionCallbacks(this); -- mClient.unregisterConnectionFailedListener(this); -- } - } - - /** -@@ -154,21 +129,11 @@ public class GoogleApiClientHelper implements OnConnectionFailedListener, Connec - // Cancel and reschedule the disconnection if we are in the background. We do it early to - // avoid race conditions between a disconnect on the UI thread and the connect below. - if (!ApplicationStatus.hasVisibleActivities()) scheduleDisconnection(); -- -- // The client might be disconnected if we were idle in the background for too long. -- if (!mClient.isConnected() && !mClient.isConnecting()) { -- Log.d(TAG, "Reconnecting the client."); -- mClient.connect(); -- } - } - - void restoreConnectedState() { - // If we go back to the foreground before a delayed disconnect happens, cancel it. - cancelPendingDisconnection(); -- -- if (mWasConnectedBefore) { -- mClient.connect(); -- } - } - - /** -@@ -192,12 +157,6 @@ public class GoogleApiClientHelper implements OnConnectionFailedListener, Connec - } - - private void disconnect() { -- if (mClient.isConnected() || mClient.isConnecting()) { -- mWasConnectedBefore = true; -- } -- -- // We always call disconnect to abort possibly pending connection requests. -- mClient.disconnect(); - } - - private void cancelPendingDisconnection() { -@@ -207,51 +166,7 @@ public class GoogleApiClientHelper implements OnConnectionFailedListener, Connec - mPendingDisconnect = null; - } - -- @Override -- public void onConnectionFailed(ConnectionResult result) { -- if (!isErrorRecoverableByRetrying(result.getErrorCode())) { -- Log.d( -- TAG, -- "Not retrying managed client connection. Unrecoverable error: %d", -- result.getErrorCode()); -- return; -- } -- -- if (mResolutionAttempts < ConnectedTask.RETRY_NUMBER_LIMIT) { -- Log.d( -- TAG, -- "Retrying managed client connection. attempt %d/%d - errorCode: %d", -- mResolutionAttempts, -- ConnectedTask.RETRY_NUMBER_LIMIT, -- result.getErrorCode()); -- mResolutionAttempts += 1; -- -- mHandler.postDelayed( -- new Runnable() { -- @Override -- public void run() { -- mClient.connect(); -- } -- }, -- ConnectedTask.CONNECTION_RETRY_TIME_MS); -- } -- } -- -- @Override -- public void onConnected(Bundle connectionHint) { -- mResolutionAttempts = 0; -- } -- -- @Override -- public void onConnectionSuspended(int cause) { -- // GoogleApiClient handles retrying on suspension itself. Logging in case it didn't succeed -- // for some reason. -- Log.w(TAG, "Managed client connection suspended. Cause: %d", cause); -- } -- - private static boolean isErrorRecoverableByRetrying(int errorCode) { -- return errorCode == ConnectionResult.INTERNAL_ERROR -- || errorCode == ConnectionResult.NETWORK_ERROR -- || errorCode == ConnectionResult.SERVICE_UPDATING; -+ return false; - } - } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java @@ -725,7 +518,7 @@ diff --git a/chrome/android/javatests/BUILD.gn b/chrome/android/javatests/BUILD. diff --git a/chrome/android/junit/BUILD.gn b/chrome/android/junit/BUILD.gn --- a/chrome/android/junit/BUILD.gn +++ b/chrome/android/junit/BUILD.gn -@@ -35,12 +35,6 @@ shared_library_with_jni("libchrome_junit_tests") { +@@ -35,13 +35,6 @@ shared_library_with_jni("libchrome_junit_tests") { if (is_android) { # Partition tests into one target per-package to keep incremental build times down. chrome_junit_tests_helper_deps = [ @@ -734,6 +527,7 @@ diff --git a/chrome/android/junit/BUILD.gn b/chrome/android/junit/BUILD.gn - "$google_play_services_package:google_play_services_cast_framework_java", - "$google_play_services_package:google_play_services_cast_java", - "$google_play_services_package:google_play_services_gcm_java", +- "$google_play_services_package:google_play_services_identity_credentials_java", - "$google_play_services_package:google_play_services_tasks_java", "//base:base_java", "//base:base_java_test_support", @@ -851,15 +645,15 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p "account_storage_notice:java", "//base:base_java", "//build/android:build_java", -@@ -262,7 +260,6 @@ android_library("utils_java") { - ] +@@ -267,7 +265,6 @@ android_library("utils_java") { deps = [ + ":java_resources", - "$google_play_services_package:google_play_services_base_java", - "//chrome/browser/settings:factory_java", - "//components/browser_ui/settings/android:java", - ] -@@ -318,8 +315,6 @@ robolectric_binary("password_manager_junit_tests") { + "//base:base_java", + "//base:resetters_java", + "//base:tasks_java", +@@ -353,8 +350,6 @@ robolectric_binary("password_manager_junit_tests") { ":test_support_java", ":unified_password_manager_proto_java", ":utils_java", @@ -983,16 +777,16 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java -@@ -20,8 +20,6 @@ import androidx.annotation.IntDef; - import androidx.annotation.Nullable; +@@ -23,8 +23,6 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; + import androidx.fragment.app.FragmentActivity; -import com.google.android.gms.common.api.ApiException; - import org.jni_zero.JniType; import org.jni_zero.NativeMethods; -@@ -604,13 +602,6 @@ public class PasswordManagerHelper { +@@ -731,13 +729,6 @@ public class PasswordManagerHelper { // If the exception is not a Chrome-defined one, it means that the call failed at the // API call level. It could have either failed with a known ApiException or because of a // different error (e.g. a different exception thrown by the implementation of the API). @@ -1051,7 +845,7 @@ diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/c 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 -@@ -196,8 +196,6 @@ static_library("ui") { +@@ -197,8 +197,6 @@ static_library("ui") { "webui/flags/flags_ui.h", "webui/flags/flags_ui_handler.cc", "webui/flags/flags_ui_handler.h", @@ -1060,10 +854,10 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "webui/history_clusters/history_clusters_internals_ui_config.cc", "webui/history_clusters/history_clusters_internals_ui_config.h", "webui/interstitials/interstitial_ui.cc", -@@ -491,7 +489,6 @@ static_library("ui") { - "//components/feedback/redaction_tool", - "//components/find_in_page", +@@ -497,7 +495,6 @@ static_library("ui") { "//components/fingerprinting_protection_filter/browser", + "//components/fingerprinting_protection_filter/interventions/browser", + "//components/fingerprinting_protection_filter/interventions/common:features", - "//components/gcm_driver", "//components/google/core/common", "//components/heap_profiling/multi_process", @@ -1071,7 +865,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -155,8 +155,6 @@ android_library("java") { +@@ -154,8 +154,6 @@ android_library("java") { deps = [ ":java_resources", @@ -1080,7 +874,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr "//base:base_java", "//base/version_info/android:version_constants_java", "//build/android:build_java", -@@ -473,8 +471,6 @@ robolectric_library("junit") { +@@ -469,8 +467,6 @@ robolectric_library("junit") { deps = [ ":java", ":java_resources", @@ -1092,29 +886,16 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java --- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java +++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fullscreen_signin/FullscreenSigninMediator.java -@@ -226,21 +226,17 @@ public class FullscreenSigninMediator - * also means that native has been initialized. +@@ -229,11 +229,9 @@ public class FullscreenSigninMediator + * also means that native has been initialized. */ void onInitialLoadCompleted(boolean hasPolicies) { -- boolean isSigninDisabledByPolicy = false; - boolean isMetricsReportingDisabledByPolicy = false; -+ boolean isSigninDisabledByPolicy = true; + boolean isMetricsReportingDisabledByPolicy = true; Log.i(TAG, "#onInitialLoadCompleted() hasPolicies:" + hasPolicies); - Profile profile = mDelegate.getProfileSupplier().get().getOriginalProfile(); if (hasPolicies) { -- isSigninDisabledByPolicy = -- IdentityServicesProvider.get() -- .getSigninManager(profile) -- .isSigninDisabledByPolicy(); -+ isSigninDisabledByPolicy = true; - Log.i( - TAG, - "#onInitialLoadCompleted() isSigninDisabledByPolicy:" - + isSigninDisabledByPolicy); - isMetricsReportingDisabledByPolicy = - !mPrivacyPreferencesManager.isUsageAndCrashReportingPermittedByPolicy(); -+ isMetricsReportingDisabledByPolicy = true; mModel.set( FullscreenSigninProperties.SHOW_ENTERPRISE_MANAGEMENT_NOTICE, mDelegate.shouldDisplayManagementNoticeOnManagedDevices()); @@ -1130,9 +911,9 @@ diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/weba // that goes to the settings page to manage them. - return std::ranges::any_of( - dialog_model()->mechanisms, [](const Mechanism& mech) { -- return absl::holds_alternative(mech.type) || -- (absl::holds_alternative(mech.type) && -- absl::get(mech.type).value().source == +- return std::holds_alternative(mech.type) || +- (std::holds_alternative(mech.type) && +- std::get(mech.type).value().source == - device::AuthenticatorType::kPhone); - }); + return false; @@ -1142,7 +923,7 @@ diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/weba diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -221,7 +221,6 @@ void RegisterChromeWebUIConfigs() { +@@ -223,7 +223,6 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); @@ -1153,7 +934,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u diff --git a/chrome/browser/webauthn/android/BUILD.gn b/chrome/browser/webauthn/android/BUILD.gn --- a/chrome/browser/webauthn/android/BUILD.gn +++ b/chrome/browser/webauthn/android/BUILD.gn -@@ -17,7 +17,6 @@ android_library("java") { +@@ -16,7 +16,6 @@ android_library("java") { deps = [ ":java_resources", @@ -1236,7 +1017,7 @@ diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauth diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn --- a/chrome/test/android/BUILD.gn +++ b/chrome/test/android/BUILD.gn -@@ -382,8 +382,6 @@ android_library("chrome_java_integration_test_support") { +@@ -390,8 +390,6 @@ android_library("chrome_java_integration_test_support") { deps = [ ":chrome_java_test_support_common", @@ -1248,7 +1029,7 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -2554,14 +2554,6 @@ public class ExternalNavigationHandler { +@@ -2568,14 +2568,6 @@ public class ExternalNavigationHandler { * @return Whether the given intent is going to open an Instant App. */ private static boolean isIntentToInstantApp(Intent intent) { @@ -1649,7 +1430,7 @@ diff --git a/components/media_router/browser/android/BUILD.gn b/components/media diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java -@@ -10,9 +10,6 @@ import androidx.annotation.Nullable; +@@ -9,9 +9,6 @@ import static org.chromium.build.NullUtil.assumeNonNull; import androidx.annotation.VisibleForTesting; import androidx.mediarouter.media.MediaRouter; @@ -1659,7 +1440,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo import org.jni_zero.CalledByNative; import org.jni_zero.JNINamespace; import org.jni_zero.NativeMethods; -@@ -44,23 +41,7 @@ public class BrowserMediaRouter implements MediaRouteManager { +@@ -46,23 +43,7 @@ public class BrowserMediaRouter implements MediaRouteManager { new MediaRouteProvider.Factory() { @Override public void addProviders(MediaRouteManager manager) { @@ -1687,18 +1468,22 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java -@@ -8,35 +8,18 @@ import androidx.annotation.Nullable; +@@ -7,8 +7,6 @@ package org.chromium.components.media_router; import androidx.mediarouter.media.MediaRouter; import androidx.mediarouter.media.MediaRouter.RouteInfo; -import com.google.android.gms.cast.CastDevice; - - /** A common descriptor of a device that can present some URI. */ + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; + +@@ -16,30 +14,15 @@ import org.chromium.build.annotations.Nullable; + @NullMarked public class MediaSink { private static final String CAST_SINK_URN_PREFIX = "urn:x-org.chromium:media:sink:cast-"; - private final String mId; - private final String mName; -- private final CastDevice mDevice; +- private final @Nullable CastDevice mDevice; - - /** - * Constructor. @@ -1706,7 +1491,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - * @param name A user friendly name of the sink. - * @param device {@link CastDevice} corresponding to this sink. - */ -- public MediaSink(String id, String name, CastDevice device) { +- public MediaSink(String id, String name, @Nullable CastDevice device) { - mId = id; - mName = name; - mDevice = device; @@ -1725,11 +1510,11 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** @return The valid URN representing the sink. */ -@@ -44,17 +27,8 @@ public class MediaSink { +@@ -47,17 +30,8 @@ public class MediaSink { return CAST_SINK_URN_PREFIX + getId(); } -- public CastDevice getDevice() { +- public @Nullable CastDevice getDevice() { - return mDevice; - } - @@ -1743,7 +1528,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo return false; } -@@ -62,23 +36,15 @@ public class MediaSink { +@@ -65,23 +39,15 @@ public class MediaSink { public int hashCode() { final int prime = 31; int result = 1; @@ -1768,10 +1553,10 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -89,10 +55,6 @@ public class MediaSink { +@@ -91,10 +57,6 @@ public class MediaSink { + * found, null otherwise. */ - @Nullable - public static MediaSink fromSinkId(String sinkId, MediaRouter router) { + public static @Nullable MediaSink fromSinkId(String sinkId, MediaRouter router) { - for (MediaRouter.RouteInfo route : router.getRoutes()) { - MediaSink sink = MediaSink.fromRoute(route); - if (sink.getId().equals(sinkId)) return sink; @@ -1793,9 +1578,9 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo import org.jni_zero.CalledByNative; import org.jni_zero.JNINamespace; -@@ -17,11 +13,6 @@ import org.jni_zero.JNINamespace; - */ +@@ -21,11 +17,6 @@ import org.chromium.build.annotations.Nullable; @JNINamespace("media_router") + @NullMarked public class MediaStatusBridge { - private MediaStatus mStatus; - @@ -1805,7 +1590,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo /** * Gets the play state of the stream. Return values are defined as such: -@@ -34,7 +25,7 @@ public class MediaStatusBridge { +@@ -38,7 +29,7 @@ public class MediaStatusBridge { */ @CalledByNative public int playerState() { @@ -1814,7 +1599,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -48,7 +39,7 @@ public class MediaStatusBridge { +@@ -52,7 +43,7 @@ public class MediaStatusBridge { */ @CalledByNative public int idleReason() { @@ -1823,10 +1608,10 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -57,43 +48,37 @@ public class MediaStatusBridge { +@@ -61,43 +52,37 @@ public class MediaStatusBridge { */ @CalledByNative - public String title() { + public @Nullable String title() { - MediaInfo info = mStatus.getMediaInfo(); - if (info == null) return ""; - @@ -1873,7 +1658,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -103,7 +88,7 @@ public class MediaStatusBridge { +@@ -107,7 +92,7 @@ public class MediaStatusBridge { */ @CalledByNative public double volume() { @@ -1882,7 +1667,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -112,15 +97,12 @@ public class MediaStatusBridge { +@@ -116,15 +101,12 @@ public class MediaStatusBridge { */ @CalledByNative public long duration() { @@ -1903,7 +1688,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java -@@ -6,10 +6,6 @@ package org.chromium.components.media_router.caf; +@@ -8,10 +8,6 @@ import static org.chromium.build.NullUtil.assumeNonNull; import android.content.Intent; @@ -1911,13 +1696,14 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo -import com.google.android.gms.cast.MediaStatus; -import com.google.android.gms.cast.framework.media.RemoteMediaClient; - - import org.chromium.components.browser_ui.media.MediaNotificationInfo; - import org.chromium.components.browser_ui.media.MediaNotificationListener; - import org.chromium.components.browser_ui.media.MediaNotificationManager; -@@ -61,20 +57,6 @@ public abstract class BaseNotificationController + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; + import org.chromium.build.annotations.RequiresNonNull; +@@ -68,22 +64,6 @@ public abstract class BaseNotificationController public void onStatusUpdated() { if (mNotificationBuilder == null) return; if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - - MediaStatus mediaStatus = mSessionController.getRemoteMediaClient().getMediaStatus(); - if (mediaStatus == null) return; @@ -1931,14 +1717,16 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - } else { - mNotificationBuilder.setActions(MediaNotificationInfo.ACTION_STOP); - } +- assumeNonNull(MediaRouterClient.getInstance()); - MediaRouterClient.getInstance().showNotification(mNotificationBuilder.build()); } /** Called when media metadata updated. */ -@@ -92,35 +74,6 @@ public abstract class BaseNotificationController +@@ -103,37 +83,6 @@ public abstract class BaseNotificationController mNotificationBuilder.setMetadata(notificationMetadata); if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getSession()); - - CastDevice castDevice = mSessionController.getSession().getCastDevice(); - if (castDevice != null) { @@ -1949,6 +1737,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - } - - RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient(); +- assumeNonNull(remoteMediaClient); - - com.google.android.gms.cast.MediaInfo info = remoteMediaClient.getMediaInfo(); - if (info == null) return; @@ -1971,11 +1760,12 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } ///////////////////////////////////////////////////////////////////////////////////////////// -@@ -128,16 +81,10 @@ public abstract class BaseNotificationController +@@ -141,18 +90,10 @@ public abstract class BaseNotificationController @Override public void onPlay(int actionSource) { - if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - - mSessionController.getRemoteMediaClient().play(); } @@ -1983,6 +1773,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void onPause(int actionSource) { - if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - - mSessionController.getRemoteMediaClient().pause(); } @@ -1991,26 +1782,29 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java -@@ -6,12 +6,7 @@ package org.chromium.components.media_router.caf; +@@ -6,15 +6,10 @@ package org.chromium.components.media_router.caf; - import androidx.annotation.Nullable; + import static org.chromium.build.NullUtil.assumeNonNull; -import com.google.android.gms.cast.CastDevice; -import com.google.android.gms.cast.framework.CastSession; -import com.google.android.gms.cast.framework.media.RemoteMediaClient; - import org.chromium.base.Log; + import org.chromium.build.annotations.EnsuresNonNullIf; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; -import org.chromium.components.media_router.CastSessionUtil; import org.chromium.components.media_router.FlingingController; import org.chromium.components.media_router.MediaSink; import org.chromium.components.media_router.MediaSource; -@@ -42,15 +37,12 @@ public abstract class BaseSessionController { +@@ -47,15 +42,12 @@ public abstract class BaseSessionController { void onMetadataUpdated(); } -- private CastSession mCastSession; +- private @Nullable CastSession mCastSession; private final CafBaseMediaRouteProvider mProvider; - private CreateRouteRequestInfo mRouteCreationInfo; + private @Nullable CreateRouteRequestInfo mRouteCreationInfo; - private final RemoteMediaClient.Callback mRemoteMediaClientCallback; private final List mCallbacks = new ArrayList<>(); @@ -2020,25 +1814,26 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } public void addCallback(Callback callback) { -@@ -63,9 +55,6 @@ public abstract class BaseSessionController { +@@ -68,10 +60,6 @@ public abstract class BaseSessionController { public void requestSessionLaunch() { mRouteCreationInfo = mProvider.getPendingCreateRouteRequestInfo(); +- assumeNonNull(mRouteCreationInfo); - CastUtils.getCastContext() - .setReceiverApplicationId(mRouteCreationInfo.getMediaSource().getApplicationId()); - // When the user clicks a route on the MediaRouteChooserDialog, we intercept the click event // and do not select the route. Instead the route selection is postponed to here. This will // trigger CAF to launch the session. -@@ -84,71 +73,22 @@ public abstract class BaseSessionController { +@@ -90,137 +78,43 @@ public abstract class BaseSessionController { return mRouteCreationInfo; } -- public CastSession getSession() { +- public @Nullable CastSession getSession() { - return mCastSession; - } - -- public RemoteMediaClient getRemoteMediaClient() { +- public @Nullable RemoteMediaClient getRemoteMediaClient() { - return isConnected() ? mCastSession.getRemoteMediaClient() : null; - } - @@ -2053,6 +1848,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo List capabilities = new ArrayList<>(); - if (mCastSession == null || !mCastSession.isConnected()) return capabilities; - CastDevice device = mCastSession.getCastDevice(); +- assumeNonNull(device); - if (device.hasCapability(CastDevice.CAPABILITY_AUDIO_IN)) { - capabilities.add("audio_in"); - } @@ -2068,6 +1864,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo return capabilities; } + @EnsuresNonNullIf("mCastSession") public boolean isConnected() { - return mCastSession != null && mCastSession.isConnected(); + return false; @@ -2075,6 +1872,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo private void updateRemoteMediaClient(String message) { if (!isConnected()) return; +- assumeNonNull(mCastSession.getRemoteMediaClient()); - - mCastSession - .getRemoteMediaClient() @@ -2103,7 +1901,16 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** Called when session started. */ -@@ -165,54 +105,12 @@ public abstract class BaseSessionController { + public void onSessionStarted() { +- notifyCallback((Callback callback) -> callback.onSessionStarted()); + } + + /** Called when session ended. */ + public void onSessionEnded() { +- notifyCallback((Callback callback) -> callback.onSessionEnded()); + } + + protected final CafBaseMediaRouteProvider getProvider() { return mProvider; } @@ -2144,8 +1951,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - notifyCallback((Callback callback) -> callback.onMetadataUpdated()); - } - -- @Nullable -- public FlingingController getFlingingController() { +- public @Nullable FlingingController getFlingingController() { - return null; - } - @@ -2153,8 +1959,9 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo * Helper message to get the session ID of the attached session. For stubbing in tests as * {@link CastSession#getSessionId()} is final. */ - public String getSessionId() { -- return isConnected() ? getSession().getSessionId() : null; +- public @Nullable String getSessionId() { +- return isConnected() ? mCastSession.getSessionId() : null; ++ public String getSessionId() { + return null; } @@ -2170,18 +1977,18 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo -import com.google.android.gms.cast.framework.SessionManagerListener; - import org.chromium.base.Log; - import org.chromium.components.media_router.DiscoveryCallback; - import org.chromium.components.media_router.DiscoveryDelegate; -@@ -36,7 +33,7 @@ import java.util.Set; - + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +@@ -39,7 +36,7 @@ import java.util.Set; /** A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s. */ + @NullMarked public abstract class CafBaseMediaRouteProvider - implements MediaRouteProvider, DiscoveryDelegate, SessionManagerListener { + implements MediaRouteProvider, DiscoveryDelegate { private static final String TAG = "CafMR"; protected static final List NO_SINKS = Collections.emptyList(); -@@ -174,7 +171,6 @@ public abstract class CafBaseMediaRouteProvider +@@ -176,7 +173,6 @@ public abstract class CafBaseMediaRouteProvider // current session and clean up the routes (can't wait for session ending as the signal // might be delayed). sessionController().endSession(); @@ -2189,7 +1996,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } if (mPendingCreateRouteRequestInfo != null) { cancelPendingRequest("Request replaced"); -@@ -203,10 +199,6 @@ public abstract class CafBaseMediaRouteProvider +@@ -205,10 +201,6 @@ public abstract class CafBaseMediaRouteProvider mManager.onCreateRouteRequestError("The sink does not exist", nativeRequestId); } @@ -2200,7 +2007,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo( source, -@@ -241,108 +233,6 @@ public abstract class CafBaseMediaRouteProvider +@@ -243,109 +235,6 @@ public abstract class CafBaseMediaRouteProvider removeRoute(routeId, /* error= */ null); } @@ -2271,6 +2078,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - protected void handleSessionStart(CastSession session, String sessionId) { - sessionController().attachToCastSession(session); - sessionController().onSessionStarted(); +- assumeNonNull(mPendingCreateRouteRequestInfo); - - MediaSink sink = mPendingCreateRouteRequestInfo.sink; - MediaSource source = mPendingCreateRouteRequestInfo.getMediaSource(); @@ -2299,7 +2107,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - } - sessionController().onSessionEnded(); - sessionController().detachFromCastSession(); -- getAndroidMediaRouter().selectRoute(getAndroidMediaRouter().getDefaultRoute()); +- mAndroidMediaRouter.selectRoute(mAndroidMediaRouter.getDefaultRoute()); - terminateAllRoutes(); - CastUtils.getCastContext() - .getSessionManager() @@ -2312,16 +2120,16 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java -@@ -11,8 +11,6 @@ import androidx.annotation.Nullable; +@@ -10,8 +10,6 @@ import static org.chromium.components.media_router.caf.CastUtils.isSameOrigin; import androidx.annotation.VisibleForTesting; import androidx.mediarouter.media.MediaRouter; -import com.google.android.gms.cast.framework.CastSession; - import org.chromium.base.Log; - import org.chromium.components.media_router.BrowserMediaRouter; - import org.chromium.components.media_router.ClientRecord; -@@ -144,23 +142,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider { + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +@@ -147,25 +145,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider { return mMessageHandler; } @@ -2331,6 +2139,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - - for (ClientRecord clientRecord : mClientIdToRecords.values()) { - // Should be exactly one instance of MediaRoute/ClientRecord at this moment. +- assert sessionController().getSink() != null; - mMessageHandler.sendReceiverActionToClient( - clientRecord.routeId, - sessionController().getSink(), @@ -2339,7 +2148,8 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - } - - mMessageHandler.onSessionStarted(); -- sessionController().getSession().getRemoteMediaClient().requestStatus(); +- assumeNonNull(assumeNonNull(sessionController().getSession()).getRemoteMediaClient()) +- .requestStatus(); - } - @Override @@ -2348,7 +2158,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java -@@ -13,10 +13,6 @@ import android.util.SparseArray; +@@ -14,10 +14,6 @@ import android.util.SparseArray; import androidx.annotation.VisibleForTesting; import androidx.collection.ArrayMap; @@ -2359,10 +2169,10 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -@@ -338,50 +334,7 @@ public class CafMessageHandler { - throws JSONException { +@@ -336,50 +332,7 @@ public class CafMessageHandler { if (volumeMessage == null) return false; if (!mSessionController.isConnected()) return false; + assumeNonNull(mSessionController.getSession()); - boolean shouldWaitForVolumeChange = false; - try { - if (!volumeMessage.isNull("muted")) { @@ -2411,7 +2221,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } @VisibleForTesting -@@ -680,20 +633,11 @@ public class CafMessageHandler { +@@ -678,21 +631,11 @@ public class CafMessageHandler { try { // "volume" is a part of "receiver" initialized below. JSONObject jsonVolume = new JSONObject(); @@ -2421,7 +2231,8 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo // "receiver" is a part of "message" initialized below. JSONObject jsonReceiver = new JSONObject(); - jsonReceiver.put( -- "label", mSessionController.getSession().getCastDevice().getDeviceId()); +- "label", +- assumeNonNull(mSessionController.getSession().getCastDevice()).getDeviceId()); - jsonReceiver.put( - "friendlyName", - mSessionController.getSession().getCastDevice().getFriendlyName()); @@ -2432,7 +2243,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo jsonReceiver.put("displayStatus", null); jsonReceiver.put("receiverType", "cast"); -@@ -706,28 +650,16 @@ public class CafMessageHandler { +@@ -705,28 +648,12 @@ public class CafMessageHandler { JSONObject jsonMessage = new JSONObject(); jsonMessage.put("sessionId", mSessionController.getSessionId()); @@ -2450,23 +2261,22 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - } else { - jsonMessage.put( - "appId", -- mSessionController -- .getRouteCreationInfo() -+ jsonMessage.put("appId", -+ mSessionController.getRouteCreationInfo() - .getMediaSource() - .getApplicationId()); +- assumeNonNull(mSessionController.getRouteCreationInfo()) +- .getMediaSource() +- .getApplicationId()); - } - jsonMessage.put( - "displayName", - mSessionController.getSession().getCastDevice().getFriendlyName()); - +- return jsonMessage.toString(); } catch (JSONException e) { -@@ -806,32 +738,6 @@ public class CafMessageHandler { + Log.w(TAG, "Building session message failed", e); +@@ -804,33 +731,6 @@ public class CafMessageHandler { boolean sendStringCastMessage( String message, String namespace, String clientId, int sequenceNumber) { if (!mSessionController.isConnected()) return false; +- assumeNonNull(mSessionController.getSession()); - - PendingResult pendingResult = - mSessionController.getSession().sendMessage(namespace, message); @@ -2500,19 +2310,19 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java -@@ -9,8 +9,6 @@ import android.net.Uri; - import androidx.annotation.Nullable; +@@ -8,8 +8,6 @@ import android.net.Uri; + import androidx.mediarouter.media.MediaRouteSelector; -import com.google.android.gms.cast.CastMediaControlIntent; - + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; import org.chromium.components.media_router.MediaSource; - - import java.util.Arrays; -@@ -96,13 +94,7 @@ public class CastMediaSource implements MediaSource { +@@ -97,13 +95,7 @@ public class CastMediaSource implements MediaSource { */ @Override - public MediaRouteSelector buildRouteSelector() { + public @Nullable MediaRouteSelector buildRouteSelector() { - try { - return new MediaRouteSelector.Builder() - .addControlCategory(CastMediaControlIntent.categoryForCast(mApplicationId)) @@ -2539,7 +2349,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; -@@ -18,20 +13,5 @@ import java.util.List; +@@ -18,19 +13,5 @@ import java.util.List; /** {@link OptionsProvider} implementation for Chrome MR. */ @NullMarked @@ -2547,7 +2357,6 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - @Override - public CastOptions getCastOptions(Context context) { - return new CastOptions.Builder() -- .setCastMediaOptions(null) - .setEnableReconnectionService(false) - .setLaunchOptions(new LaunchOptions.Builder().setRelaunchIfRunning(true).build()) - .setResumeSavedSession(false) @@ -2564,8 +2373,8 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java -@@ -7,11 +7,6 @@ package org.chromium.components.media_router.caf; - import androidx.annotation.NonNull; +@@ -8,11 +8,6 @@ import static org.chromium.build.NullUtil.assumeNonNull; + import androidx.annotation.VisibleForTesting; -import com.google.android.gms.cast.ApplicationMetadata; @@ -2574,9 +2383,9 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo -import com.google.android.gms.cast.framework.CastSession; - import org.chromium.base.Log; - - import java.util.ArrayList; -@@ -24,12 +19,10 @@ public class CastSessionController extends BaseSessionController { + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +@@ -28,12 +23,10 @@ public class CastSessionController extends BaseSessionController { private static final String TAG = "CafSessionCtrl"; private List mNamespaces = new ArrayList(); @@ -2589,7 +2398,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo mNotificationController = new CafNotificationController(this); } -@@ -37,30 +30,6 @@ public class CastSessionController extends BaseSessionController { +@@ -41,31 +34,6 @@ public class CastSessionController extends BaseSessionController { return mNamespaces; } @@ -2604,6 +2413,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - @Override - public void attachToCastSession(CastSession session) { - super.attachToCastSession(session); +- assumeNonNull(getSession()); - getSession().addCastListener(mCastListener); - updateNamespaces(); - } @@ -2620,7 +2430,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void onSessionEnded() { getMessageHandler().onSessionEnded(); -@@ -72,24 +41,6 @@ public class CastSessionController extends BaseSessionController { +@@ -77,24 +45,6 @@ public class CastSessionController extends BaseSessionController { return mNotificationController; } @@ -2631,7 +2441,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - } - - @Override -- public void onApplicationMetadataChanged(ApplicationMetadata metadata) { +- public void onApplicationMetadataChanged(@Nullable ApplicationMetadata metadata) { - CastSessionController.this.onApplicationStatusChanged(); - } - @@ -2645,10 +2455,11 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo private void onApplicationStatusChanged() { updateNamespaces(); -@@ -101,53 +52,18 @@ public class CastSessionController extends BaseSessionController { +@@ -106,55 +56,18 @@ public class CastSessionController extends BaseSessionController { @VisibleForTesting void updateNamespaces() { if (!isConnected()) return; +- assumeNonNull(getSession()); - - if (getSession().getApplicationMetadata() == null - || getSession().getApplicationMetadata().getSupportedNamespaces() == null) { @@ -2672,7 +2483,8 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo if (!isConnected()) return; - - try { -- getSession().setMessageReceivedCallbacks(namespace, this::onMessageReceived); +- assumeNonNull(getSession()) +- .setMessageReceivedCallbacks(namespace, this::onMessageReceived); - mNamespaces.add(namespace); - } catch (Exception e) { - Log.e(TAG, "Failed to register namespace listener for %s", namespace, e); @@ -2685,7 +2497,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo if (!isConnected()) return; - - try { -- getSession().removeMessageReceivedCallbacks(namespace); +- assumeNonNull(getSession()).removeMessageReceivedCallbacks(namespace); - mNamespaces.remove(namespace); - } catch (Exception e) { - Log.e(TAG, "Failed to remove the namespace listener for %s", namespace, e); @@ -2698,24 +2510,26 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - getMessageHandler().onMessageReceived(namespace, message); } - @NonNull + private CafMessageHandler getMessageHandler() { diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java -@@ -4,18 +4,10 @@ +@@ -6,20 +6,12 @@ package org.chromium.components.media_router.caf; - package org.chromium.components.media_router.caf; + import static org.chromium.build.NullUtil.assumeNonNull; -import com.google.android.gms.cast.framework.CastContext; - + import org.chromium.build.annotations.NullMarked; import org.chromium.components.media_router.MediaRouterClient; /** Utility methods for Cast. */ + @NullMarked public class CastUtils { - /** Helper method to return the {@link CastContext} instance. */ - public static CastContext getCastContext() { - return CastContext.getSharedInstance( -- MediaRouterClient.getInstance().getContextForRemoting()); +- assumeNonNull(MediaRouterClient.getInstance()).getContextForRemoting()); - } - /** @@ -2724,33 +2538,34 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java -@@ -40,42 +40,29 @@ public class CafExpandedControllerActivity extends FragmentActivity +@@ -55,43 +55,29 @@ public class CafExpandedControllerActivity extends FragmentActivity new MediaController.Delegate() { @Override public void play() { - if (!mSessionController.isConnected()) return; - -- mSessionController.getSession().getRemoteMediaClient().play(); +- getRemoteMediaClient().play(); } @Override public void pause() { - if (!mSessionController.isConnected()) return; - -- mSessionController.getSession().getRemoteMediaClient().pause(); +- getRemoteMediaClient().pause(); } @Override public long getDuration() { - if (!mSessionController.isConnected()) return 0; -- return mSessionController.getFlingingController().getDuration(); +- return assumeNonNull(mSessionController.getFlingingController()).getDuration(); + return 0; } @Override public long getPosition() { - if (!mSessionController.isConnected()) return 0; -- return mSessionController.getFlingingController().getApproximateCurrentTime(); +- return assumeNonNull(mSessionController.getFlingingController()) +- .getApproximateCurrentTime(); + return 0; } @@ -2758,24 +2573,23 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo public void seekTo(long pos) { - if (!mSessionController.isConnected()) return; - -- mSessionController.getSession().getRemoteMediaClient().seek(pos); +- getRemoteMediaClient().seek(pos); } @Override public boolean isPlaying() { - if (!mSessionController.isConnected()) return false; - -- return mSessionController.getSession().getRemoteMediaClient().isPlaying(); +- return getRemoteMediaClient().isPlaying(); + return false; } @Override -@@ -83,12 +70,6 @@ public class CafExpandedControllerActivity extends FragmentActivity +@@ -99,11 +85,6 @@ public class CafExpandedControllerActivity extends FragmentActivity long flags = PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD; -- if (mSessionController.isConnected() -- && mSessionController.getSession().getRemoteMediaClient().isPlaying()) { +- if (mSessionController.isConnected() && getRemoteMediaClient().isPlaying()) { - flags |= PlaybackStateCompat.ACTION_PAUSE; - } else { - flags |= PlaybackStateCompat.ACTION_PLAY; @@ -2783,14 +2597,16 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo return flags; } }; -@@ -178,20 +159,10 @@ public class CafExpandedControllerActivity extends FragmentActivity +@@ -203,22 +184,10 @@ public class CafExpandedControllerActivity extends FragmentActivity private void updateUi() { if (!mSessionController.isConnected()) return; -- String deviceName = mSessionController.getSession().getCastDevice().getFriendlyName(); +- String deviceName = +- assumeNonNull(assumeNonNull(mSessionController.getSession()).getCastDevice()) +- .getFriendlyName(); - String titleText = ""; - if (deviceName != null) { -- titleText = getResources().getString(R.string.cast_casting_video, deviceName); +- titleText = getString(R.string.cast_casting_video, deviceName); - } - mTitleView.setText(titleText); - @@ -2798,7 +2614,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo mMediaController.updateProgress(); cancelProgressUpdateTask(); -- if (mSessionController.getSession().getRemoteMediaClient().isPlaying()) { +- if (getRemoteMediaClient().isPlaying()) { - scheduleProgressUpdateTask(); - } } @@ -2807,7 +2623,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java -@@ -69,7 +69,7 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider { +@@ -72,7 +72,7 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider { if (!mRoutes.containsKey(routeId)) return null; @@ -2816,7 +2632,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } @Override -@@ -78,7 +78,7 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider { +@@ -81,7 +81,7 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider { var controller = sessionController(); // There is no active remote playback media route. @@ -2824,13 +2640,13 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo + if (!hasSession() || (true)) return; // Do not update media source for a detached session. - if (!mRoutes.containsKey(controller.getRouteCreationInfo().routeId)) return; + if (!mRoutes.containsKey(assumeNonNull(controller.getRouteCreationInfo()).routeId)) return; diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java -@@ -4,11 +4,6 @@ +@@ -6,11 +6,6 @@ package org.chromium.components.media_router.caf.remoting; - package org.chromium.components.media_router.caf.remoting; + import static org.chromium.build.NullUtil.assumeNonNull; -import com.google.android.gms.cast.MediaInfo; -import com.google.android.gms.cast.MediaStatus; @@ -2838,12 +2654,13 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo -import com.google.android.gms.common.api.Result; - import org.chromium.base.Log; - import org.chromium.components.media_router.FlingingController; - import org.chromium.components.media_router.MediaController; -@@ -80,15 +75,6 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +@@ -85,16 +80,6 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr /** Starts loading the media URL, from the given position. */ public void load(long position, boolean autoplay) { if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - - mLoaded = true; - @@ -2856,7 +2673,13 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } //////////////////////////////////////////// -@@ -103,103 +89,28 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr +@@ -104,114 +89,33 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr + @Override + public void play() { + if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); + + if (!mLoaded) { load(/* position= */ 0, /* autoplay= */ true); return; } @@ -2870,6 +2693,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void pause() { if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - mSessionController - .getRemoteMediaClient() - .pause() @@ -2879,6 +2703,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void setMute(boolean mute) { if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - mSessionController - .getRemoteMediaClient() - .setStreamMute(mute) @@ -2888,6 +2713,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void setVolume(double volume) { if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - mSessionController - .getRemoteMediaClient() - .setStreamVolume(volume) @@ -2897,6 +2723,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void seek(long position) { - if (!mSessionController.isConnected()) return; +- assumeNonNull(mSessionController.getRemoteMediaClient()); - - if (!mLoaded) { - load(position, /* autoplay= */ true); @@ -2918,6 +2745,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - if (mMediaStatusObserver == null) return; - - RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient(); +- assumeNonNull(remoteMediaClient); - - MediaStatus mediaStatus = remoteMediaClient.getMediaStatus(); - if (mediaStatus != null) { @@ -2963,16 +2791,16 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java -@@ -14,8 +14,6 @@ import android.util.Base64; - import androidx.annotation.Nullable; +@@ -13,8 +13,6 @@ import android.util.Base64; + import androidx.mediarouter.media.MediaRouteSelector; -import com.google.android.gms.cast.CastMediaControlIntent; - import org.chromium.base.ContextUtils; import org.chromium.base.Log; - import org.chromium.components.media_router.MediaSource; -@@ -84,9 +82,7 @@ public class RemotingMediaSource implements MediaSource { + import org.chromium.build.annotations.NullMarked; +@@ -85,9 +83,7 @@ public class RemotingMediaSource implements MediaSource { */ @Override public MediaRouteSelector buildRouteSelector() { @@ -2983,7 +2811,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -116,7 +112,7 @@ public class RemotingMediaSource implements MediaSource { +@@ -117,7 +113,7 @@ public class RemotingMediaSource implements MediaSource { sApplicationId = (customAppId != null && !customAppId.isEmpty()) ? customAppId @@ -2995,16 +2823,16 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java -@@ -4,8 +4,6 @@ +@@ -6,8 +6,6 @@ package org.chromium.components.media_router.caf.remoting; - package org.chromium.components.media_router.caf.remoting; + import static org.chromium.build.NullUtil.assumeNonNull; -import com.google.android.gms.cast.framework.CastSession; - import org.chromium.base.Log; - import org.chromium.components.media_router.CastSessionUtil; - import org.chromium.components.media_router.MediaSource; -@@ -45,23 +43,6 @@ public class RemotingSessionController extends BaseSessionController { + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; +@@ -51,23 +49,6 @@ public class RemotingSessionController extends BaseSessionController { getProvider().updateRouteMediaSource(getRouteCreationInfo().routeId, source.getSourceId()); } @@ -3013,7 +2841,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo - super.attachToCastSession(session); - - try { -- getSession() +- assumeNonNull(getSession()) - .setMessageReceivedCallbacks( - CastSessionUtil.MEDIA_NAMESPACE, this::onMessageReceived); - } catch (Exception e) { @@ -3028,18 +2856,19 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo @Override public void onSessionStarted() { super.onSessionStarted(); -@@ -73,17 +54,6 @@ public class RemotingSessionController extends BaseSessionController { +@@ -79,18 +60,6 @@ public class RemotingSessionController extends BaseSessionController { } } - @Override - protected void onStatusUpdated() { +- assumeNonNull(mFlingingControllerAdapter); - mFlingingControllerAdapter.onStatusUpdated(); - super.onStatusUpdated(); - } - - @Override -- public FlingingControllerAdapter getFlingingController() { +- public @Nullable FlingingControllerAdapter getFlingingController() { - return mFlingingControllerAdapter; - } - @@ -3086,7 +2915,7 @@ diff --git a/components/module_installer/android/BUILD.gn b/components/module_in diff --git a/components/omnibox/common/BUILD.gn b/components/omnibox/common/BUILD.gn --- a/components/omnibox/common/BUILD.gn +++ b/components/omnibox/common/BUILD.gn -@@ -49,7 +49,6 @@ if (is_android) { +@@ -54,7 +54,6 @@ if (is_android) { ":jni_headers", ] deps = [ @@ -3106,7 +2935,7 @@ diff --git a/components/omnibox/common/android/java/src/org/chromium/components/ import org.chromium.base.BaseSwitches; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; -@@ -146,12 +144,6 @@ public class OmniboxFeatures { +@@ -143,12 +141,6 @@ public class OmniboxFeatures { "geolocation_request_min_update_interval_millis", (int) (9 * DateUtils.MINUTE_IN_MILLIS)); @@ -3131,7 +2960,7 @@ diff --git a/components/signin/public/android/BUILD.gn b/components/signin/publi "//base:base_java", "//base:service_loader_java", "//build/android:build_java", -@@ -197,7 +195,6 @@ robolectric_library("junit") { +@@ -195,7 +193,6 @@ robolectric_library("junit") { deps = [ ":java", ":signin_java_test_support", @@ -3175,7 +3004,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/ "//base:base_java", "//base:service_loader_java", "//base/version_info/android:version_constants_java", -@@ -140,8 +130,6 @@ android_library("test_support_java") { +@@ -141,8 +131,6 @@ android_library("test_support_java") { source_set("android") { sources = [ "cred_man_support.h", @@ -3184,7 +3013,7 @@ diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/ "internal_authenticator_android.cc", "internal_authenticator_android.h", "webauthn_browser_bridge.cc", -@@ -211,7 +199,6 @@ robolectric_library("junit") { +@@ -212,7 +200,6 @@ robolectric_library("junit") { deps = [ ":java", ":test_support_java", @@ -3566,9 +3395,9 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java b/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java --- a/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java +++ b/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java -@@ -14,13 +14,6 @@ import android.os.Handler; - import android.os.Looper; - import android.os.ResultReceiver; +@@ -19,13 +19,6 @@ import android.os.ResultReceiver; + import androidx.annotation.RequiresApi; + import androidx.annotation.VisibleForTesting; -import com.google.android.gms.identitycredentials.CredentialOption; -import com.google.android.gms.identitycredentials.GetCredentialException; @@ -3577,13 +3406,13 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/ -import com.google.android.gms.identitycredentials.IdentityCredentialManager; -import com.google.android.gms.identitycredentials.IntentHelper; - - import org.chromium.base.Log; - import org.chromium.base.Promise; - import org.chromium.base.ServiceLoaderUtil; -@@ -43,82 +36,7 @@ public class IdentityCredentialsDelegate { + import org.json.JSONException; + import org.json.JSONObject; + +@@ -87,77 +80,7 @@ public class IdentityCredentialsDelegate { } - public Promise get(Activity window, String origin, String request) { + public Promise get(Activity window, String origin, String request) { - final IdentityCredentialClient client; - try { - client = IdentityCredentialManager.Companion.getClient(window); @@ -3593,7 +3422,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/ - return Promise.rejected(); - } - -- final Promise result = new Promise(); +- final Promise result = new Promise(); - - ResultReceiver resultReceiver = - new ResultReceiver(new Handler(Looper.getMainLooper())) { @@ -3603,12 +3432,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/ - protected void onReceiveResult(int code, Bundle data) { - Log.d(TAG, "Received a response"); - try { -- var response = IntentHelper.extractGetCredentialResponse(code, data); -- var token = -- response.getCredential() -- .getData() -- .getByteArray("identityToken"); -- result.fulfill(Objects.requireNonNull(token)); +- result.fulfill(extractDigitalCredentialFromResponseBundle(code, data)); - } catch (Exception e) { - Log.e(TAG, e.toString()); - @@ -3667,7 +3491,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -3653,10 +3653,6 @@ if (is_android) { +@@ -3675,10 +3675,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3681,23 +3505,23 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn diff --git a/device/BUILD.gn b/device/BUILD.gn --- a/device/BUILD.gn +++ b/device/BUILD.gn -@@ -520,9 +520,6 @@ if (is_android) { - "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java", +@@ -522,9 +522,6 @@ if (is_android) { + "vr/public/junit/src/org/chromium/device/vr/XrFeatureStatusTest.java", ] deps = [ - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", - "$google_play_services_package:google_play_services_location_java", + "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", - "//device/gamepad:java", diff --git a/device/fido/features.cc b/device/fido/features.cc --- a/device/fido/features.cc +++ b/device/fido/features.cc -@@ -113,6 +113,7 @@ BASE_FEATURE(kWebAuthniCloudKeychainPrf, +@@ -96,6 +96,7 @@ BASE_FEATURE(kWebAuthnAmbientSignin, BASE_FEATURE(kWebAuthnHybridLinking, "WebAuthenticationHybridLinking", - base::FEATURE_ENABLED_BY_DEFAULT); + base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kWebAuthnHybridLinking); // This is a deprecation flag. It is now enabled by default, but we want to @@ -3705,7 +3529,7 @@ diff --git a/device/fido/features.cc b/device/fido/features.cc diff --git a/services/BUILD.gn b/services/BUILD.gn --- a/services/BUILD.gn +++ b/services/BUILD.gn -@@ -157,11 +157,6 @@ if (is_android) { +@@ -158,11 +158,6 @@ if (is_android) { "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java", ] deps = [ @@ -3717,7 +3541,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -@@ -191,10 +186,6 @@ if (is_android) { +@@ -193,10 +188,6 @@ if (is_android) { "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java", ] deps = [ @@ -3757,7 +3581,7 @@ diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD. diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn -@@ -89,22 +89,13 @@ if (!limit_android_deps) { +@@ -95,22 +95,13 @@ if (!limit_android_deps) { android_library("chromium_play_services_availability_java") { sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ] @@ -3781,118 +3605,77 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. } # The section below is generated by running -@@ -318,295 +309,6 @@ if (!limit_android_deps) { - [ "local_modifications/accessibility_test_framework.pcfg" ] - } +@@ -154,221 +145,6 @@ java_prebuilt("com_android_tools_sdk_common_java") { + visibility = [ "//build/android/unused_resources:*" ] + } +-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +-java_prebuilt("com_google_code_gson_gson_java") { +- jar_path = "cipd/libs/com_google_code_gson_gson/gson-2.8.0.jar" +- output_name = "com_google_code_gson_gson" +- enable_bytecode_checks = false +-} +- +-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +-java_prebuilt("com_squareup_javapoet_java") { +- jar_path = "cipd/libs/com_squareup_javapoet/javapoet-1.13.0.jar" +- output_name = "com_squareup_javapoet" +- enable_bytecode_checks = false +-} +-if (!limit_android_deps) { - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_auth_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_auth/play-services-auth-21.1.1.aar" -- info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info" -- enable_bytecode_checks = false -- deps = [ -- "$google_play_services_package:google_play_services_auth_api_phone_java", -- "$google_play_services_package:google_play_services_auth_base_java", -- "$google_play_services_package:google_play_services_base_java", -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_fido_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/androidx:androidx_fragment_fragment_java", -- "//third_party/androidx:androidx_loader_loader_java", -- ] -- } +- java_prebuilt("com_android_support_support_annotations_java") { +- jar_path = "cipd/libs/com_android_support_support_annotations/support-annotations-28.0.0.jar" +- output_name = "com_android_support_support_annotations" +- supports_android = true +- requires_android = true +- enable_bytecode_checks = false +- } +- +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- android_aar_prebuilt( +- "com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework_java") { +- aar_path = "cipd/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework/accessibility-test-framework-4.0.0.aar" +- info_path = "libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework/com_google_android_accessibility_test_framework.info" +- enable_bytecode_checks = false +- testonly = true +- deps = [ +- ":com_google_errorprone_error_prone_annotations_java", +- ":org_checkerframework_checker_qual_java", +- ":org_jsoup_jsoup_java", +- "//third_party/android_deps:guava_android_java", +- "//third_party/android_deps:material_design_java", +- "//third_party/android_deps:protobuf_lite_runtime_java", +- "//third_party/androidx:androidx_core_core_java", +- "//third_party/androidx:androidx_test_services_storage_java", +- "//third_party/hamcrest:hamcrest_core_java", +- "//third_party/hamcrest:hamcrest_library_java", +- ] +- proguard_configs = +- [ "local_modifications/accessibility_test_framework.pcfg" ] - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_auth_api_phone_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-18.0.2.aar" -- info_path = "libs/com_google_android_gms_play_services_auth_api_phone/com_google_android_gms_play_services_auth_api_phone.info" +- android_aar_prebuilt( +- "google_android_datatransport_transport_backend_cct_java") { +- aar_path = "cipd/libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-4.0.0.aar" +- info_path = "libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info" - enable_bytecode_checks = false - deps = [ -- "$google_play_services_package:google_play_services_base_java", -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_tasks_java", +- ":google_android_datatransport_transport_api_java", +- ":google_android_datatransport_transport_runtime_java", +- "$google_play_services_package:google_firebase_firebase_encoders_java", +- "$google_play_services_package:google_firebase_firebase_encoders_json_java", +- "//third_party/androidx:androidx_annotation_annotation_java", - ] - } - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_auth_base_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-18.0.10.aar" -- info_path = "libs/com_google_android_gms_play_services_auth_base/com_google_android_gms_play_services_auth_base.info" -- enable_bytecode_checks = false -- deps = [ -- "$google_play_services_package:google_play_services_base_java", -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/androidx:androidx_collection_collection_java", -- ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_auth_blockstore_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_auth_blockstore/play-services-auth-blockstore-16.4.0.aar" -- info_path = "libs/com_google_android_gms_play_services_auth_blockstore/com_google_android_gms_play_services_auth_blockstore.info" -- enable_bytecode_checks = false -- deps = [ -- "$google_play_services_package:google_play_services_base_java", -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/kotlin_stdlib:kotlin_stdlib_java", -- ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_base_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_base/play-services-base-18.5.0.aar" -- info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info" -- enable_bytecode_checks = false -- deps = [ -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/androidx:androidx_collection_collection_java", -- "//third_party/androidx:androidx_core_core_java", -- "//third_party/androidx:androidx_fragment_fragment_java", -- ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_basement_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_basement/play-services-basement-18.5.0.aar" -- info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info" -- enable_bytecode_checks = false -- deps = [ -- "//third_party/androidx:androidx_collection_collection_java", -- "//third_party/androidx:androidx_fragment_fragment_java", -- ] -- -- jar_excluded_patterns = [] -- if (!enable_java_asserts) { -- # Omit the file since we use our own copy. -- jar_excluded_patterns += -- [ "com/google/android/gms/common/internal/Preconditions.class" ] -- deps += [ "//third_party/android_deps/local_modifications/preconditions:gms_stub_preconditions_java" ] -- } -- -- # https://crbug.com/989505 -- jar_excluded_patterns += [ "META-INF/proguard/*" ] -- input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_cast_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_cast/play-services-cast-22.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info" - enable_bytecode_checks = false - deps = [ @@ -3909,15 +3692,21 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_cast_framework_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-22.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_cast_framework/com_google_android_gms_play_services_cast_framework.info" - enable_bytecode_checks = false - deps = [ +- ":google_android_datatransport_transport_api_java", +- ":google_android_datatransport_transport_backend_cct_java", +- ":google_android_datatransport_transport_runtime_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", - "$google_play_services_package:google_play_services_cast_java", +- "$google_play_services_package:google_play_services_tasks_java", +- "//third_party/android_deps:guava_android_java", - "//third_party/androidx:androidx_appcompat_appcompat_java", - "//third_party/androidx:androidx_collection_collection_java", +- "//third_party/androidx:androidx_concurrent_concurrent_futures_java", - "//third_party/androidx:androidx_core_core_java", - "//third_party/androidx:androidx_fragment_fragment_java", - "//third_party/androidx:androidx_media_media_java", @@ -3929,22 +3718,6 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_fido_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_fido/play-services-fido-21.1.0.aar" -- info_path = "libs/com_google_android_gms_play_services_fido/com_google_android_gms_play_services_fido.info" -- enable_bytecode_checks = false -- deps = [ -- ":org_jetbrains_kotlinx_kotlinx_coroutines_core_java", -- "$google_play_services_package:google_play_services_base_java", -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/kotlin_stdlib:kotlin_stdlib_java", -- ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_gcm_java") { - aar_path = "cipd/libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info" @@ -3963,21 +3736,6 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_identity_credentials_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_identity_credentials/play-services-identity-credentials-16.0.0-alpha05.aar" -- info_path = "libs/com_google_android_gms_play_services_identity_credentials/com_google_android_gms_play_services_identity_credentials.info" -- enable_bytecode_checks = false -- deps = [ -- "$google_play_services_package:google_play_services_base_java", -- "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/kotlin_stdlib:kotlin_stdlib_java", -- ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_iid_java") { - aar_path = "cipd/libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info" @@ -3996,7 +3754,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_instantapps_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.0.1.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info" - enable_bytecode_checks = false - deps = [ @@ -4010,25 +3768,30 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_location_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_location/play-services-location-21.0.1.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_location/play-services-location-21.3.0.aar" - info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info" - enable_bytecode_checks = false - deps = [ +- ":org_jetbrains_kotlinx_kotlinx_coroutines_android_java", +- ":org_jetbrains_kotlinx_kotlinx_coroutines_core_java", - "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", - "$google_play_services_package:google_play_services_tasks_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", - ] - } - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_tasks_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.2.0.aar" -- info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info" +- android_aar_prebuilt("google_play_services_stats_java") { +- aar_path = "cipd/libs/com_google_android_gms_play_services_stats/play-services-stats-17.1.0.aar" +- info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info" - enable_bytecode_checks = false -- deps = -- [ "$google_play_services_package:google_play_services_basement_java" ] +- deps = [ +- "$google_play_services_package:google_play_services_basement_java", +- "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java", +- ] - } - } - @@ -4061,30 +3824,17 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ] - } - } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- android_aar_prebuilt( -- "com_google_android_libraries_identity_googleid_googleid_java") { -- aar_path = "cipd/libs/com_google_android_libraries_identity_googleid_googleid/googleid-1.1.1.aar" -- info_path = "libs/com_google_android_libraries_identity_googleid_googleid/com_google_android_libraries_identity_googleid_googleid.info" -- enable_bytecode_checks = false -- deps = [ -- "//third_party/androidx:androidx_credentials_credentials_java", -- "//third_party/kotlin_stdlib:kotlin_stdlib_java", -- ] -- } -- + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(material_design_target)) { - android_aar_prebuilt("com_google_android_material_material_java") { -@@ -655,24 +357,6 @@ if (!limit_android_deps) { +@@ -417,24 +193,6 @@ if (!limit_android_deps) { } } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (!defined(playcore_target)) { - android_aar_prebuilt("com_google_android_play_feature_delivery_java") { -- aar_path = "cipd/libs/com_google_android_play_feature_delivery/feature-delivery-2.0.1.aar" +- aar_path = "cipd/libs/com_google_android_play_feature_delivery/feature-delivery-2.1.0.aar" - info_path = "libs/com_google_android_play_feature_delivery/com_google_android_play_feature_delivery.info" - enable_bytecode_checks = false - @@ -4102,15 +3852,32 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. android_aar_prebuilt("com_google_ar_impress_java") { aar_path = "cipd/libs/com_google_ar_impress/impress-0.0.2.aar" -@@ -706,56 +390,6 @@ if (!limit_android_deps) { - } +@@ -470,93 +228,6 @@ if (!limit_android_deps) { } + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- if (google_play_services_package == "//third_party/android_deps") { +- android_aar_prebuilt("google_firebase_firebase_datatransport_java") { +- aar_path = "cipd/libs/com_google_firebase_firebase_datatransport/firebase-datatransport-19.0.0.aar" +- info_path = "libs/com_google_firebase_firebase_datatransport/com_google_firebase_firebase_datatransport.info" +- enable_bytecode_checks = false +- deps = [ +- ":google_android_datatransport_transport_api_java", +- ":google_android_datatransport_transport_backend_cct_java", +- ":google_android_datatransport_transport_runtime_java", +- "$google_play_services_package:google_firebase_firebase_common_java", +- "$google_play_services_package:google_firebase_firebase_components_java", +- "//third_party/androidx:androidx_annotation_annotation_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", +- ] +- } +- } +- - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_iid_java") { - aar_path = -- "cipd/libs/com_google_firebase_firebase_iid/firebase-iid-21.0.1.aar" +- "cipd/libs/com_google_firebase_firebase_iid/firebase-iid-21.1.0.aar" - info_path = "libs/com_google_firebase_firebase_iid/com_google_firebase_firebase_iid.info" - enable_bytecode_checks = false - deps = [ @@ -4132,41 +3899,82 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_firebase_firebase_messaging_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_messaging/firebase-messaging-21.0.1.aar" -- info_path = "libs/com_google_firebase_firebase_messaging/com_google_firebase_firebase_messaging.info" +- android_aar_prebuilt( +- "google_firebase_firebase_measurement_connector_java") { +- aar_path = "cipd/libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-20.0.1.aar" +- info_path = "libs/com_google_firebase_firebase_measurement_connector/com_google_firebase_firebase_measurement_connector.info" - enable_bytecode_checks = false - deps = [ -- ":google_android_datatransport_transport_api_java", -- "$google_play_services_package:google_firebase_firebase_common_java", -- "$google_play_services_package:google_firebase_firebase_components_java", -- "$google_play_services_package:google_firebase_firebase_encoders_java", -- "$google_play_services_package:google_firebase_firebase_encoders_json_java", -- "$google_play_services_package:google_firebase_firebase_iid_java", -- "$google_play_services_package:google_firebase_firebase_installations_interop_java", -- "$google_play_services_package:google_firebase_firebase_installations_java", -- "$google_play_services_package:google_firebase_firebase_measurement_connector_java", +- "$google_play_services_package:google_firebase_firebase_annotations_java", - "$google_play_services_package:google_play_services_basement_java", -- "$google_play_services_package:google_play_services_cloud_messaging_java", -- "$google_play_services_package:google_play_services_stats_java", -- "$google_play_services_package:google_play_services_tasks_java", -- "//third_party/androidx:androidx_collection_collection_java", -- "//third_party/androidx:androidx_core_core_java", - ] - } - } - +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- if (google_play_services_package == "//third_party/android_deps") { +- android_aar_prebuilt("google_firebase_firebase_messaging_java") { +- aar_path = "cipd/libs/com_google_firebase_firebase_messaging/firebase-messaging-24.1.0.aar" +- info_path = "libs/com_google_firebase_firebase_messaging/com_google_firebase_firebase_messaging.info" +- enable_bytecode_checks = false +- deps = [ +- ":com_google_errorprone_error_prone_annotations_java", +- ":google_android_datatransport_transport_api_java", +- ":google_android_datatransport_transport_backend_cct_java", +- ":google_android_datatransport_transport_runtime_java", +- "$google_play_services_package:google_firebase_firebase_common_java", +- "$google_play_services_package:google_firebase_firebase_common_ktx_java", +- "$google_play_services_package:google_firebase_firebase_components_java", +- "$google_play_services_package:google_firebase_firebase_datatransport_java", +- "$google_play_services_package:google_firebase_firebase_encoders_java", +- "$google_play_services_package:google_firebase_firebase_encoders_json_java", +- "$google_play_services_package:google_firebase_firebase_encoders_proto_java", +- "$google_play_services_package:google_firebase_firebase_iid_interop_java", +- "$google_play_services_package:google_firebase_firebase_installations_interop_java", +- "$google_play_services_package:google_firebase_firebase_installations_java", +- "$google_play_services_package:google_firebase_firebase_measurement_connector_java", +- "$google_play_services_package:google_play_services_base_java", +- "$google_play_services_package:google_play_services_basement_java", +- "$google_play_services_package:google_play_services_cloud_messaging_java", +- "$google_play_services_package:google_play_services_stats_java", +- "$google_play_services_package:google_play_services_tasks_java", +- "//third_party/androidx:androidx_annotation_annotation_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", +- ] +- } +- } + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. if (!defined(guava_android_target)) { - java_prebuilt("com_google_guava_guava_android_java") { -@@ -1107,339 +741,6 @@ if (!limit_android_deps) { - is_robolectric = true +@@ -736,20 +407,6 @@ if (!limit_android_deps) { + ] + } + +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- java_prebuilt("org_jetbrains_kotlinx_kotlinx_coroutines_play_services_java") { +- jar_path = "cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_play_services/kotlinx-coroutines-play-services-1.10.1.jar" +- output_name = "org_jetbrains_kotlinx_kotlinx_coroutines_play_services" +- supports_android = true +- requires_android = true +- enable_bytecode_checks = false +- deps = [ +- ":org_jetbrains_kotlinx_kotlinx_coroutines_core_java", +- "$google_play_services_package:google_play_services_tasks_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", +- ] +- } +- + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. + java_prebuilt("org_jsoup_jsoup_java") { + jar_path = "cipd/libs/org_jsoup_jsoup/jsoup-1.15.1.jar" +@@ -812,362 +469,6 @@ if (!limit_android_deps) { + deps = [ ":org_mockito_mockito_core_java" ] } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_android_datatransport_transport_api_java") { -- aar_path = "cipd/libs/com_google_android_datatransport_transport_api/transport-api-2.2.1.aar" +- aar_path = "cipd/libs/com_google_android_datatransport_transport_api/transport-api-4.0.0.aar" - info_path = "libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info" - enable_bytecode_checks = false - @@ -4182,6 +3990,30 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { +- android_aar_prebuilt( +- "google_android_datatransport_transport_runtime_java") { +- aar_path = "cipd/libs/com_google_android_datatransport_transport_runtime/transport-runtime-4.0.0.aar" +- info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" +- enable_bytecode_checks = false +- +- # To remove visibility constraint, add this dependency to +- # //third_party/android_deps/build.gradle. +- visibility = [ +- ":*", +- "//third_party/androidx:*", +- ] +- deps = [ +- ":google_android_datatransport_transport_api_java", +- ":javax_inject_javax_inject_java", +- "$google_play_services_package:google_firebase_firebase_encoders_java", +- "$google_play_services_package:google_firebase_firebase_encoders_proto_java", +- "//third_party/androidx:androidx_annotation_annotation_java", +- ] +- } +- } +- +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_clearcut_java") { - aar_path = "cipd/libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar" - info_path = "libs/com_google_android_gms_play_services_clearcut/com_google_android_gms_play_services_clearcut.info" @@ -4206,7 +4038,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_cloud_messaging_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-16.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-17.2.0.aar" - info_path = "libs/com_google_android_gms_play_services_cloud_messaging/com_google_android_gms_play_services_cloud_messaging.info" - enable_bytecode_checks = false - @@ -4226,7 +4058,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_play_services_flags_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar" +- aar_path = "cipd/libs/com_google_android_gms_play_services_flags/play-services-flags-18.1.0.aar" - info_path = "libs/com_google_android_gms_play_services_flags/com_google_android_gms_play_services_flags.info" - enable_bytecode_checks = false - @@ -4266,29 +4098,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_play_services_stats_java") { -- aar_path = "cipd/libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar" -- info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info" -- enable_bytecode_checks = false -- -- # To remove visibility constraint, add this dependency to -- # //third_party/android_deps/build.gradle. -- visibility = [ -- ":*", -- "//third_party/androidx:*", -- ] -- deps = [ -- "$google_play_services_package:google_play_services_basement_java", -- "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java", -- ] -- } -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - android_aar_prebuilt("com_google_android_play_core_common_java") { - aar_path = -- "cipd/libs/com_google_android_play_core_common/core-common-2.0.2.aar" +- "cipd/libs/com_google_android_play_core_common/core-common-2.0.3.aar" - info_path = "libs/com_google_android_play_core_common/com_google_android_play_core_common.info" - enable_bytecode_checks = false - @@ -4301,26 +4113,12 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- java_prebuilt("com_google_auto_value_auto_value_annotations_java") { -- jar_path = "cipd/libs/com_google_auto_value_auto_value_annotations/auto-value-annotations-1.11.0.jar" -- output_name = "com_google_auto_value_auto_value_annotations" -- enable_bytecode_checks = false -- -- # To remove visibility constraint, add this dependency to -- # //third_party/android_deps/build.gradle. -- visibility = [ -- ":*", -- "//third_party/androidx:*", -- ] -- testonly = true -- } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - java_prebuilt("google_firebase_firebase_annotations_java") { -- jar_path = "cipd/libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar" +- jar_path = "cipd/libs/com_google_firebase_firebase_annotations/firebase-annotations-16.2.0.jar" - output_name = "com_google_firebase_firebase_annotations" - supports_android = true +- requires_android = true - enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to @@ -4329,13 +4127,14 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ":*", - "//third_party/androidx:*", - ] +- deps = [ ":javax_inject_javax_inject_java" ] - } - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_common_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_common/firebase-common-19.5.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_common/firebase-common-21.0.0.aar" - info_path = "libs/com_google_firebase_firebase_common/com_google_firebase_firebase_common.info" - enable_bytecode_checks = false - @@ -4346,18 +4145,23 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - "//third_party/androidx:*", - ] - deps = [ +- ":org_jetbrains_kotlinx_kotlinx_coroutines_play_services_java", +- "$google_play_services_package:google_firebase_firebase_annotations_java", - "$google_play_services_package:google_firebase_firebase_components_java", - "$google_play_services_package:google_play_services_basement_java", - "$google_play_services_package:google_play_services_tasks_java", +- "//third_party/androidx:androidx_annotation_annotation_java", +- "//third_party/androidx:androidx_concurrent_concurrent_futures_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", - ] - } - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt("google_firebase_firebase_components_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_components/firebase-components-16.1.0.aar" -- info_path = "libs/com_google_firebase_firebase_components/com_google_firebase_firebase_components.info" +- android_aar_prebuilt("google_firebase_firebase_common_ktx_java") { +- aar_path = "cipd/libs/com_google_firebase_firebase_common_ktx/firebase-common-ktx-21.0.0.aar" +- info_path = "libs/com_google_firebase_firebase_common_ktx/com_google_firebase_firebase_common_ktx.info" - enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to @@ -4368,6 +4172,29 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ] - deps = [ - "$google_play_services_package:google_firebase_firebase_annotations_java", +- "$google_play_services_package:google_firebase_firebase_common_java", +- "$google_play_services_package:google_firebase_firebase_components_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", +- ] +- } +- } +- +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- if (google_play_services_package == "//third_party/android_deps") { +- android_aar_prebuilt("google_firebase_firebase_components_java") { +- aar_path = "cipd/libs/com_google_firebase_firebase_components/firebase-components-18.0.0.aar" +- info_path = "libs/com_google_firebase_firebase_components/com_google_firebase_firebase_components.info" +- enable_bytecode_checks = false +- +- # To remove visibility constraint, add this dependency to +- # //third_party/android_deps/build.gradle. +- visibility = [ +- ":*", +- "//third_party/androidx:*", +- ] +- deps = [ +- ":com_google_errorprone_error_prone_annotations_java", +- "$google_play_services_package:google_firebase_firebase_annotations_java", - "//third_party/androidx:androidx_annotation_annotation_java", - ] - } @@ -4376,9 +4203,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - java_prebuilt("google_firebase_firebase_encoders_java") { -- jar_path = "cipd/libs/com_google_firebase_firebase_encoders/firebase-encoders-16.1.0.jar" +- jar_path = "cipd/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar" - output_name = "com_google_firebase_firebase_encoders" - supports_android = true +- requires_android = true - enable_bytecode_checks = false - - # To remove visibility constraint, add this dependency to @@ -4388,16 +4216,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - "//third_party/androidx:*", - ] - deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] -- -- # https://crbug.com/1412551 -- requires_android = true - } - } - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_encoders_json_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-17.1.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-18.0.0.aar" - info_path = "libs/com_google_firebase_firebase_encoders_json/com_google_firebase_firebase_encoders_json.info" - enable_bytecode_checks = false - @@ -4416,8 +4241,30 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { +- java_prebuilt("google_firebase_firebase_encoders_proto_java") { +- jar_path = "cipd/libs/com_google_firebase_firebase_encoders_proto/firebase-encoders-proto-16.0.0.jar" +- output_name = "com_google_firebase_firebase_encoders_proto" +- supports_android = true +- requires_android = true +- enable_bytecode_checks = false +- +- # To remove visibility constraint, add this dependency to +- # //third_party/android_deps/build.gradle. +- visibility = [ +- ":*", +- "//third_party/androidx:*", +- ] +- deps = [ +- "$google_play_services_package:google_firebase_firebase_encoders_java", +- "//third_party/androidx:androidx_annotation_annotation_java", +- ] +- } +- } +- +- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. +- if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_iid_interop_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.0.0.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.1.0.aar" - info_path = "libs/com_google_firebase_firebase_iid_interop/com_google_firebase_firebase_iid_interop.info" - enable_bytecode_checks = false - @@ -4428,8 +4275,8 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - "//third_party/androidx:*", - ] - deps = [ -- "$google_play_services_package:google_play_services_base_java", - "$google_play_services_package:google_play_services_basement_java", +- "$google_play_services_package:google_play_services_tasks_java", - ] - } - } @@ -4437,7 +4284,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt("google_firebase_firebase_installations_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_installations/firebase-installations-16.3.5.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_installations/firebase-installations-17.2.0.aar" - info_path = "libs/com_google_firebase_firebase_installations/com_google_firebase_firebase_installations.info" - enable_bytecode_checks = false - @@ -4448,10 +4295,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - "//third_party/androidx:*", - ] - deps = [ +- "$google_play_services_package:google_firebase_firebase_annotations_java", - "$google_play_services_package:google_firebase_firebase_common_java", +- "$google_play_services_package:google_firebase_firebase_common_ktx_java", - "$google_play_services_package:google_firebase_firebase_components_java", - "$google_play_services_package:google_firebase_firebase_installations_interop_java", - "$google_play_services_package:google_play_services_tasks_java", +- "//third_party/kotlin_stdlib:kotlin_stdlib_java", - ] - } - } @@ -4460,7 +4310,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - if (google_play_services_package == "//third_party/android_deps") { - android_aar_prebuilt( - "google_firebase_firebase_installations_interop_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-16.0.1.aar" +- aar_path = "cipd/libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-17.1.1.aar" - info_path = "libs/com_google_firebase_firebase_installations_interop/com_google_firebase_firebase_installations_interop.info" - enable_bytecode_checks = false - @@ -4476,53 +4326,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. - ] - } - } -- -- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. -- if (google_play_services_package == "//third_party/android_deps") { -- android_aar_prebuilt( -- "google_firebase_firebase_measurement_connector_java") { -- aar_path = "cipd/libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-18.0.0.aar" -- info_path = "libs/com_google_firebase_firebase_measurement_connector/com_google_firebase_firebase_measurement_connector.info" -- enable_bytecode_checks = false -- -- # To remove visibility constraint, add this dependency to -- # //third_party/android_deps/build.gradle. -- visibility = [ -- ":*", -- "//third_party/androidx:*", -- ] -- deps = -- [ "$google_play_services_package:google_play_services_basement_java" ] -- } -- } - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. - java_prebuilt( - "com_google_testparameterinjector_test_parameter_injector_java") { -@@ -1835,7 +1136,6 @@ if (!limit_android_deps) { - ] - testonly = true - deps = [ -- ":com_google_auto_value_auto_value_annotations_java", - ":org_robolectric_pluginapi_java", - ":org_robolectric_utils_java", - "//third_party/android_deps:guava_android_java", -@@ -1857,7 +1157,6 @@ if (!limit_android_deps) { - ] - testonly = true - deps = [ -- ":com_google_auto_value_auto_value_annotations_java", - ":org_robolectric_annotations_java", - ":org_robolectric_pluginapi_java", - ":org_robolectric_utils_java", -@@ -1927,7 +1226,6 @@ if (!limit_android_deps) { - ] - testonly = true - deps = [ -- ":com_google_auto_value_auto_value_annotations_java", - ":org_robolectric_annotations_java", - ":org_robolectric_nativeruntime_java", - ":org_robolectric_pluginapi_java", + java_prebuilt("jakarta_inject_jakarta_inject_api_java") { + jar_path = "cipd/libs/jakarta_inject_jakarta_inject_api/jakarta.inject-api-2.0.1.jar" diff --git a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn --- a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn +++ b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn diff --git a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch index d7b9c066..33bdc9bc 100644 --- a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch +++ b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch @@ -10,9 +10,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/TabBookmarker.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/TabBookmarker.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/TabBookmarker.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/TabBookmarker.java -@@ -19,6 +19,12 @@ import org.chromium.components.bookmarks.BookmarkItem; - import org.chromium.components.bookmarks.BookmarkType; - import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; +@@ -23,6 +23,12 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; + + import java.util.Objects; +import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.profiles.ProfileManager; @@ -23,15 +23,15 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** * Helper class for managing the UI flow for bookmarking the active tab and kicking off the backend. * Shows a snackbar if a new bookmark was added. If the bookmark already exists, kicks off edit -@@ -29,6 +35,7 @@ public class TabBookmarker { - private final Supplier mBookmarkModelSupplier; - private final Supplier mBottomSheetControllerSupplier; +@@ -36,6 +42,7 @@ public class TabBookmarker { private final Supplier mSnackbarManagerSupplier; + private final BookmarkManagerOpener mBookmarkManagerOpener; + private final Supplier mPriceDropNotificationManagerSupplier; + private MostVisitedSites mMostVisitedSites; /** * Constructor. -@@ -103,6 +110,13 @@ public class TabBookmarker { +@@ -117,6 +124,13 @@ public class TabBookmarker { return; } diff --git a/build/patches/Remove-detection-of-captive-portals.patch b/build/patches/Remove-detection-of-captive-portals.patch index c1db53c5..1b63e4e8 100644 --- a/build/patches/Remove-detection-of-captive-portals.patch +++ b/build/patches/Remove-detection-of-captive-portals.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -504,7 +504,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( +@@ -530,7 +530,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( void ProfileNetworkContextService::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled, @@ -24,7 +24,7 @@ diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/brow diff --git a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc b/chrome/browser/ssl/chrome_security_blocking_page_factory.cc --- a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc +++ b/chrome/browser/ssl/chrome_security_blocking_page_factory.cc -@@ -81,20 +81,6 @@ EnterpriseManaged g_is_enterprise_managed_for_testing = +@@ -79,20 +79,6 @@ EnterpriseManaged g_is_enterprise_managed_for_testing = // CaptivePortalBlockingPage to be invoked when the user has pressed the // connect button. void OpenLoginPage(content::WebContents* web_contents) { diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index 71cb482a..7280e8e2 100644 --- a/build/patches/Remove-help-menu-item.patch +++ b/build/patches/Remove-help-menu-item.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/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml -@@ -167,9 +167,6 @@ found in the LICENSE file. +@@ -170,9 +170,6 @@ found in the LICENSE file. @@ -54,20 +54,20 @@ diff --git a/chrome/android/java/res/menu/save_password_preferences_action_bar_m 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 -@@ -722,9 +722,6 @@ public class KeyboardShortcuts { - case KeyboardShortcutsSemanticMeaning.GO_FORWARD: +@@ -909,9 +909,6 @@ public class KeyboardShortcuts { + case KeyboardShortcutsSemanticMeaning.HISTORY_GO_FORWARD: if (currentTab != null && currentTab.canGoForward()) currentTab.goForward(); return true; - case KeyboardShortcutsSemanticMeaning.OPEN_HELP: - menuOrKeyboardActionController.onMenuOrKeyboardAction(R.id.help_id, false); - return true; - } - } - + case KeyboardShortcutsSemanticMeaning + .NOT_IMPLEMENTED_KEYBOARD_FOCUS_SWITCH_ROW_OF_TOP_ELEMENTS: + if (ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_KEYBOARD_A11Y)) { 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 -@@ -2390,15 +2390,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2414,15 +2414,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity final Tab currentTab = getActivityTab(); @@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java -@@ -1029,7 +1029,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { +@@ -1033,7 +1033,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { // Disable creating new tabs, bookmark, print, help, focus_url, etc. if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id @@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -496,6 +496,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -489,6 +489,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); @@ -152,7 +152,7 @@ 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/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 -@@ -419,6 +419,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -418,6 +418,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_and_feedback, getTheme())); @@ -230,7 +230,7 @@ diff --git a/chrome/browser/password_entry_edit/android/java/res/menu/credential diff --git a/chrome/browser/prefetch/android/java/src/org/chromium/chrome/browser/prefetch/settings/PreloadPagesSettingsFragmentBase.java b/chrome/browser/prefetch/android/java/src/org/chromium/chrome/browser/prefetch/settings/PreloadPagesSettingsFragmentBase.java --- a/chrome/browser/prefetch/android/java/src/org/chromium/chrome/browser/prefetch/settings/PreloadPagesSettingsFragmentBase.java +++ b/chrome/browser/prefetch/android/java/src/org/chromium/chrome/browser/prefetch/settings/PreloadPagesSettingsFragmentBase.java -@@ -42,6 +42,7 @@ public abstract class PreloadPagesSettingsFragmentBase extends ChromeBaseSetting +@@ -46,6 +46,7 @@ public abstract class PreloadPagesSettingsFragmentBase extends ChromeBaseSetting help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); @@ -252,7 +252,7 @@ diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SafeBrowsingSettingsFragmentBase.java b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SafeBrowsingSettingsFragmentBase.java --- a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SafeBrowsingSettingsFragmentBase.java +++ b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/settings/SafeBrowsingSettingsFragmentBase.java -@@ -61,6 +61,7 @@ public abstract class SafeBrowsingSettingsFragmentBase extends ChromeBaseSetting +@@ -64,6 +64,7 @@ public abstract class SafeBrowsingSettingsFragmentBase extends ChromeBaseSetting help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); @@ -263,7 +263,7 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc --- a/chrome/browser/ui/chrome_pages.cc +++ b/chrome/browser/ui/chrome_pages.cc -@@ -138,6 +138,15 @@ void LaunchReleaseNotesImpl(Profile* profile, apps::LaunchSource source) { +@@ -137,6 +137,15 @@ void LaunchReleaseNotesImpl(Profile* profile, apps::LaunchSource source) { // shown in the last active browser. If there is no such browser, a new browser // is created. void ShowHelpImpl(Browser* browser, Profile* profile, HelpSource source) { diff --git a/build/patches/Remove-segmentation-platform.patch b/build/patches/Remove-segmentation-platform.patch index efc82253..19b52714 100644 --- a/build/patches/Remove-segmentation-platform.patch +++ b/build/patches/Remove-segmentation-platform.patch @@ -47,7 +47,7 @@ diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_part diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc --- a/components/segmentation_platform/public/features.cc +++ b/components/segmentation_platform/public/features.cc -@@ -266,4 +266,7 @@ BASE_FEATURE(kSegmentationPlatformFedCmUser, +@@ -264,4 +264,7 @@ BASE_FEATURE(kSegmentationPlatformFedCmUser, "SegmentationPlatformFedCmUser", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch index 62bbc45c..feee0080 100644 --- a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch +++ b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch @@ -59,7 +59,7 @@ new file mode 100644 diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/blob/blob_memory_controller.cc --- a/storage/browser/blob/blob_memory_controller.cc +++ b/storage/browser/blob/blob_memory_controller.cc -@@ -55,6 +55,15 @@ using MemoryAllocation = BlobMemoryController::MemoryAllocation; +@@ -54,6 +54,15 @@ using MemoryAllocation = BlobMemoryController::MemoryAllocation; using QuotaAllocationTask = BlobMemoryController::QuotaAllocationTask; using DiskSpaceFuncPtr = BlobMemoryController::DiskSpaceFuncPtr; @@ -75,7 +75,7 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl File::Error CreateBlobDirectory(const FilePath& blob_storage_dir) { File::Error error = File::FILE_OK; base::CreateDirectoryAndGetError(blob_storage_dir, &error); -@@ -84,23 +93,16 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl( +@@ -83,23 +92,16 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl( int64_t disk_size = 0ull; uint64_t memory_size = optional_memory_size_for_testing ? optional_memory_size_for_testing.value() @@ -89,7 +89,7 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl // Don't do specialty configuration for error size (-1). if (memory_size > 0) { --#if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_ANDROID) && \ +-#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && \ - defined(ARCH_CPU_64_BITS) constexpr size_t kTwoGigabytes = 2ull * 1024 * 1024 * 1024; limits.max_blob_in_memory_space = kTwoGigabytes; @@ -245,7 +245,7 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party diff --git a/third_party/blink/renderer/core/timing/window_performance.cc b/third_party/blink/renderer/core/timing/window_performance.cc --- a/third_party/blink/renderer/core/timing/window_performance.cc +++ b/third_party/blink/renderer/core/timing/window_performance.cc -@@ -320,7 +320,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { +@@ -322,7 +322,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { const bool is_locked_to_site = Platform::Current()->IsLockedToSite(); auto* memory_info = MakeGarbageCollected( is_locked_to_site ? MemoryInfo::Precision::kPrecise diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch index 0fcf1f97..3b0791fa 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -29,10 +29,10 @@ 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/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java -@@ -419,7 +419,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { - protected AdaptiveToolbarBehavior createAdaptiveToolbarBehavior( - Supplier trackerSupplier) { - return new CustomTabAdaptiveToolbarBehavior( +@@ -455,7 +455,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { + mIntentDataProvider.get().getCustomButtonsOnToolbar(), + AppCompatResources.getDrawable(mActivity, R.drawable.ic_open_in_new_white_24dp), + mOpenInBrowserRunnable, - () -> addVoiceSearchAdaptiveButton(trackerSupplier)); + () -> {}); } @@ -41,7 +41,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java -@@ -70,7 +70,6 @@ import org.chromium.chrome.browser.metrics.StartupMetricsTracker; +@@ -71,7 +71,6 @@ import org.chromium.chrome.browser.metrics.StartupMetricsTracker; import org.chromium.chrome.browser.native_page.ContextMenuManager; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; @@ -100,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -950,12 +928,6 @@ public class NewTabPage +@@ -949,12 +927,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -966,11 +938,6 @@ public class NewTabPage +@@ -965,11 +937,6 @@ public class NewTabPage } } @@ -125,7 +125,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. /** Adds an observer to be notified on most visited tile clicks. */ public void addMostVisitedTileClickObserver(MostVisitedTileClickObserver observer) { mMostVisitedTileClickObservers.addObserver(observer); -@@ -1057,9 +1024,6 @@ public class NewTabPage +@@ -1056,9 +1023,6 @@ public class NewTabPage } mFeedSurfaceProvider.destroy(); mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); @@ -157,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.chrome.browser.ui.native_page.NativePage; -@@ -323,7 +322,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -324,7 +323,7 @@ public class SearchActivity extends AsyncInitializationActivity /*omniboxUma*/ (url, transition, isNtp) -> {}, TabWindowManagerSingleton::getInstance, /* bookmarkState= */ (url) -> false, @@ -169,7 +169,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java -@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarData; +@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarData; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; @@ -177,7 +177,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.toolbar.top.ToolbarPhone; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.SearchType; -@@ -215,13 +214,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { +@@ -214,13 +213,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { return false; } @@ -194,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -886,7 +886,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -902,7 +902,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivityLifecycleDispatcher, mTabCreatorManagerSupplier, mActivityTabProvider, @@ -206,7 +206,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/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java -@@ -96,7 +96,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; +@@ -99,7 +99,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegateImpl; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; @@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -@@ -2669,10 +2668,6 @@ public class ToolbarManager +@@ -2734,10 +2733,6 @@ public class ToolbarManager return mLocationBar.getOmniboxStub(); } @@ -228,16 +228,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java -@@ -26,8 +26,6 @@ import org.chromium.chrome.browser.dom_distiller.ReaderModeToolbarButtonControll +@@ -28,8 +28,6 @@ import org.chromium.chrome.browser.dom_distiller.ReaderModeToolbarButtonControll import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.identity_disc.IdentityDiscController; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceInteractionSource; + import org.chromium.chrome.browser.price_history.PriceHistoryBottomSheetContentCoordinator; import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController; import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier; - import org.chromium.chrome.browser.price_tracking.PriceTrackingBottomSheetContentCoordinator; -@@ -40,7 +38,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; +@@ -43,7 +41,6 @@ import org.chromium.chrome.browser.share.ShareButtonController; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.toolbar.ButtonDataProvider; @@ -245,7 +245,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveButtonActionMenuCoordinator; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarButtonController; -@@ -68,7 +65,6 @@ public class AdaptiveToolbarUiCoordinator { +@@ -72,7 +69,6 @@ public class AdaptiveToolbarUiCoordinator { private CurrentTabPriceTrackingStateSupplier mCurrentTabPriceTrackingStateSupplier; private ContextualPageActionController mContextualPageActionController; private AdaptiveToolbarButtonController mAdaptiveToolbarButtonController; @@ -253,7 +253,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool private BottomSheetController mBottomSheetController; private ObservableSupplier mProfileSupplier; private Supplier mScrimSupplier; -@@ -232,45 +228,6 @@ public class AdaptiveToolbarUiCoordinator { +@@ -239,45 +235,6 @@ public class AdaptiveToolbarUiCoordinator { mButtonDataProviders = List.of(identityDiscController, adaptiveToolbarButtonController); } @@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool /** * Returns the list of {@link ButtonDataProvider}. The order in which the providers determines * which one will be shown first. -@@ -279,11 +236,6 @@ public class AdaptiveToolbarUiCoordinator { +@@ -286,11 +243,6 @@ public class AdaptiveToolbarUiCoordinator { return mButtonDataProviders; } @@ -367,7 +367,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -145,7 +145,6 @@ android_library("java") { +@@ -144,7 +144,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", @@ -401,7 +401,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java -@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; +@@ -43,7 +43,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsVisualState; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; @@ -409,7 +409,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.share.ShareDelegate; -@@ -455,13 +454,6 @@ public class LocationBarCoordinator +@@ -456,13 +455,6 @@ public class LocationBarCoordinator return mLocationBarLayout.getSecurityIconView(); } @@ -423,7 +423,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Nullable @Override public OmniboxStub getOmniboxStub() { -@@ -783,11 +775,6 @@ public class LocationBarCoordinator +@@ -784,11 +776,6 @@ public class LocationBarCoordinator // End tablet-specific methods. @@ -438,7 +438,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/LocationBarLayout.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java -@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; +@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusView; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; @@ -446,7 +446,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.components.browser_ui.widget.CompositeTouchDelegate; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.ui.base.DeviceFormFactor; -@@ -544,11 +543,6 @@ public class LocationBarLayout extends FrameLayout { +@@ -549,11 +548,6 @@ public class LocationBarLayout extends FrameLayout { mSearchEngineUtils = searchEngineUtils; } @@ -461,7 +461,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 -@@ -57,7 +57,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; +@@ -58,7 +58,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; @@ -469,7 +469,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.profiles.Profile; -@@ -98,8 +97,6 @@ import java.util.function.BooleanSupplier; +@@ -99,8 +98,6 @@ import java.util.function.BooleanSupplier; class LocationBarMediator implements LocationBarDataProvider.Observer, OmniboxStub, @@ -478,7 +478,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow UrlBarDelegate, OnKeyListener, ComponentCallbacks, -@@ -164,7 +161,6 @@ class LocationBarMediator +@@ -165,7 +162,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; @@ -486,7 +486,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow private final LocationBarDataProvider mLocationBarDataProvider; private final @Nullable BrowserControlsStateProvider mBrowserControlsStateProvider; private final LocationBarEmbedderUiOverrides mEmbedderUiOverrides; -@@ -239,8 +235,6 @@ class LocationBarMediator +@@ -240,8 +236,6 @@ class LocationBarMediator mEmbedderUiOverrides = embedderUiOverrides; mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate; mLocaleManager = localeManager; @@ -495,7 +495,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mProfileSupplier = profileSupplier; mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile)); mTemplateUrlServiceSupplier = templateUrlServiceSupplier; -@@ -284,9 +278,6 @@ class LocationBarMediator +@@ -285,9 +279,6 @@ class LocationBarMediator mStatusCoordinator = null; mAutocompleteCoordinator = null; mUrlCoordinator = null; @@ -505,7 +505,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -418,11 +409,6 @@ class LocationBarMediator +@@ -419,11 +410,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -517,7 +517,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -692,10 +678,6 @@ class LocationBarMediator +@@ -694,10 +680,6 @@ class LocationBarMediator // Hide keyboard before launch voice search to avoid keyboard action announcement in // TalkBack to be picked up by voice search. mUrlCoordinator.setKeyboardVisibility(false, false); @@ -528,7 +528,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** package */ -@@ -1178,10 +1160,7 @@ class LocationBarMediator +@@ -1180,10 +1162,7 @@ class LocationBarMediator private boolean shouldShowMicButton() { if (shouldShowDeleteButton()) return false; @@ -540,7 +540,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1198,6 +1177,7 @@ class LocationBarMediator +@@ -1200,6 +1179,7 @@ class LocationBarMediator } private boolean shouldShowLensButton() { @@ -548,7 +548,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (shouldShowDeleteButton()) return false; // When this method is called on UI inflation, return false as the native is not ready. -@@ -1422,11 +1402,6 @@ class LocationBarMediator +@@ -1425,11 +1405,6 @@ class LocationBarMediator } } @@ -560,7 +560,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1442,31 +1417,13 @@ class LocationBarMediator +@@ -1445,31 +1420,13 @@ class LocationBarMediator return mUrlHasFocus; } @@ -594,7 +594,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public void setSearchQuery(String query) { if (TextUtils.isEmpty(query)) return; -@@ -1489,20 +1446,6 @@ class LocationBarMediator +@@ -1492,20 +1449,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -701,7 +701,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -293,13 +292,6 @@ public class AutocompleteCoordinator +@@ -294,13 +293,6 @@ public class AutocompleteCoordinator mRecycledViewPool.ifPresent(p -> p.onNativeInitialized()); } @@ -718,7 +718,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java -@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.Auto +@@ -40,7 +40,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.Auto import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionFactoryImpl; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxAnswerAction; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; @@ -743,7 +743,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/voice/VoiceRecognitionUtil.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java -@@ -122,6 +122,7 @@ public class VoiceRecognitionUtil { +@@ -118,6 +118,7 @@ public class VoiceRecognitionUtil { * @return {@code true} if recognition is supported. {@code false} otherwise. */ public static boolean isRecognitionIntentPresent(boolean useCachedValue) { @@ -754,7 +754,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn --- a/chrome/browser/ui/android/toolbar/BUILD.gn +++ b/chrome/browser/ui/android/toolbar/BUILD.gn -@@ -37,7 +37,6 @@ android_library("java") { +@@ -36,7 +36,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarAnimatingView.java", "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabController.java", "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabControllerImpl.java", diff --git a/build/patches/Remove-window-name-on-cross-origin-navigation.patch b/build/patches/Remove-window-name-on-cross-origin-navigation.patch index 9531dc75..33bb1bf1 100644 --- a/build/patches/Remove-window-name-on-cross-origin-navigation.patch +++ b/build/patches/Remove-window-name-on-cross-origin-navigation.patch @@ -21,7 +21,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -3014,7 +3014,7 @@ void DocumentLoader::CommitNavigation() { +@@ -3010,7 +3010,7 @@ void DocumentLoader::CommitNavigation() { // that the name would be nulled and if the name is accessed after we will // fire a UseCounter. If we decide to move forward with this change, we'd // actually clean the name here. @@ -30,7 +30,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p frame_->Tree().ExperimentalSetNulledName(); } -@@ -3025,6 +3025,7 @@ void DocumentLoader::CommitNavigation() { +@@ -3021,6 +3021,7 @@ void DocumentLoader::CommitNavigation() { // TODO(shuuran): CrossSiteCrossBrowsingContextGroupSetNulledName will just // record the fact that the name would be nulled and if the name is accessed // after we will fire a UseCounter. diff --git a/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch b/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch index ac22d56b..5c594cd9 100644 --- a/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch +++ b/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch @@ -66,7 +66,7 @@ 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/BookmarkToolbarCoordinator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java -@@ -55,6 +55,7 @@ public class BookmarkToolbarCoordinator { +@@ -56,6 +56,7 @@ public class BookmarkToolbarCoordinator { searchDelegate, R.string.bookmark_toolbar_search, R.id.search_menu_id); mModel = new PropertyModel.Builder(BookmarkToolbarProperties.ALL_KEYS).build(); @@ -77,7 +77,7 @@ 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/BookmarkToolbarMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java -@@ -293,6 +293,7 @@ class BookmarkToolbarMediator +@@ -296,6 +296,7 @@ class BookmarkToolbarMediator @Override public void onFolderStateSet(BookmarkId folder) { mCurrentFolder = folder; diff --git a/build/patches/Restore-LastTabStandingTracker.patch b/build/patches/Restore-LastTabStandingTracker.patch index d30b1ef9..813f12cc 100644 --- a/build/patches/Restore-LastTabStandingTracker.patch +++ b/build/patches/Restore-LastTabStandingTracker.patch @@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1713,6 +1713,16 @@ static_library("browser") { +@@ -1735,6 +1735,16 @@ static_library("browser") { ] } @@ -382,7 +382,7 @@ new file mode 100644 diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -124,6 +124,7 @@ +@@ -130,6 +130,7 @@ #include "chrome/browser/password_manager/password_manager_settings_service_factory.h" #include "chrome/browser/password_manager/password_reuse_manager_factory.h" #include "chrome/browser/password_manager/profile_password_store_factory.h" @@ -390,7 +390,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/permissions/notifications_engagement_service_factory.h" #include "chrome/browser/permissions/one_time_permissions_tracker_factory.h" #include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h" -@@ -1046,6 +1047,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1056,6 +1057,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) OnDeviceTailModelServiceFactory::GetInstance(); #endif @@ -409,7 +409,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/permissions/one_time_permissions_tracker_helper.h" #include "chrome/browser/predictors/loading_predictor_factory.h" #include "chrome/browser/predictors/loading_predictor_tab_helper.h" -@@ -416,6 +417,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -426,6 +427,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { HistoryEmbeddingsTabHelper::CreateForWebContents(web_contents); HttpsOnlyModeTabHelper::CreateForWebContents(web_contents); webapps::InstallableManager::CreateForWebContents(web_contents); diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch index a3ab825b..9c5d556f 100644 --- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch +++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch @@ -23,18 +23,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -317,6 +317,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -323,6 +323,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kReadAloudIPHMenuButtonHighlightCCT, &kRecordSuppressionMetrics, &kReengagementNotification, + &kSearchReadyOmniboxFeature, &kRelatedSearchesAllLanguage, &kRelatedSearchesSwitch, - &kReportParentalControlSitesChild, + &kRemoveTabFocusOnShowingAndSelect, 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 -@@ -398,6 +398,7 @@ public abstract class ChromeFeatureList { +@@ -401,6 +401,7 @@ public abstract class ChromeFeatureList { public static final String MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION = "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization"; diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch index 1e024663..f5b8bfdd 100644 --- a/build/patches/Restore-Simplified-NTP-launch.patch +++ b/build/patches/Restore-Simplified-NTP-launch.patch @@ -48,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -553,6 +553,7 @@ chrome_java_resources = [ +@@ -556,6 +556,7 @@ chrome_java_resources = [ "java/res/layout/new_tab_page_tile_grid_placeholder.xml", "java/res/layout/one_line_list_item.xml", "java/res/layout/open_full_chrome_history_header.xml", @@ -59,7 +59,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 -@@ -573,6 +573,7 @@ chrome_java_sources = [ +@@ -579,6 +579,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java", "java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java", "java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java", @@ -67,7 +67,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java", "java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java", "java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java", -@@ -984,6 +985,7 @@ chrome_java_sources = [ +@@ -983,6 +984,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java", "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java", "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java", @@ -112,7 +112,7 @@ diff --git a/chrome/android/java/res/layout/mv_tiles_layout.xml b/chrome/android diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/android/java/res/layout/new_tab_page_layout.xml --- a/chrome/android/java/res/layout/new_tab_page_layout.xml +++ b/chrome/android/java/res/layout/new_tab_page_layout.xml -@@ -38,6 +38,13 @@ found in the LICENSE file. +@@ -37,6 +37,13 @@ found in the LICENSE file. android:layout_marginTop="16dp" android:visibility="gone"/> @@ -260,7 +260,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res 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 -@@ -2780,7 +2780,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn +@@ -2899,7 +2899,8 @@ public class ChromeTabbedActivity extends ChromeActivity { getToolbarManager().getTabStripHeightSupplier(), mModuleRegistrySupplier, mEdgeToEdgeControllerSupplier, @@ -374,7 +374,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/identity_disc/IdentityDiscController.java -@@ -167,7 +167,10 @@ public class IdentityDiscController +@@ -168,7 +168,10 @@ public class IdentityDiscController mButtonData.setButtonSpec( buttonSpecWithDrawableAndDescription(mButtonData.getButtonSpec(), email)); @@ -536,7 +536,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL import org.chromium.chrome.browser.lens.LensMetrics; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.logo.LogoBridge.Logo; -@@ -85,6 +87,8 @@ public class NewTabPageLayout extends LinearLayout { +@@ -86,6 +88,8 @@ public class NewTabPageLayout extends LinearLayout { private @Nullable DisplayStyleObserver mDisplayStyleObserver; private CallbackController mCallbackController = new CallbackController(); @@ -545,7 +545,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL /** * Whether the tiles shown in the layout have finished loading. * With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress. -@@ -97,7 +101,7 @@ public class NewTabPageLayout extends LinearLayout { +@@ -98,7 +102,7 @@ public class NewTabPageLayout extends LinearLayout { */ private boolean mHasShownView; @@ -554,7 +554,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL private boolean mSearchProviderIsGoogle; private boolean mShowingNonStandardGoogleLogo; -@@ -250,6 +254,7 @@ public class NewTabPageLayout extends LinearLayout { +@@ -247,6 +251,7 @@ public class NewTabPageLayout extends LinearLayout { initializeLogoCoordinator(searchProviderHasLogo, searchProviderIsGoogle); initializeMostVisitedTilesCoordinator( mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate); @@ -562,7 +562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL initializeSearchBoxTextView(); initializeVoiceSearchButton(); initializeLensButton(); -@@ -584,7 +589,7 @@ public class NewTabPageLayout extends LinearLayout { +@@ -574,7 +579,7 @@ public class NewTabPageLayout extends LinearLayout { && mInitialized) { return; } @@ -571,7 +571,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL mSearchProviderIsGoogle = isGoogle; if (!mSearchProviderIsGoogle) { -@@ -917,6 +922,22 @@ public class NewTabPageLayout extends LinearLayout { +@@ -905,6 +910,22 @@ public class NewTabPageLayout extends LinearLayout { return mMostVisitedTilesCoordinator; } @@ -643,7 +643,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java -@@ -21,7 +21,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites { +@@ -25,7 +25,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites { * Maximum number of tiles that is explicitly supported. UMA relies on this value, so even if * the UI supports it, getting more can raise unexpected issues. */ @@ -933,18 +933,18 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/ 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 -@@ -280,6 +280,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -286,6 +286,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kLegacyTabStateDeprecation, &kLockBackPressHandlerAtStart, &kIncognitoScreenshot, + &kSimplifiedNTP, &kLensOnQuickActionSearchWidget, - &kLogoPolish, - &kLogoPolishAnimationKillSwitch, + &kMagicStackAndroid, + &kMayLaunchUrlUsesSeparateStoragePartition, 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 -@@ -399,6 +399,7 @@ public abstract class ChromeFeatureList { +@@ -402,6 +402,7 @@ public abstract class ChromeFeatureList { public static final String MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION = "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization"; @@ -952,10 +952,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect"; public static final String MUlTI_INSTANCE_APPLICATION_STATUS_CLEANUP = -@@ -767,7 +768,7 @@ public abstract class ChromeFeatureList { - public static final CachedFlag sLogoPolish = newCachedFlag(LOGO_POLISH, true); - public static final CachedFlag sLogoPolishAnimationKillSwitch = - newCachedFlag(LOGO_POLISH_ANIMATION_KILL_SWITCH, true); +@@ -768,7 +769,7 @@ public abstract class ChromeFeatureList { + /* defaultValueInTests= */ true); + public static final CachedFlag sLockBackPressHandlerAtStart = + newCachedFlag(LOCK_BACK_PRESS_HANDLER_AT_START, true); - public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true); + public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, false); public static final CachedFlag sMostVisitedTilesCustomization = @@ -964,10 +964,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java b/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java --- a/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java +++ b/chrome/browser/segmentation_platform/android/java/src/org/chromium/chrome/browser/segmentation_platform/client_util/HomeModulesRankingHelper.java -@@ -32,6 +32,7 @@ public final class HomeModulesRankingHelper { - @NonNull Profile profile, - @NonNull InputContext freshnessAndEphemeralInputs, - @NonNull Callback> callback) { +@@ -33,6 +33,7 @@ public final class HomeModulesRankingHelper { + Profile profile, + InputContext freshnessAndEphemeralInputs, + Callback<@Nullable List> callback) { + if ((true)) return; HomeModulesRankingHelperJni.get() .getClassificationResult( diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch index e6bf3a8e..dff27c1e 100644 --- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch +++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch @@ -9,17 +9,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../ReaderModeToolbarButtonController.java | 6 +++--- .../ContextualPageActionController.java | 4 ++++ - .../chrome/browser/settings/MainSettings.java | 9 +------- + .../chrome/browser/settings/MainSettings.java | 9 +-------- .../segmentation_platform_config.cc | 1 + - ...tton_group_adaptive_toolbar_preference.xml | 9 ++++++++ + ...tton_group_adaptive_toolbar_preference.xml | 9 +++++++++ .../AdaptiveToolbarButtonController.java | 2 +- .../adaptive/AdaptiveToolbarFeatures.java | 2 +- .../adaptive/AdaptiveToolbarPrefs.java | 2 +- .../AdaptiveToolbarStatePredictor.java | 6 +++++- .../adaptive/AdaptiveToolbarStats.java | 2 ++ - ...oButtonGroupAdaptiveToolbarPreference.java | 21 +++++++++++-------- + ...oButtonGroupAdaptiveToolbarPreference.java | 19 ++++++++++++------- ...ve-button-in-top-toolbar-customization.inc | 1 + - 12 files changed, 41 insertions(+), 24 deletions(-) + 12 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java @@ -35,16 +35,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/R /* iphCommandBuilder= */ null, AdaptiveToolbarButtonVariant.READER_MODE, - /* tooltipTextResId= */ Resources.ID_NULL, -- /* showHoverHighlight= */ false); +- /* showBackgroundHighlight= */ false); + /* tooltipTextResId= */ R.string.reader_mode_action_chip_label_simplify_page, -+ /* showHoverHighlight= */ true); ++ /* showBackgroundHighlight= */ true); } @Override diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java -@@ -188,6 +188,10 @@ public class ContextualPageActionController { +@@ -202,6 +202,10 @@ public class ContextualPageActionController { && mTabSupplier.get().getId() == tab.getId(); if (!isSameTab) return; @@ -58,7 +58,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_pl diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java -@@ -293,14 +293,7 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -304,14 +304,7 @@ public class MainSettings extends ChromeBaseSettingsFragment getContext(), getProfile(), /* androidPermissionDelegate= */ null, @@ -88,9 +88,9 @@ diff --git a/chrome/browser/segmentation_platform/segmentation_platform_config.c diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/radio_button_group_adaptive_toolbar_preference.xml b/chrome/browser/ui/android/toolbar/java/res/layout/radio_button_group_adaptive_toolbar_preference.xml --- a/chrome/browser/ui/android/toolbar/java/res/layout/radio_button_group_adaptive_toolbar_preference.xml +++ b/chrome/browser/ui/android/toolbar/java/res/layout/radio_button_group_adaptive_toolbar_preference.xml -@@ -90,6 +90,15 @@ found in the LICENSE file. - app:iconSrc="@drawable/summarize_auto" - app:primaryText="@string/adaptive_toolbar_button_preference_page_summary" /> +@@ -100,6 +100,15 @@ found in the LICENSE file. + app:iconSrc="@drawable/ic_open_in_new_white_24dp" + app:primaryText="@string/menu_open_in_product_default" /> + > callback) { @@ -173,10 +173,10 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStats.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStats.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStats.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStats.java -@@ -117,6 +117,8 @@ public class AdaptiveToolbarStats { - return AdaptiveToolbarRadioButtonState.READ_ALOUD; - case AdaptiveToolbarButtonVariant.PAGE_SUMMARY: +@@ -120,6 +120,8 @@ public class AdaptiveToolbarStats { return AdaptiveToolbarRadioButtonState.PAGE_SUMMARY; + case AdaptiveToolbarButtonVariant.OPEN_IN_BROWSER: + return AdaptiveToolbarRadioButtonState.OPEN_IN_BROWSER; + case AdaptiveToolbarButtonVariant.READER_MODE: + return AdaptiveToolbarRadioButtonState.UNKNOWN; case AdaptiveToolbarButtonVariant.AUTO: @@ -185,15 +185,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/RadioButtonGroupAdaptiveToolbarPreference.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/RadioButtonGroupAdaptiveToolbarPreference.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/RadioButtonGroupAdaptiveToolbarPreference.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/RadioButtonGroupAdaptiveToolbarPreference.java -@@ -36,6 +36,7 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference - private @NonNull RadioButtonWithDescription mAddToBookmarksButton; +@@ -39,6 +39,7 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference private @NonNull RadioButtonWithDescription mReadAloudButton; private @NonNull RadioButtonWithDescription mPageSummaryButton; + private @NonNull RadioButtonWithDescription mOpenInBrowserButton; + private @NonNull RadioButtonWithDescription mReaderMode; private @AdaptiveToolbarButtonVariant int mSelected; + private @AdaptiveToolbarButtonVariant int mAutoButtonCaption; private @Nullable AdaptiveToolbarStatePredictor mStatePredictor; - private boolean mCanUseVoiceSearch = true; -@@ -57,6 +58,7 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference +@@ -63,6 +64,7 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference mAutoButton = (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_based_on_usage); @@ -201,7 +201,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mNewTabButton = (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_new_tab); mShareButton = (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_share); -@@ -64,6 +66,7 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference +@@ -70,6 +72,7 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_voice_search); mTranslateButton = (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_translate); @@ -209,52 +209,50 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mAddToBookmarksButton = (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_add_to_bookmarks); -@@ -71,6 +74,8 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference +@@ -77,6 +80,8 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_read_aloud); mPageSummaryButton = (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_page_summary); + mReaderMode = + (RadioButtonWithDescription) holder.findViewById(R.id.adaptive_option_reader_mode); - initializeRadioButtonSelection(); - RecordUserAction.record("Mobile.AdaptiveToolbarButton.SettingsPage.Opened"); - } -@@ -101,15 +106,6 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference - R.string - .adaptive_toolbar_button_preference_based_on_your_usage_description, - getButtonString(uiState.autoButtonCaption))); -- // Description to indicate these buttons only appear on small windows, -- // as large windows (tablets) show them elsewhere on UI (strip, omnibox). -- String basedOnWindowDesc = -- getContext() -- .getString( -- R.string -- .adaptive_toolbar_button_preference_based_on_window_width_description); -- mNewTabButton.setDescriptionText(basedOnWindowDesc); -- mAddToBookmarksButton.setDescriptionText(basedOnWindowDesc); - updateVoiceButtonVisibility(); - updateReadAloudButtonVisibility(); - updatePageSummaryButtonVisibility(); -@@ -136,6 +132,8 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference - mSelected = AdaptiveToolbarButtonVariant.READ_ALOUD; - } else if (mPageSummaryButton.isChecked()) { + mOpenInBrowserButton = + (RadioButtonWithDescription) + holder.findViewById(R.id.adaptive_option_open_in_browser); +@@ -141,13 +146,6 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference + mAutoButton.setDescriptionText( + getContext().getString(resId, getButtonString(uiState.autoButtonCaption))); + +- // Description to indicate these buttons only appear on small windows, +- // as large windows (tablets) show them elsewhere on UI (strip, omnibox). +- resId = R.string.adaptive_toolbar_button_preference_based_on_window_width_description; +- String basedOnWindowDesc = getContext().getString(resId); +- mNewTabButton.setDescriptionText(basedOnWindowDesc); +- mAddToBookmarksButton.setDescriptionText(basedOnWindowDesc); +- + updateVoiceButtonVisibility(); + updateReadAloudButtonVisibility(); + updatePageSummaryButtonVisibility(); +@@ -176,6 +174,8 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference mSelected = AdaptiveToolbarButtonVariant.PAGE_SUMMARY; + } else if (mOpenInBrowserButton.isChecked()) { + mSelected = AdaptiveToolbarButtonVariant.OPEN_IN_BROWSER; + } else if (mReaderMode.isChecked()) { + mSelected = AdaptiveToolbarButtonVariant.READER_MODE; } else { assert false : "No matching setting found."; } -@@ -176,6 +174,8 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference - return mReadAloudButton; - case AdaptiveToolbarButtonVariant.PAGE_SUMMARY: +@@ -218,6 +218,8 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference return mPageSummaryButton; + case AdaptiveToolbarButtonVariant.OPEN_IN_BROWSER: + return mOpenInBrowserButton; + case AdaptiveToolbarButtonVariant.READER_MODE: + return mReaderMode; } return null; } -@@ -204,6 +204,9 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference - case AdaptiveToolbarButtonVariant.PAGE_SUMMARY: - stringRes = R.string.adaptive_toolbar_button_preference_page_summary; +@@ -249,6 +251,9 @@ public class RadioButtonGroupAdaptiveToolbarPreference extends Preference + case AdaptiveToolbarButtonVariant.OPEN_IN_BROWSER: + stringRes = R.string.menu_open_in_product_default; break; + case AdaptiveToolbarButtonVariant.READER_MODE: + stringRes = R.string.adaptive_toolbar_button_preference_page_summary; diff --git a/build/patches/Restore-chrome-password-store.patch b/build/patches/Restore-chrome-password-store.patch index 98fb3812..e276552d 100644 --- a/build/patches/Restore-chrome-password-store.patch +++ b/build/patches/Restore-chrome-password-store.patch @@ -59,7 +59,7 @@ diff --git a/chrome/browser/password_manager/android/login_db_deprecation_runner 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 -@@ -730,7 +730,7 @@ For more settings that use data to improve your Chrome experience, go to @@ -97,7 +97,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro 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 -@@ -772,6 +772,7 @@ BASE_FEATURE(kUseSettingsAddressEditorInPaymentsRequest, +@@ -822,6 +822,7 @@ BASE_FEATURE(kUseSettingsAddressEditorInPaymentsRequest, BASE_FEATURE(kAutofillDeepLinkAutofillOptions, "AutofillDeepLinkAutofillOptions", base::FEATURE_ENABLED_BY_DEFAULT); @@ -120,8 +120,8 @@ diff --git a/components/password_manager/core/browser/buildflags.gni b/component diff --git a/components/password_manager/core/browser/features/password_manager_features_util.cc b/components/password_manager/core/browser/features/password_manager_features_util.cc --- a/components/password_manager/core/browser/features/password_manager_features_util.cc +++ b/components/password_manager/core/browser/features/password_manager_features_util.cc -@@ -63,6 +63,7 @@ bool CanAccountStorageBeEnabled(const PrefService* pref_service, - // no way to enter the passphrase yet). +@@ -29,6 +29,7 @@ namespace { + bool IsUserEligibleForAccountStorage(const PrefService* pref_service, const syncer::SyncService* sync_service) { + if ((true)) return false; @@ -131,7 +131,7 @@ diff --git a/components/password_manager/core/browser/features/password_manager_ diff --git a/components/sync/service/sync_prefs.cc b/components/sync/service/sync_prefs.cc --- a/components/sync/service/sync_prefs.cc +++ b/components/sync/service/sync_prefs.cc -@@ -752,7 +752,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) { +@@ -771,7 +771,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) { kSeparateLocalAndAccountSearchEngines); #endif case UserSelectableType::kPasswords: diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch index 448e2feb..aff26143 100644 --- a/build/patches/Restore-offline-indicator-v2-flag.patch +++ b/build/patches/Restore-offline-indicator-v2-flag.patch @@ -92,7 +92,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 -@@ -1244,7 +1244,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1270,7 +1270,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { private void initStatusIndicatorCoordinator(LayoutManagerImpl layoutManager) { // TODO(crbug.com/40112282): Disable on tablets for now as we need to do one or two extra // things for tablets. @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab return; } -@@ -1277,6 +1278,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1303,6 +1304,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { hubManager.setStatusIndicatorHeight(mStatusIndicatorHeight); }); @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab 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 -@@ -299,6 +299,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -304,6 +304,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNotificationPermissionVariant, &kNotificationPermissionBottomSheet, &kNotificationTrampoline, @@ -128,7 +128,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 -@@ -419,6 +419,7 @@ public abstract class ChromeFeatureList { +@@ -423,6 +423,7 @@ public abstract class ChromeFeatureList { public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET = "NotificationPermissionBottomSheet"; public static final String NOTIFICATION_TRAMPOLINE = "NotificationTrampoline"; diff --git a/build/patches/Revert-Permit-blocking-of-view-source.patch b/build/patches/Revert-Permit-blocking-of-view-source.patch index 1676aaa9..08a2d8c4 100644 --- a/build/patches/Revert-Permit-blocking-of-view-source.patch +++ b/build/patches/Revert-Permit-blocking-of-view-source.patch @@ -12,8 +12,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/policy/content/policy_blocklist_navigation_throttle.cc b/components/policy/content/policy_blocklist_navigation_throttle.cc --- a/components/policy/content/policy_blocklist_navigation_throttle.cc +++ b/components/policy/content/policy_blocklist_navigation_throttle.cc -@@ -64,6 +64,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() { - } +@@ -56,6 +56,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() = + default; bool PolicyBlocklistNavigationThrottle::IsBlockedViewSourceNavigation() { + if ((true)) return false; diff --git a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch index 7ed0c9d1..1642ac49 100644 --- a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch +++ b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch @@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -2095,6 +2095,10 @@ +@@ -2109,6 +2109,10 @@ "yangsharon@google.com", "alexmos@google.com", "creis@google.com" ], "expiry_milestone": 140 }, @@ -63,7 +63,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/content/browser/android/overscroll_controller_android.cc b/content/browser/android/overscroll_controller_android.cc --- a/content/browser/android/overscroll_controller_android.cc +++ b/content/browser/android/overscroll_controller_android.cc -@@ -62,14 +62,15 @@ std::unique_ptr CreateGlowEffect(OverscrollGlowClient* client) { +@@ -63,14 +63,15 @@ std::unique_ptr CreateGlowEffect(OverscrollGlowClient* client) { std::unique_ptr CreateRefreshEffect( ui::OverscrollRefreshHandler* overscroll_refresh_handler, float dpi_scale) { @@ -113,7 +113,7 @@ diff --git a/ui/android/overscroll_refresh.cc b/ui/android/overscroll_refresh.cc top_at_scroll_start_(true), bottom_at_scroll_start_(false), overflow_y_hidden_(false), -@@ -92,7 +93,7 @@ void OverscrollRefresh::OnOverscrolled(const cc::OverscrollBehavior& behavior) { +@@ -95,7 +96,7 @@ void OverscrollRefresh::OnOverscrolled(const cc::OverscrollBehavior& behavior, } // Pull-to-refresh. Check overscroll-behavior-y if (ydelta > 0) { @@ -134,7 +134,7 @@ diff --git a/ui/android/overscroll_refresh.h b/ui/android/overscroll_refresh.h OverscrollRefresh(const OverscrollRefresh&) = delete; OverscrollRefresh& operator=(const OverscrollRefresh&) = delete; -@@ -102,6 +102,7 @@ class UI_ANDROID_EXPORT OverscrollRefresh { +@@ -105,6 +105,7 @@ class UI_ANDROID_EXPORT OverscrollRefresh { bool scrolled_to_top_; bool scrolled_to_bottom_; diff --git a/build/patches/Revert-removal-of-execution-context-address-space.patch b/build/patches/Revert-removal-of-execution-context-address-space.patch index 4a5d171f..bbc49be9 100644 --- a/build/patches/Revert-removal-of-execution-context-address-space.patch +++ b/build/patches/Revert-removal-of-execution-context-address-space.patch @@ -28,7 +28,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...ed_service_worker_module_script_fetcher.cc | 1 + .../modulescript/module_script_loader_test.cc | 1 + .../worker_module_script_fetcher.cc | 3 +- - .../renderer/core/workers/dedicated_worker.cc | 10 ++++++ + .../renderer/core/workers/dedicated_worker.cc | 9 +++++ .../renderer/core/workers/dedicated_worker.h | 3 ++ .../workers/dedicated_worker_global_scope.cc | 9 ++++- .../workers/dedicated_worker_global_scope.h | 1 + @@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../audio_worklet_global_scope_test.cc | 1 + .../webaudio/audio_worklet_thread_test.cc | 1 + .../worklet/worklet_thread_test_common.cc | 2 +- - 36 files changed, 188 insertions(+), 15 deletions(-) + 36 files changed, 187 insertions(+), 15 deletions(-) create mode 100644 cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc diff --git a/cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc b/cromite_flags/content/public/common/content_features_cc/Revert-removal-of-execution-context-address-space.inc @@ -171,7 +171,7 @@ diff --git a/third_party/blink/renderer/core/frame/policy_container.h b/third_pa diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc --- a/third_party/blink/renderer/core/frame/web_frame_test.cc +++ b/third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -8067,6 +8067,40 @@ TEST_F(WebFrameTest, PushStateStartsAndStops) { +@@ -8068,6 +8068,40 @@ TEST_F(WebFrameTest, PushStateStartsAndStops) { EXPECT_EQ(client.StopLoadingCount(), 2); } @@ -268,15 +268,7 @@ diff --git a/third_party/blink/renderer/core/loader/modulescript/worker_module_s diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc --- a/third_party/blink/renderer/core/workers/dedicated_worker.cc +++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc -@@ -371,6 +371,7 @@ void DedicatedWorker::OnHostCreated( - nullptr /* worker_main_script_load_params */, - network::mojom::ReferrerPolicy::kDefault, - Vector(), -+ std::nullopt /* response_address_space */, - String() /* source_code */, reject_coep_unsafe_none, - std::move(back_forward_cache_controller_host), - /*coep_reporting_observer=*/mojo::NullReceiver(), -@@ -435,6 +436,7 @@ void DedicatedWorker::OnScriptLoadStarted( +@@ -350,6 +350,7 @@ void DedicatedWorker::OnScriptLoadStarted( ContinueStart(script_request_url_, std::move(worker_main_script_load_params), network::mojom::ReferrerPolicy::kDefault, Vector(), @@ -284,7 +276,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third String() /* source_code */, RejectCoepUnsafeNone(false), std::move(back_forward_cache_controller_host), std::move(coep_reporting_observer), -@@ -509,6 +511,7 @@ void DedicatedWorker::OnFinished( +@@ -420,6 +421,7 @@ void DedicatedWorker::OnFinished( ? mojo::Clone(classic_script_loader_->GetContentSecurityPolicy() ->GetParsedPolicies()) : Vector(), @@ -292,7 +284,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third classic_script_loader_->SourceText(), RejectCoepUnsafeNone(false), std::move(back_forward_cache_controller_host), /*coep_reporting_observer=*/mojo::NullReceiver(), -@@ -527,6 +530,7 @@ void DedicatedWorker::ContinueStart( +@@ -438,6 +440,7 @@ void DedicatedWorker::ContinueStart( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -300,7 +292,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third const String& source_code, RejectCoepUnsafeNone reject_coep_unsafe_none, mojo::PendingRemote -@@ -553,6 +557,7 @@ void DedicatedWorker::ContinueStart( +@@ -464,6 +467,7 @@ void DedicatedWorker::ContinueStart( std::move(worker_main_script_load_params), std::move(referrer_policy), std::move(response_content_security_policies), @@ -308,7 +300,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third source_code, reject_coep_unsafe_none, std::move(back_forward_cache_controller_host), std::move(coep_reporting_observer), -@@ -563,6 +568,7 @@ void DedicatedWorker::ContinueStart( +@@ -474,6 +478,7 @@ void DedicatedWorker::ContinueStart( ContinueStartInternal( script_url, std::move(worker_main_script_load_params), std::move(referrer_policy), std::move(response_content_security_policies), @@ -316,7 +308,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third source_code, reject_coep_unsafe_none, std::move(back_forward_cache_controller_host), std::move(coep_reporting_observer), std::move(dip_reporting_observer)); -@@ -575,6 +581,7 @@ void DedicatedWorker::ContinueStartInternal( +@@ -486,6 +491,7 @@ void DedicatedWorker::ContinueStartInternal( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -324,7 +316,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third const String& source_code, RejectCoepUnsafeNone reject_coep_unsafe_none, mojo::PendingRemote -@@ -591,6 +598,7 @@ void DedicatedWorker::ContinueStartInternal( +@@ -502,6 +508,7 @@ void DedicatedWorker::ContinueStartInternal( CreateGlobalScopeCreationParams( script_url, referrer_policy, std::move(response_content_security_policies), @@ -332,7 +324,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(coep_reporting_observer), std::move(dip_reporting_observer)), std::move(worker_main_script_load_params), options_, script_url, -@@ -630,6 +638,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( +@@ -541,6 +548,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -340,7 +332,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third mojo::PendingReceiver coep_reporting_observer, mojo::PendingReceiver -@@ -682,6 +691,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( +@@ -593,6 +601,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( execution_context->GetSecurityOrigin(), execution_context->IsSecureContext(), execution_context->GetHttpsState(), MakeGarbageCollected(), CreateWebContentSettingsClient(), @@ -351,7 +343,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_party/blink/renderer/core/workers/dedicated_worker.h --- a/third_party/blink/renderer/core/workers/dedicated_worker.h +++ b/third_party/blink/renderer/core/workers/dedicated_worker.h -@@ -157,6 +157,7 @@ class CORE_EXPORT DedicatedWorker final +@@ -156,6 +156,7 @@ class CORE_EXPORT DedicatedWorker final network::mojom::ReferrerPolicy, Vector response_content_security_policies, @@ -359,7 +351,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_ const String& source_code, RejectCoepUnsafeNone reject_coep_unsafe_none, mojo::PendingRemote -@@ -172,6 +173,7 @@ class CORE_EXPORT DedicatedWorker final +@@ -171,6 +172,7 @@ class CORE_EXPORT DedicatedWorker final network::mojom::ReferrerPolicy, Vector response_content_security_policies, @@ -367,7 +359,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_ const String& source_code, RejectCoepUnsafeNone reject_coep_unsafe_none, mojo::PendingRemote -@@ -185,6 +187,7 @@ class CORE_EXPORT DedicatedWorker final +@@ -184,6 +186,7 @@ class CORE_EXPORT DedicatedWorker final network::mojom::ReferrerPolicy, Vector response_content_security_policies, @@ -378,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc --- a/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc +++ b/third_party/blink/renderer/core/workers/dedicated_worker_global_scope.cc -@@ -92,6 +92,8 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( +@@ -91,6 +91,8 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( KURL response_script_url = creation_params->script_url; network::mojom::ReferrerPolicy response_referrer_policy = creation_params->referrer_policy; @@ -387,7 +379,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco const bool parent_cross_origin_isolated_capability = creation_params->parent_cross_origin_isolated_capability; const bool parent_is_isolated_context = -@@ -120,7 +122,7 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( +@@ -119,7 +121,7 @@ DedicatedWorkerGlobalScope* DedicatedWorkerGlobalScope::Create( // Pass dummy origin trial tokens here as it is already set to outside's // origin trial tokens in DedicatedWorkerGlobalScope's constructor. global_scope->Initialize(response_script_url, response_referrer_policy, @@ -396,7 +388,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco nullptr /* response_origin_trial_tokens */); return global_scope; } else { -@@ -247,6 +249,7 @@ const AtomicString& DedicatedWorkerGlobalScope::InterfaceName() const { +@@ -246,6 +248,7 @@ const AtomicString& DedicatedWorkerGlobalScope::InterfaceName() const { void DedicatedWorkerGlobalScope::Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, @@ -404,7 +396,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco Vector response_csp, const Vector* /* response_origin_trial_tokens */) { TRACE_EVENT("blink.worker", "DedicatedWorkerGlobalScope::Initialize", -@@ -262,6 +265,9 @@ void DedicatedWorkerGlobalScope::Initialize( +@@ -261,6 +264,9 @@ void DedicatedWorkerGlobalScope::Initialize( // parsing the `Referrer-Policy` header of response." SetReferrerPolicy(response_referrer_policy); @@ -414,7 +406,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_global_sco // The following is the Content-Security-Policy part of "Initialize worker // global scope's policy container" // https://html.spec.whatwg.org/#initialize-worker-policy-container -@@ -501,6 +507,7 @@ void DedicatedWorkerGlobalScope::DidFetchClassicScript( +@@ -493,6 +499,7 @@ void DedicatedWorkerGlobalScope::DidFetchClassicScript( // Pass dummy origin trial tokens here as it is already set to outside's // origin trial tokens in DedicatedWorkerGlobalScope's constructor. Initialize(classic_script_loader->ResponseURL(), response_referrer_policy, @@ -799,7 +791,7 @@ diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_imp diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc --- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc +++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc -@@ -475,6 +475,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( +@@ -473,6 +473,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( // is set, and with the following callback steps given evaluationStatus:" RunClassicScript( classic_script_loader->ResponseURL(), referrer_policy, @@ -807,7 +799,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl classic_script_loader->GetContentSecurityPolicy() ? mojo::Clone(classic_script_loader->GetContentSecurityPolicy() ->GetParsedPolicies()) -@@ -488,6 +489,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( +@@ -486,6 +487,7 @@ void ServiceWorkerGlobalScope::DidFetchClassicScript( void ServiceWorkerGlobalScope::Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, @@ -815,7 +807,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl Vector response_csp, const Vector* response_origin_trial_tokens) { // Step 4.5. "Set workerGlobalScope's url to serviceWorker's script url." -@@ -501,6 +503,9 @@ void ServiceWorkerGlobalScope::Initialize( +@@ -499,6 +501,9 @@ void ServiceWorkerGlobalScope::Initialize( // script resource's referrer policy." SetReferrerPolicy(response_referrer_policy); @@ -825,7 +817,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl // This is quoted from the "Content Security Policy" algorithm in the service // workers spec: // "Whenever a user agent invokes Run Service Worker algorithm with a service -@@ -511,6 +516,9 @@ void ServiceWorkerGlobalScope::Initialize( +@@ -509,6 +514,9 @@ void ServiceWorkerGlobalScope::Initialize( // - If serviceWorker's script resource was delivered with a // Content-Security-Policy-Report-Only HTTP header containing the value // policy, the user agent must monitor policy for serviceWorker." @@ -835,7 +827,7 @@ diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_gl InitContentSecurityPolicyFromVector(std::move(response_csp)); BindContentSecurityPolicyToExecutionContext(); -@@ -551,26 +559,27 @@ void ServiceWorkerGlobalScope::LoadAndRunInstalledClassicScript( +@@ -549,26 +557,27 @@ void ServiceWorkerGlobalScope::LoadAndRunInstalledClassicScript( kDoNotSupportReferrerPolicyLegacyKeywords, &referrer_policy); } diff --git a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch index 3dfb7876..da72aadd 100644 --- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch +++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch @@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -4021,19 +4021,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4051,19 +4051,6 @@ bool LocalFrame::IsSameOrigin() { return security_origin->IsSameOriginWith(top_security_origin); } @@ -234,7 +234,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -919,12 +919,6 @@ class CORE_EXPORT LocalFrame final +@@ -928,12 +928,6 @@ class CORE_EXPORT LocalFrame final return *v8_local_compile_hints_producer_; } @@ -264,7 +264,7 @@ diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_p diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc --- a/third_party/blink/renderer/core/loader/base_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc -@@ -258,7 +258,7 @@ BaseFetchContext::CanRequestInternal( +@@ -270,7 +270,7 @@ BaseFetchContext::CanRequestInternal( } if (type == ResourceType::kScript) { @@ -276,7 +276,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h --- a/third_party/blink/renderer/core/loader/base_fetch_context.h +++ b/third_party/blink/renderer/core/loader/base_fetch_context.h -@@ -105,7 +105,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { +@@ -107,7 +107,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { : fetcher_properties_(properties), console_logger_(logger) {} // Used for security checks. @@ -288,7 +288,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -514,7 +514,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -516,7 +516,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( // Check if |url| is allowed to run JavaScript. If not, client hints are not // attached to the requests that initiate on the render side. @@ -298,7 +298,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi return; } -@@ -968,15 +969,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { +@@ -983,15 +984,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { } } @@ -354,7 +354,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir static ResourceFetcher* CreateFetcherForCommittedDocument(DocumentLoader&, Document&); FrameFetchContext(DocumentLoader& document_loader, -@@ -169,7 +180,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -172,7 +183,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, // BaseFetchContext overrides: net::SiteForCookies GetSiteForCookies() const override; SubresourceFilter* GetSubresourceFilter() const override; diff --git a/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch b/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch index 7bf0b3d1..5ffe1049 100644 --- a/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch +++ b/build/patches/Samsung-Note-9-SDK27-crazylinker-workaround.patch @@ -19,7 +19,7 @@ diff --git a/base/android/java/src/org/chromium/base/library_loader/LibraryLoade import javax.annotation.concurrent.GuardedBy; -@@ -276,7 +277,21 @@ public class LibraryLoader { +@@ -272,7 +273,21 @@ public class LibraryLoader { */ public void initInAppZygote() { assert !mInitDone; diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch index 81db6616..deaec8e9 100644 --- a/build/patches/Show-NTP-at-startup.patch +++ b/build/patches/Show-NTP-at-startup.patch @@ -98,7 +98,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivit 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 -@@ -2460,6 +2460,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements MismatchedIn +@@ -2588,6 +2588,8 @@ public class ChromeTabbedActivity extends ChromeActivity { mInactivityTracker = new ChromeInactivityTracker( ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF); @@ -153,7 +153,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC 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 -@@ -1079,7 +1079,7 @@ +@@ -1107,7 +1107,7 @@ Open a specific page or set of pages @@ -165,7 +165,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp 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 -@@ -335,6 +335,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -342,6 +342,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kSearchInCCT, &kSearchInCCTAlternateTapHandling, &kSearchResumptionModuleAndroid, @@ -214,7 +214,7 @@ new file mode 100644 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 -@@ -813,6 +813,8 @@ public final class ChromePreferenceKeys { +@@ -837,6 +837,8 @@ public final class ChromePreferenceKeys { public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF = "ChromeTabbedActivity.BackgroundTimeMs"; @@ -363,7 +363,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc -@@ -536,6 +536,14 @@ StartupBrowserCreatorImpl::DetermineStartupTabs( +@@ -552,6 +552,14 @@ StartupBrowserCreatorImpl::DetermineStartupTabs( AppendTabs(provider.GetNewTabPageTabs(*command_line_, profile_), &tabs); } diff --git a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch index 423b8b1a..529e4d40 100644 --- a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch +++ b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -601,6 +601,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -615,6 +615,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment setUpSoundPreference(preference); } else if (type == ContentSettingsType.JAVASCRIPT) { setUpJavascriptPreference(preference); @@ -24,7 +24,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (type == ContentSettingsType.GEOLOCATION) { setUpLocationPreference(preference); } else if (type == ContentSettingsType.NOTIFICATIONS) { -@@ -1105,18 +1107,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1195,18 +1197,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment private void setUpAdsInformationalBanner() { // Add the informational banner which shows at the top of the UI if ad blocking is // activated on this site. @@ -43,7 +43,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } @RequiresNonNull({"mSite"}) -@@ -1323,12 +1315,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1413,12 +1405,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @ContentSettingValues @Nullable Integer currentValue = mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT); @@ -63,7 +63,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Not possible to embargo JAVASCRIPT. setupContentSettingsPreference( -@@ -1338,6 +1331,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1428,6 +1421,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment isOneTime(ContentSettingsType.JAVASCRIPT)); } @@ -93,7 +93,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Updates the ads list preference based on whether the site is a candidate for blocking. This * has some custom behavior. -@@ -1357,9 +1373,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1447,9 +1463,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } // If the ad blocker is activated, then this site will have ads blocked unless there is an // explicit permission disallowing the blocking. @@ -107,7 +107,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java -@@ -286,7 +286,19 @@ public final class Website implements WebsiteEntry { +@@ -291,7 +291,19 @@ public final class Website implements WebsiteEntry { new ContentSettingException( ContentSettingsType.ADS, getAddress().getOrigin(), diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch index c2669e2e..3fbfc4b6 100644 --- a/build/patches/Site-setting-for-images.patch +++ b/build/patches/Site-setting-for-images.patch @@ -323,7 +323,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t 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 -@@ -4008,19 +4008,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4038,19 +4038,6 @@ bool LocalFrame::IsSameOrigin() { return security_origin->IsSameOriginWith(top_security_origin); } @@ -346,7 +346,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -918,12 +918,6 @@ class CORE_EXPORT LocalFrame final +@@ -927,12 +927,6 @@ class CORE_EXPORT LocalFrame final return *v8_local_compile_hints_producer_; } @@ -381,7 +381,7 @@ diff --git a/third_party/blink/renderer/core/html/image_document.cc b/third_part diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -312,6 +312,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( +@@ -314,6 +314,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( fetcher->SetResourceLoadObserver( MakeGarbageCollected( loader, document, fetcher->GetProperties())); @@ -389,7 +389,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi fetcher->SetAutoLoadImages( frame->GetSettings()->GetLoadsImagesAutomatically()); fetcher->SetEarlyHintsPreloadedResources( -@@ -475,16 +476,13 @@ void FrameFetchContext::AddResourceTiming( +@@ -477,16 +478,13 @@ void FrameFetchContext::AddResourceTiming( ->AddResourceTiming(std::move(info), initiator_type); } @@ -414,7 +414,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h --- a/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h -@@ -94,7 +94,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -95,7 +95,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, void AddResourceTiming(mojom::blink::ResourceTimingInfoPtr, const AtomicString& initiator_type) override; @@ -426,7 +426,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir 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 -@@ -1060,9 +1060,8 @@ void Page::SettingsChanged(ChangeType change_type) { +@@ -1070,9 +1070,8 @@ void Page::SettingsChanged(ChangeType change_type) { for (Frame* frame = MainFrame(); frame; frame = frame->Tree().TraverseNext()) { if (auto* local_frame = DynamicTo(frame)) { @@ -453,7 +453,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_context.h b/ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -819,6 +819,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) +@@ -820,6 +820,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) blob_registry_remote_(init.context_lifecycle_notifier), context_lifecycle_notifier_(init.context_lifecycle_notifier), auto_load_images_(true), @@ -461,7 +461,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c allow_stale_resources_(false), image_fetched_(false), transparent_image_optimization_enabled_(base::FeatureList::IsEnabled( -@@ -2025,7 +2026,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( +@@ -2026,7 +2027,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( return false; } @@ -470,7 +470,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } ResourceFetcher::RevalidationPolicy -@@ -2270,8 +2271,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { +@@ -2271,8 +2272,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { ReloadImagesIfNotDeferred(); } @@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h FetchContext& Context() const; void ClearContext(); -@@ -700,6 +701,7 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -705,6 +706,7 @@ class PLATFORM_EXPORT ResourceFetcher bool is_in_request_resource_ = false; bool auto_load_images_ : 1; diff --git a/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch b/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch index bfe5e2f9..ce974233 100644 --- a/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch +++ b/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc -@@ -2980,6 +2980,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, +@@ -2997,6 +2997,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, if (it == active_streams_.end()) { // NOTE: it may just be that the stream was cancelled. LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id; diff --git a/build/patches/Temp-disable-experimental-web-platform-features.patch b/build/patches/Temp-disable-experimental-web-platform-features.patch index 1c8acb50..243489ec 100644 --- a/build/patches/Temp-disable-experimental-web-platform-features.patch +++ b/build/patches/Temp-disable-experimental-web-platform-features.patch @@ -9,7 +9,7 @@ Subject: Temp disable experimental-web-platform-features 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 -@@ -4669,10 +4669,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4660,10 +4660,10 @@ const FeatureEntry kFeatureEntries[] = { {"enable-fontations-backend", flag_descriptions::kFontationsFontBackendName, flag_descriptions::kFontationsFontBackendDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kFontationsFontBackend)}, diff --git a/build/patches/Temporarily-disable-Tab-Group-Sync-Android.patch b/build/patches/Temporarily-disable-Tab-Group-Sync-Android.patch index dd746697..4afb1874 100644 --- a/build/patches/Temporarily-disable-Tab-Group-Sync-Android.patch +++ b/build/patches/Temporarily-disable-Tab-Group-Sync-Android.patch @@ -10,19 +10,19 @@ Subject: Temporarily disable Tab Group Sync Android 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 -@@ -848,7 +848,7 @@ public abstract class ChromeFeatureList { +@@ -841,7 +841,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sTabClosureMethodRefactor = newCachedFlag(TAB_CLOSURE_METHOD_REFACTOR, false); public static final CachedFlag sTabGroupPaneAndroid = - newCachedFlag(TAB_GROUP_PANE_ANDROID, /* defaultValue= */ true); + newCachedFlag(TAB_GROUP_PANE_ANDROID, /* defaultValue= */ false); - public static final CachedFlag sTabResumptionModuleAndroid = + public static final CachedFlag sTabStateFlatBuffer = newCachedFlag( - TAB_RESUMPTION_MODULE_ANDROID, + TAB_STATE_FLAT_BUFFER, diff --git a/components/saved_tab_groups/public/features.cc b/components/saved_tab_groups/public/features.cc --- a/components/saved_tab_groups/public/features.cc +++ b/components/saved_tab_groups/public/features.cc -@@ -170,4 +170,7 @@ base::TimeDelta GetOriginatingSavedGroupCleanUpTimeInterval() { +@@ -140,4 +140,7 @@ base::TimeDelta GetOriginatingSavedGroupCleanUpTimeInterval() { return base::Seconds(time_in_seconds); } diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch index b926200b..5090100e 100644 --- a/build/patches/Timezone-customization.patch +++ b/build/patches/Timezone-customization.patch @@ -50,7 +50,7 @@ Require: Content-settings-infrastructure.patch diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn --- a/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn -@@ -100,6 +100,7 @@ android_library("java") { +@@ -103,6 +103,7 @@ android_library("java") { "java/src/org/chromium/components/browser_ui/site_settings/WebsitePreference.java", "java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java", "java/src/org/chromium/components/browser_ui/site_settings/WebsiteRowPreference.java", @@ -401,7 +401,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c @NativeMethods public interface Natives { boolean isNotificationEmbargoedForOrigin( -@@ -650,5 +658,7 @@ public class WebsitePreferenceBridge { +@@ -647,5 +655,7 @@ public class WebsitePreferenceBridge { String toDomainWildcardPattern(String pattern); String toHostOnlyPattern(String pattern); @@ -565,7 +565,7 @@ new file mode 100644 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 -@@ -1123,3 +1123,19 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern( +@@ -1122,3 +1122,19 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern( ContentSettingsPattern::FromString(pattern_string)); return ConvertUTF8ToJavaString(env, host_only_pattern.ToString()); } @@ -681,7 +681,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov } PrefProvider::~PrefProvider() { -@@ -464,4 +470,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) { +@@ -465,4 +471,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) { } } @@ -784,7 +784,7 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom --- a/components/content_settings/core/common/content_settings.mojom +++ b/components/content_settings/core/common/content_settings.mojom -@@ -93,4 +93,5 @@ struct ContentSettingPatternSource { +@@ -94,4 +94,5 @@ struct ContentSettingPatternSource { struct RendererContentSettingRules { array settings_rules; array mixed_content_rules; @@ -793,7 +793,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc --- a/components/content_settings/core/common/content_settings_mojom_traits.cc +++ b/components/content_settings/core/common/content_settings_mojom_traits.cc -@@ -134,7 +134,8 @@ bool StructTraitssettings_rules) && @@ -806,7 +806,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h --- a/components/content_settings/core/common/content_settings_mojom_traits.h +++ b/components/content_settings/core/common/content_settings_mojom_traits.h -@@ -209,6 +209,11 @@ struct StructTraits< +@@ -214,6 +214,11 @@ struct StructTraits< return r.mixed_content_rules; } diff --git a/build/patches/Use-BoringSSL-for-RandBytes.patch b/build/patches/Use-BoringSSL-for-RandBytes.patch index 8acc3793..834f1838 100644 --- a/build/patches/Use-BoringSSL-for-RandBytes.patch +++ b/build/patches/Use-BoringSSL-for-RandBytes.patch @@ -24,7 +24,7 @@ diff --git a/base/rand_util_fuchsia.cc b/base/rand_util_fuchsia.cc diff --git a/base/rand_util_posix.cc b/base/rand_util_posix.cc --- a/base/rand_util_posix.cc +++ b/base/rand_util_posix.cc -@@ -137,7 +137,7 @@ std::atomic g_use_boringssl; +@@ -110,7 +110,7 @@ std::atomic g_use_boringssl; BASE_FEATURE(kUseBoringSSLForRandBytes, "UseBoringSSLForRandBytes", diff --git a/build/patches/Use-browser-navigation-handler.patch b/build/patches/Use-browser-navigation-handler.patch index 3b627e80..b910a46f 100644 --- a/build/patches/Use-browser-navigation-handler.patch +++ b/build/patches/Use-browser-navigation-handler.patch @@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side 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 -@@ -73,6 +73,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus; +@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus; import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeSwitches; @@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.gesturenav.BackActionDelegate; -@@ -722,7 +723,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -751,7 +752,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public void onInflationComplete() { mCoordinator = mActivity.findViewById(R.id.coordinator); diff --git a/build/patches/Use-list-mode-for-tab-switcher.patch b/build/patches/Use-list-mode-for-tab-switcher.patch index 2810598b..973d8f9a 100644 --- a/build/patches/Use-list-mode-for-tab-switcher.patch +++ b/build/patches/Use-list-mode-for-tab-switcher.patch @@ -21,15 +21,15 @@ 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/TabUiFeatureUtilities.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities.java -@@ -9,6 +9,7 @@ import android.os.Build; - import org.chromium.base.ResettersForTesting; +@@ -8,6 +8,7 @@ import android.os.Build; + import org.chromium.base.SysUtils; import org.chromium.chrome.browser.flags.ChromeFeatureList; +import org.chromium.chrome.browser.flags.cromite.sTabSwitcherListMode; import org.chromium.ui.util.XrUtils; import java.util.Locale; -@@ -35,11 +36,7 @@ public class TabUiFeatureUtilities { +@@ -19,11 +20,7 @@ public class TabUiFeatureUtilities { /** Returns whether the Grid Tab Switcher UI should use list mode. */ public static boolean shouldUseListMode() { @@ -113,7 +113,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java -@@ -50,6 +50,7 @@ import org.chromium.base.MathUtils; +@@ -53,6 +53,7 @@ import org.chromium.base.MathUtils; import org.chromium.base.TraceEvent; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.chrome.browser.omnibox.LocationBar; @@ -121,7 +121,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.LocationBarCoordinator; import org.chromium.chrome.browser.omnibox.NewTabPageDelegate; import org.chromium.chrome.browser.omnibox.SearchEngineUtils; -@@ -1811,7 +1812,7 @@ public class ToolbarPhone extends ToolbarLayout +@@ -1805,7 +1806,7 @@ public class ToolbarPhone extends ToolbarLayout // On entering the tab switcher, set the focusability of the url bar to be false. This will // occur at the start of the enter event, and will later be reset to true upon finishing the // exit event. @@ -130,7 +130,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mLocationBar.setUrlBarFocusable(false); } -@@ -2004,7 +2005,8 @@ public class ToolbarPhone extends ToolbarLayout +@@ -1998,7 +1999,8 @@ public class ToolbarPhone extends ToolbarLayout updateLocationBarForNtp(mVisualState, urlHasFocus()); diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 09b28b27..5cba73f1 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -56,7 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc --- a/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc -@@ -208,7 +208,7 @@ base::WeakPtr GetAsyncCheckTracker( +@@ -217,7 +217,7 @@ base::WeakPtr GetAsyncCheckTracker( } // anonymous namespace std::string GetProduct() { @@ -92,7 +92,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -651,4 +651,6 @@ chrome_java_resources = [ +@@ -653,4 +653,6 @@ chrome_java_resources = [ "java/res/xml/search_widget_info.xml", "java/res/xml/tracing_preferences.xml", "java/res/xml/unified_account_settings_preferences.xml", @@ -269,7 +269,7 @@ new file mode 100644 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 -@@ -2550,6 +2550,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2575,6 +2575,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity TabUtils.switchUserAgent( currentTab, usingDesktopUserAgent, @@ -582,7 +582,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This * class is not intended to be extended. -@@ -2082,9 +2088,6 @@ class TabImpl implements Tab { +@@ -2085,9 +2091,6 @@ class TabImpl implements Tab { } if (mWebContents != null) { @@ -592,7 +592,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mWebContents.getNavigationController().loadIfNecessary(); } mIsBeingRestored = true; -@@ -2461,6 +2464,11 @@ class TabImpl implements Tab { +@@ -2471,6 +2474,11 @@ class TabImpl implements Tab { url = webContents.getVisibleUrl(); } @@ -604,7 +604,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav // Do not override UA if there is a tab level setting. if (tabUserAgent != TabUserAgent.DEFAULT) { recordHistogramUseDesktopUserAgent(currentRequestDesktopSite); -@@ -2506,7 +2514,7 @@ class TabImpl implements Tab { +@@ -2516,7 +2524,7 @@ class TabImpl implements Tab { } boolean usingDesktopUserAgent = getWebContents().getNavigationController().getUseDesktopUserAgent(); @@ -613,7 +613,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav } /** Sets the TabLaunchType for tabs launched with an unset launch type. */ -@@ -2570,6 +2578,54 @@ class TabImpl implements Tab { +@@ -2580,6 +2588,54 @@ class TabImpl implements Tab { } } @@ -699,8 +699,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/android/content/content_utils.cc --- a/chrome/browser/android/content/content_utils.cc +++ b/chrome/browser/android/content/content_utils.cc -@@ -9,9 +9,23 @@ - #include "content/public/common/user_agent.h" +@@ -8,9 +8,23 @@ + #include "content/public/browser/web_contents.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h" +#include "base/android/jni_android.h" @@ -723,7 +723,7 @@ diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/an static std::string JNI_ContentUtils_GetBrowserUserAgent(JNIEnv* env) { return embedder_support::GetUserAgent(); } -@@ -20,6 +34,22 @@ static void JNI_ContentUtils_SetUserAgentOverride( +@@ -19,6 +33,22 @@ static void JNI_ContentUtils_SetUserAgentOverride( JNIEnv* env, const base::android::JavaParamRef& jweb_contents, jboolean j_override_in_new_tabs) { @@ -747,11 +747,11 @@ diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/an const blink::UserAgentMetadata metadata = @@ -27,7 +57,7 @@ static void JNI_ContentUtils_SetUserAgentOverride( - blink::UserAgentOverride spoofed_ua; - spoofed_ua.ua_string_override = content::BuildUserAgentFromOSAndProduct( -- kLinuxInfoStr, embedder_support::GetProductAndVersion()); -+ kLinuxInfoStr, embedder_support::GetProductAndVersion(embedder_support::UserAgentReductionEnterprisePolicyState::kForceEnabled)); + spoofed_ua.ua_string_override = + embedder_support::BuildUserAgentFromOSAndProduct( +- kLinuxInfoStr, embedder_support::GetProductAndVersion()); ++ kLinuxInfoStr, embedder_support::GetProductAndVersion(embedder_support::UserAgentReductionEnterprisePolicyState::kForceEnabled)); spoofed_ua.ua_metadata_override = metadata; spoofed_ua.ua_metadata_override->platform = "Linux"; spoofed_ua.ua_metadata_override->platform_version = @@ -979,7 +979,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o 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 -@@ -1080,8 +1080,6 @@ public final class ChromePreferenceKeys { +@@ -1111,8 +1111,6 @@ public final class ChromePreferenceKeys { SIGNIN_PROMO_NTP_LAST_SHOWN_TIME, SYNC_PROMO_TOTAL_SHOW_COUNT, SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP, @@ -1009,7 +1009,7 @@ diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java --- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java +++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java -@@ -328,6 +328,8 @@ public interface Tab extends TabLifecycle { +@@ -326,6 +326,8 @@ public interface Tab extends TabLifecycle { /** Goes to the navigation entry after the current one. */ void goForward(); @@ -1021,19 +1021,19 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.jav diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java -@@ -139,6 +139,8 @@ public interface TabWindowManager { +@@ -137,6 +137,8 @@ public interface TabWindowManager { */ - List getGroupedTabsByWindow(int windowId, int rootId, boolean isIncognito); + List getGroupedTabsByWindow(@WindowId int windowId, Token tabGroupId, boolean isIncognito); + void SetOverrideUserAgentForAllTabs(boolean usingDesktopUserAgent); + /** - * Finds the {@link TabModelSelector} bound to an Activity instance of a given index. + * Finds the {@link TabModelSelector} bound to an Activity instance of a given id. * diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java --- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java +++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java -@@ -35,6 +35,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; +@@ -38,6 +38,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -1041,7 +1041,7 @@ diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chro import java.util.Collection; import java.util.HashMap; import java.util.List; -@@ -423,6 +424,24 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan +@@ -436,6 +437,24 @@ public class TabWindowManagerImpl implements TabWindowManager { return null; } @@ -1064,12 +1064,12 @@ diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chro + } + @Override - public Tab getTabById(int tabId) { + public Tab getTabById(@TabId int tabId) { for (TabModelSelector selector : getAllTabModelSelectors()) { 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 -@@ -232,6 +232,32 @@ CHAR_LIMIT guidelines: +@@ -235,6 +235,32 @@ CHAR_LIMIT guidelines: Visit help page @@ -1280,7 +1280,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3535,6 +3535,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3616,6 +3616,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( #if BUILDFLAG(IS_CHROMEOS) switches::kSchedulerBoostUrgent, #endif @@ -1299,7 +1299,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser #include "base/check_op.h" #include "base/command_line.h" #include "base/containers/contains.h" -@@ -2339,8 +2340,6 @@ void WebContentsImpl::SetUserAgentOverride( +@@ -2384,8 +2385,6 @@ void WebContentsImpl::SetUserAgentOverride( OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride", "ua_override", ua_override.ua_string_override, "override_in_new_tabs", override_in_new_tabs); @@ -1308,7 +1308,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser if (GetUserAgentOverride() == ua_override) { return; -@@ -3510,6 +3509,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences( +@@ -3560,6 +3559,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences( #else prefs.viewport_meta_enabled = false; #endif @@ -1341,7 +1341,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -909,7 +909,6 @@ void RenderThreadImpl::InitializeRenderer( +@@ -928,7 +928,6 @@ void RenderThreadImpl::InitializeRenderer( uint64_t trace_id) { TRACE_EVENT("navigation", "RenderThreadImpl::InitializeRenderer", perfetto::TerminatingFlow::Global(trace_id)); diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch index 211ea505..5afed998 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -211,7 +211,7 @@ new file mode 100644 diff --git a/components/guest_view/browser/guest_view_base.cc b/components/guest_view/browser/guest_view_base.cc --- a/components/guest_view/browser/guest_view_base.cc +++ b/components/guest_view/browser/guest_view_base.cc -@@ -662,6 +662,14 @@ void GuestViewBase::AttachToOuterWebContentsFrame( +@@ -670,6 +670,14 @@ void GuestViewBase::AttachToOuterWebContentsFrame( if (attachment_callback) std::move(attachment_callback).Run(); @@ -282,7 +282,7 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -4293,6 +4293,7 @@ +@@ -4305,6 +4305,7 @@ }, { name: "opacity", @@ -290,7 +290,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], interpolable: true, compositable: true, -@@ -4300,7 +4301,6 @@ +@@ -4312,7 +4313,6 @@ field_template: "primitive", default_value: "1.0", type_name: "float", @@ -313,7 +313,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc --- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc +++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc -@@ -2223,7 +2223,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { +@@ -2236,7 +2236,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { ComputedStyleBuilder builder = CreateComputedStyleBuilder(); builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical); @@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_part diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1081,7 +1081,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { +@@ -1083,7 +1083,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { page_popup_ = WebPagePopupImpl::Create( std::move(popup_widget_host), std::move(widget_host), std::move(widget_receiver), this, agent_group_scheduler, @@ -439,7 +439,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p Page* page = frame->GetPage(); if (!page) return 0; -@@ -1777,7 +1787,8 @@ double LocalDOMWindow::devicePixelRatio() const { +@@ -1779,7 +1789,8 @@ double LocalDOMWindow::devicePixelRatio() const { if (!GetFrame()) return 0.0; @@ -449,7 +449,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p } void LocalDOMWindow::scrollBy(double x, double y) const { -@@ -2395,6 +2406,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2401,6 +2412,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, if (!completed_url.IsEmpty() || result.new_window) result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -473,7 +473,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p // TODO(japhet): window-open-noopener.html?_top and several tests in // html/browsers/windows/browsing-context-names/ appear to require that // the special case target names (_top, _parent, _self) ignore opener -@@ -2446,6 +2474,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( +@@ -2452,6 +2480,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( DCHECK(result.new_window); result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -1591,6 +1591,10 @@ void LocalFrame::RestoreScrollOffsets() { +@@ -1595,6 +1595,10 @@ void LocalFrame::RestoreScrollOffsets() { saved_scroll_offsets_ = nullptr; } @@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ void LocalFrame::SetLayoutZoomFactor(float factor) { SetLayoutAndTextZoomFactors(factor, text_zoom_factor_); } -@@ -1772,12 +1776,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { +@@ -1776,12 +1780,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { return mojo_handler_->GetDevicePosture(); } @@ -522,7 +522,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ return ratio; } -@@ -3324,6 +3332,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { +@@ -3332,6 +3340,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { DCHECK(!GetDocument() || !GetDocument()->Printing()); DCHECK(IsMainFrame()); @@ -537,7 +537,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -427,13 +427,14 @@ class CORE_EXPORT LocalFrame final +@@ -435,13 +435,14 @@ class CORE_EXPORT LocalFrame final void SetInViewSourceMode(bool = true); void SetLayoutZoomFactor(float); @@ -554,7 +554,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b // Informs the local root's document and its local descendant subtree that a // media query value changed. -@@ -1078,6 +1079,7 @@ class CORE_EXPORT LocalFrame final +@@ -1091,6 +1092,7 @@ class CORE_EXPORT LocalFrame final unsigned did_run_detach_impl_ : 1 = false; float layout_zoom_factor_; @@ -660,7 +660,7 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -@@ -1993,6 +1993,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1998,6 +1998,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( if (auto* device_emulator = DeviceEmulator()) { device_emulator->UpdateVisualProperties(visual_properties); @@ -732,7 +732,7 @@ diff --git a/third_party/blink/renderer/core/input/touch.cc b/third_party/blink/ 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 -@@ -107,6 +107,12 @@ +@@ -108,6 +108,12 @@ #include "ui/color/color_provider_utils.h" #include "ui/gfx/geometry/insets_conversions.h" @@ -745,7 +745,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re namespace blink { namespace { -@@ -1294,7 +1300,94 @@ void Page::UpdateAcceleratedCompositingSettings() { +@@ -1304,7 +1310,94 @@ void Page::UpdateAcceleratedCompositingSettings() { } } @@ -869,7 +869,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h --- a/third_party/blink/renderer/core/style/computed_style.h +++ b/third_party/blink/renderer/core/style/computed_style.h -@@ -1931,6 +1931,12 @@ class ComputedStyle final : public ComputedStyleBase { +@@ -1958,6 +1958,12 @@ class ComputedStyle final : public ComputedStyleBase { IsRunningBackdropFilterAnimationOnCompositor(); } diff --git a/build/patches/WIN-Disable-updater.patch b/build/patches/WIN-Disable-updater.patch index 053587d3..0778fb59 100644 --- a/build/patches/WIN-Disable-updater.patch +++ b/build/patches/WIN-Disable-updater.patch @@ -22,7 +22,7 @@ diff --git a/chrome/browser/active_use_util.h b/chrome/browser/active_use_util.h diff --git a/chrome/browser/updater/BUILD.gn b/chrome/browser/updater/BUILD.gn --- a/chrome/browser/updater/BUILD.gn +++ b/chrome/browser/updater/BUILD.gn -@@ -23,22 +23,6 @@ if (is_win || is_mac) { +@@ -30,22 +30,6 @@ if (is_win || is_mac) { "//components/version_info", ] diff --git a/build/patches/WIN-enable-pdf-plugin.patch b/build/patches/WIN-enable-pdf-plugin.patch index dd6d00e9..449c305a 100644 --- a/build/patches/WIN-enable-pdf-plugin.patch +++ b/build/patches/WIN-enable-pdf-plugin.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2289,7 +2289,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() { +@@ -2298,7 +2298,9 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings() } PluginData* LocalFrame::GetPluginData() const { diff --git a/build/patches/Warning-message-for-unsupported-hardware-aes.patch b/build/patches/Warning-message-for-unsupported-hardware-aes.patch index 3607b43a..cfd919f5 100644 --- a/build/patches/Warning-message-for-unsupported-hardware-aes.patch +++ b/build/patches/Warning-message-for-unsupported-hardware-aes.patch @@ -51,7 +51,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -428,6 +428,7 @@ if (is_win) { +@@ -432,6 +432,7 @@ if (is_win) { "//components/policy:generated", "//content/public/app", "//crypto", @@ -59,7 +59,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn "//headless:headless_non_renderer", "//headless:headless_shell_browser_lib", "//net:net_resources", -@@ -1644,6 +1645,8 @@ if (is_android) { +@@ -1648,6 +1649,8 @@ if (is_android) { "//chrome/common/profiler", "//chrome/gpu", "//chrome/renderer", @@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -7235,6 +7235,10 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -7259,6 +7259,10 @@ Keep your key file in a safe place. You will need it to create new versions of y You are using an unsupported feature flag: $1SignedHTTPExchange. Stability and security will suffer. @@ -111,7 +111,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc --- a/chrome/browser/ui/startup/bad_flags_prompt.cc +++ b/chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -229,6 +229,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) { +@@ -236,6 +236,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) { return; } } @@ -130,7 +130,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3540,6 +3540,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3621,6 +3621,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kSchedulerBoostUrgent, #endif switches::kDesktopModeViewportMetaEnabled, diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 881e3e9d..8834e53a 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -42,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -156,80 +156,18 @@ bool EnablePerMonitorV2() { +@@ -158,80 +158,18 @@ bool EnablePerMonitorV2() { } bool* GetDomainEnrollmentStateStorage() { @@ -202,7 +202,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow diff --git a/chrome/browser/navigation_predictor/search_engine_preconnector.cc b/chrome/browser/navigation_predictor/search_engine_preconnector.cc --- a/chrome/browser/navigation_predictor/search_engine_preconnector.cc +++ b/chrome/browser/navigation_predictor/search_engine_preconnector.cc -@@ -43,6 +43,8 @@ BASE_FEATURE(kPreconnectToSearch, +@@ -48,6 +48,8 @@ BASE_FEATURE(kPreconnectToSearch, BASE_FEATURE(kPreconnectToSearchWithPrivacyModeEnabled, "PreconnectToSearchWithPrivacyModeEnabled", base::FEATURE_DISABLED_BY_DEFAULT); @@ -210,7 +210,7 @@ diff --git a/chrome/browser/navigation_predictor/search_engine_preconnector.cc b +SET_CROMITE_FEATURE_DISABLED(kPreconnectToSearchWithPrivacyModeEnabled); } // namespace features - SearchEnginePreconnector::SearchEnginePreconnector( + WebContentVisibilityManager::WebContentVisibilityManager() diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/browser/policy/chrome_browser_policy_connector.cc --- a/chrome/browser/policy/chrome_browser_policy_connector.cc +++ b/chrome/browser/policy/chrome_browser_policy_connector.cc @@ -227,7 +227,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 -@@ -2403,9 +2403,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -2433,9 +2433,9 @@ bool AreFuturePoliciesEnabledByDefault() { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) { return true; } @@ -380,7 +380,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse #include "base/strings/utf_string_conversions.h" #include "base/task/task_traits.h" #include "base/task/thread_pool.h" -@@ -71,6 +72,7 @@ +@@ -72,6 +73,7 @@ #include "components/policy/core/common/policy_details.h" #include "components/policy/core/common/policy_logger.h" #include "components/policy/core/common/policy_pref_names.h" @@ -388,7 +388,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse #include "components/policy/core/common/policy_scheduler.h" #include "components/policy/core/common/policy_types.h" #include "components/policy/core/common/policy_utils.h" -@@ -209,6 +211,10 @@ void PolicyUIHandler::RegisterMessages() { +@@ -215,6 +217,10 @@ void PolicyUIHandler::RegisterMessages() { "exportPoliciesJSON", base::BindRepeating(&PolicyUIHandler::HandleExportPoliciesJson, base::Unretained(this))); @@ -399,7 +399,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse web_ui()->RegisterMessageCallback( "listenPoliciesUpdates", base::BindRepeating(&PolicyUIHandler::HandleListenPoliciesUpdates, -@@ -489,8 +495,102 @@ void PolicyUIHandler::SendPolicies() { +@@ -495,8 +501,102 @@ void PolicyUIHandler::SendPolicies() { "policies-updated", base::Value( policy_value_and_status_aggregator_->GetAggregatedPolicyNames()), @@ -507,7 +507,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser/ui/webui/policy/policy_ui_handler.h --- a/chrome/browser/ui/webui/policy/policy_ui_handler.h +++ b/chrome/browser/ui/webui/policy/policy_ui_handler.h -@@ -53,6 +53,8 @@ class PolicyUIHandler : public content::WebUIMessageHandler, +@@ -68,6 +68,8 @@ class PolicyUIHandler : public content::WebUIMessageHandler, private: void HandleExportPoliciesJson(const base::Value::List& args); @@ -519,7 +519,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd --- a/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd -@@ -374,7 +374,7 @@ +@@ -383,7 +383,7 @@ @@ -531,7 +531,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc --- a/components/commerce/core/commerce_feature_list.cc +++ b/components/commerce/core/commerce_feature_list.cc -@@ -62,56 +62,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() { +@@ -61,56 +61,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() { return *allowed_map; } @@ -588,7 +588,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } // namespace BASE_FEATURE(kCommerceAllowLocalImages, -@@ -396,16 +346,15 @@ const base::FeatureParam kRevertIconOnFailure{ +@@ -400,16 +350,15 @@ const base::FeatureParam kRevertIconOnFailure{ &kShoppingList, kRevertIconOnFailureParam, false}; bool IsPartnerMerchant(const GURL& url) { @@ -608,7 +608,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } bool IsCartDiscountFeatureEnabled() { -@@ -458,6 +407,7 @@ bool IsRegionLockedFeatureEnabled(const base::Feature& feature, +@@ -462,6 +411,7 @@ bool IsRegionLockedFeatureEnabled(const base::Feature& feature, const base::Feature& feature_region_launched, const std::string& country_code, const std::string& locale) { @@ -616,7 +616,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm bool flag_enabled = base::FeatureList::IsEnabled(feature); bool region_launched = base::FeatureList::IsEnabled(feature_region_launched) && -@@ -480,6 +430,7 @@ base::TimeDelta GetDiscountFetchDelay() { +@@ -484,6 +434,7 @@ base::TimeDelta GetDiscountFetchDelay() { } bool IsNoDiscountMerchant(const GURL& url) { @@ -624,7 +624,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm auto* pattern_from_component = commerce_heuristics::CommerceHeuristicsData::GetInstance() .GetNoDiscountMerchantPattern(); -@@ -491,4 +442,12 @@ bool IsNoDiscountMerchant(const GURL& url) { +@@ -495,4 +446,12 @@ bool IsNoDiscountMerchant(const GURL& url) { return RE2::PartialMatch(url.host_piece(), *pattern_from_component); } #endif @@ -970,7 +970,7 @@ diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc --- a/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc -@@ -92,6 +92,7 @@ BASE_FEATURE(kNtpCalendarModule, +@@ -93,6 +93,7 @@ BASE_FEATURE(kNtpCalendarModule, BASE_FEATURE(kNtpChromeCartModule, "NtpChromeCartModule", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1014,7 +1014,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser 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 -@@ -479,6 +479,7 @@ void GaiaAuthFetcher::StartListAccounts() { +@@ -482,6 +482,7 @@ void GaiaAuthFetcher::StartListAccounts() { } } })"); diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch index 9b16b243..971cb602 100644 --- a/build/patches/autofill-miscellaneous.patch +++ b/build/patches/autofill-miscellaneous.patch @@ -15,20 +15,20 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../ui/autofill/chrome_autofill_client.h | 1 - .../browser/android_autofill_client.cc | 11 ---- .../browser/android_autofill_client.h | 1 - - .../autofill_crowdsourcing_manager.cc | 66 ++----------------- + .../autofill_crowdsourcing_manager.cc | 63 ++----------------- .../autofill_crowdsourcing_manager.h | 2 - - .../browser/crowdsourcing/votes_uploader.cc | 6 -- + .../browser/crowdsourcing/votes_uploader.cc | 3 - .../browser/foundations/autofill_client.h | 4 -- .../browser/foundations/autofill_manager.cc | 11 ---- .../autofill/core/common/autofill_features.cc | 2 + - .../autofill/core/common/autofill_prefs.cc | 10 +-- + .../autofill/core/common/autofill_prefs.cc | 8 +-- .../password_generation_frame_helper.cc | 5 -- - 13 files changed, 12 insertions(+), 120 deletions(-) + 13 files changed, 11 insertions(+), 113 deletions(-) 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 -@@ -1058,10 +1058,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() { +@@ -1054,10 +1054,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() { autofill::AutofillCrowdsourcingManager* ChromePasswordManagerClient::GetAutofillCrowdsourcingManager() { @@ -42,7 +42,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 -@@ -378,15 +378,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -390,15 +390,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { ->GetURLLoaderFactoryForBrowserProcess(); } @@ -61,7 +61,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browser/ui/autofill/chrome_autofill_client.h --- a/chrome/browser/ui/autofill/chrome_autofill_client.h +++ b/chrome/browser/ui/autofill/chrome_autofill_client.h -@@ -106,7 +106,6 @@ class ChromeAutofillClient : public ContentAutofillClient, +@@ -107,7 +107,6 @@ class ChromeAutofillClient : public ContentAutofillClient, version_info::Channel GetChannel() const final; bool IsOffTheRecord() const final; scoped_refptr GetURLLoaderFactory() final; @@ -104,7 +104,7 @@ diff --git a/components/android_autofill/browser/android_autofill_client.h b/com diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc --- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc +++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc -@@ -487,33 +487,6 @@ std::optional GetUploadPayloadForApi( +@@ -492,33 +492,6 @@ std::optional GetUploadPayloadForApi( return std::move(payload); } @@ -138,7 +138,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci // Gets HTTP body payload for API POST request. std::optional GetAPIBodyPayload(std::string payload, RequestType type) { -@@ -545,15 +518,7 @@ std::optional GetAPIQueryPayload( +@@ -550,15 +523,7 @@ std::optional GetAPIQueryPayload( } std::string GetAPIKeyForUrl(version_info::Channel channel) { @@ -155,7 +155,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci } std::optional>& GetActiveExperiments() { -@@ -860,34 +825,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength( +@@ -865,31 +830,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength( std::tuple AutofillCrowdsourcingManager::GetRequestURLAndMethod( const FormRequestData& request_data) const { @@ -168,9 +168,6 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci - if (GetPayloadLength(request_data.payload) <= kMaxQueryGetSize) { - resource_id = request_data.payload; - method = "GET"; -- base::UmaHistogramBoolean(kUmaApiUrlIsTooLong, false); -- } else { -- base::UmaHistogramBoolean(kUmaApiUrlIsTooLong, true); - } - base::UmaHistogramBoolean(kUmaMethod, method != "GET"); - } @@ -209,15 +206,12 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci diff --git a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc b/components/autofill/core/browser/crowdsourcing/votes_uploader.cc --- a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc +++ b/components/autofill/core/browser/crowdsourcing/votes_uploader.cc -@@ -396,12 +396,6 @@ void VotesUploader::UploadVote( - non_empty_types.contains(CREDIT_CARD_NUMBER)) { - non_empty_types.insert(CREDIT_CARD_VERIFICATION_CODE); +@@ -403,9 +403,6 @@ void VotesUploader::UploadVote( + client_->GetUkmRecorder(), ukm_source_id, *submitted_form, + submission_timestamp); } - client_->GetCrowdsourcingManager().StartUploadRequest( -- /*upload_contents=*/EncodeUploadRequest(*submitted_form, non_empty_types, -- /*login_form_signature=*/{}, -- observed_submission), -- submitted_form->submission_source(), +- std::move(upload_contents), submitted_form->submission_source(), - /*is_password_manager_upload=*/false); } @@ -225,7 +219,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 -@@ -243,10 +243,6 @@ class AutofillClient { +@@ -248,10 +248,6 @@ class AutofillClient { // Returns the VotesUploader. virtual VotesUploader& GetVotesUploader() = 0; @@ -239,7 +233,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 -@@ -326,17 +326,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms) { +@@ -327,17 +327,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms) { driver().SendTypePredictionsToRenderer(queryable_forms); LogTypePredictionsAvailable(log_manager(), non_queryable_forms); LogTypePredictionsAvailable(log_manager(), queryable_forms); @@ -260,7 +254,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 -@@ -909,6 +909,8 @@ BASE_FEATURE(kAutofillUploadThrottling, +@@ -959,6 +959,8 @@ BASE_FEATURE(kAutofillUploadThrottling, "AutofillUploadThrottling", base::FEATURE_ENABLED_BY_DEFAULT); @@ -272,40 +266,37 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc -@@ -21,7 +21,7 @@ namespace prefs { +@@ -29,7 +29,7 @@ constexpr char kAutofillRanQuasiDuplicateExtraDeduplication[] = void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { // Synced prefs. Used for cross-device choices, e.g., credit card Autofill. registry->RegisterBooleanPref( -- prefs::kAutofillProfileEnabled, true, -+ prefs::kAutofillProfileEnabled, false, +- kAutofillProfileEnabled, true, ++ kAutofillProfileEnabled, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterIntegerPref( - prefs::kAutofillLastVersionDeduped, 0, -@@ -30,10 +30,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { - prefs::kAutofillHasSeenIban, false, + kAutofillLastVersionDeduped, 0, +@@ -38,10 +38,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { + kAutofillHasSeenIban, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( -- prefs::kAutofillCreditCardEnabled, true, -+ prefs::kAutofillCreditCardEnabled, false, +- kAutofillCreditCardEnabled, true, ++ kAutofillCreditCardEnabled, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( -- prefs::kAutofillPaymentCvcStorage, true, -+ prefs::kAutofillPaymentCvcStorage, false, +- kAutofillPaymentCvcStorage, true, ++ kAutofillPaymentCvcStorage, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( kAutofillPaymentCardBenefits, true, -@@ -77,9 +77,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -80,7 +80,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #endif // Deprecated prefs registered for migration. -- registry->RegisterBooleanPref(prefs::kAutofillEnabledDeprecated, true); -+ registry->RegisterBooleanPref(prefs::kAutofillEnabledDeprecated, false); - registry->RegisterBooleanPref(prefs::kAutofillOrphanRowsRemoved, false); -- registry->RegisterBooleanPref(prefs::kAutofillIbanEnabled, true); -+ registry->RegisterBooleanPref(prefs::kAutofillIbanEnabled, false); - registry->RegisterIntegerPref( - prefs::kAutofillLastVersionDisusedAddressesDeleted, 0); - registry->RegisterIntegerPref( +- registry->RegisterBooleanPref(kAutofillEnabledDeprecated, true); ++ registry->RegisterBooleanPref(kAutofillEnabledDeprecated, false); + registry->RegisterStringPref(kAutofillAblationSeedPref, ""); + registry->RegisterBooleanPref(kAutofillRanQuasiDuplicateExtraDeduplication, + false); diff --git a/components/password_manager/core/browser/password_generation_frame_helper.cc b/components/password_manager/core/browser/password_generation_frame_helper.cc --- a/components/password_manager/core/browser/password_generation_frame_helper.cc +++ b/components/password_manager/core/browser/password_generation_frame_helper.cc diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index b9648a8e..ceca2aff 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -426,7 +426,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 -@@ -764,3 +764,5 @@ if (is_component_build) { +@@ -792,3 +792,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 e8329174..05b1a4c3 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -5,32 +5,33 @@ Subject: disable WebView variations support Original License: MIT - https://spdx.org/licenses/MIT.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../com/android/webview/chromium/WebViewChromiumAwInit.java | 6 ------ - .../webview/chromium/WebViewChromiumFactoryProvider.java | 4 ---- - 2 files changed, 10 deletions(-) + .../android/webview/chromium/WebViewChromiumAwInit.java | 7 ------- + .../webview/chromium/WebViewChromiumFactoryProvider.java | 4 ---- + 2 files changed, 11 deletions(-) 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 -@@ -342,12 +342,6 @@ public class WebViewChromiumAwInit { +@@ -400,13 +400,6 @@ public class WebViewChromiumAwInit { + } - AwBrowserProcess.configureChildProcessLauncher(); - -- // finishVariationsInitLocked() must precede native initialization so the seed is -- // available when AwFeatureListCreator::SetUpFieldTrials() runs. -- if (!FastVariationsSeedSafeModeAction.hasRun()) { -- finishVariationsInitLocked(); -- } + AwBrowserProcess.configureChildProcessLauncher(); - - AwBrowserProcess.start(); - - // TODO(crbug.com/332706093): See if this can be moved before loading native. +- // finishVariationsInitLocked() must precede native initialization so +- // the seed is available when AwFeatureListCreator::SetUpFieldTrials() +- // runs. +- if (!FastVariationsSeedSafeModeAction.hasRun()) { +- finishVariationsInitLocked(); +- } + }); + tasks.addLast(AwBrowserProcess::start); + tasks.addLast( 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 -@@ -591,10 +591,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { - } - } +@@ -626,10 +626,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { + mAwInit.setStartupTaskExperimentEnabled(enableStartupTasksExperiment); + AwBrowserMainParts.setWebViewStartupTasksLogicIsEnabled(enableStartupTasksExperiment); - if (!FastVariationsSeedSafeModeAction.hasRun()) { - mAwInit.startVariationsInit(); diff --git a/build/patches/do-not-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch index 3db85b51..fc30ba05 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 -@@ -2473,7 +2473,7 @@ template("run_mksnapshot") { +@@ -2531,7 +2531,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/exit-on-failure-of-inclusion.patch b/build/patches/exit-on-failure-of-inclusion.patch index 631cad9c..8df2c7f9 100644 --- a/build/patches/exit-on-failure-of-inclusion.patch +++ b/build/patches/exit-on-failure-of-inclusion.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/installer/linux/debian/build.sh b/chrome/installer/linux/debian/build.sh --- a/chrome/installer/linux/debian/build.sh +++ b/chrome/installer/linux/debian/build.sh -@@ -246,15 +246,15 @@ DEB_CHANGELOG="${TMPFILEDIR}/changelog" +@@ -250,15 +250,15 @@ DEB_CHANGELOG="${TMPFILEDIR}/changelog" DEB_FILES="${TMPFILEDIR}/files" DEB_CONTROL="${TMPFILEDIR}/control" 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 3a2de062..d6cd722f 100644 --- a/build/patches/eyeo-133.0.6943.49-android_api.patch +++ b/build/patches/eyeo-133.0.6943.49-android_api.patch @@ -105,7 +105,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn } android_resources("java_overlay_resources") { -@@ -532,6 +536,7 @@ if (current_toolchain == default_toolchain) { +@@ -533,6 +537,7 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/xsurface:java", "//chrome/browser/xsurface_provider:dependency_provider_impl_java", "//chrome/browser/xsurface_provider:java", @@ -113,7 +113,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/android_autofill/browser:java", "//components/autofill/android:autofill_features_java", "//components/autofill/android:autofill_java", -@@ -1331,6 +1336,7 @@ if (current_toolchain == default_toolchain) { +@@ -1336,6 +1341,7 @@ if (current_toolchain == 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", @@ -121,7 +121,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", -@@ -1399,6 +1405,7 @@ if (current_toolchain == default_toolchain) { +@@ -1405,6 +1411,7 @@ if (current_toolchain == default_toolchain) { "//chrome/test/data/translate/", "//chrome/test/data/webauthn/", "//chrome/test/media_router/resources/", @@ -142,7 +142,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" ] -@@ -3290,6 +3303,7 @@ group("jni_headers") { +@@ -3291,6 +3304,7 @@ group("jni_headers") { "//chrome/browser/ui/messages/android:jni_headers", "//chrome/browser/util:jni_headers", "//chrome/browser/webauthn/android:jni_headers", @@ -163,7 +163,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java import("//content/public/common/features.gni") -@@ -54,6 +57,7 @@ chrome_java_sources = [ +@@ -55,6 +58,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", @@ -215,7 +215,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 -@@ -3251,6 +3251,10 @@ static_library("browser") { +@@ -3282,6 +3282,10 @@ static_library("browser") { "touch_to_fill/password_manager/touch_to_fill_controller_webauthn_delegate.h", ] @@ -275,7 +275,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 -@@ -1003,6 +1003,12 @@ static_library("ui") { +@@ -1011,6 +1011,12 @@ static_library("ui") { deps += [ "//chrome/browser/search/background: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 9d7ae27b..e1542357 100644 --- a/build/patches/eyeo-133.0.6943.49-android_settings.patch +++ b/build/patches/eyeo-133.0.6943.49-android_settings.patch @@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn } android_resources("java_overlay_resources") { -@@ -776,6 +780,10 @@ if (current_toolchain == default_toolchain) { +@@ -777,6 +781,10 @@ if (current_toolchain == default_toolchain) { "//url/mojom:url_mojom_origin_java", ] diff --git a/build/patches/eyeo-133.0.6943.49-base.patch b/build/patches/eyeo-133.0.6943.49-base.patch index 3ab554e1..84c030e4 100644 --- a/build/patches/eyeo-133.0.6943.49-base.patch +++ b/build/patches/eyeo-133.0.6943.49-base.patch @@ -4,8 +4,7 @@ Subject: eyeo Browser Ad filtering Solution: Base Module Based on Chromium 133.0.6943.49 --- - BUILD.gn | 4 + - DEPS | 12 + + DEPS | 10 + LICENSE | 15 + README.md | 12 + base/threading/thread_restrictions.h | 9 + @@ -366,7 +365,7 @@ Based on Chromium 133.0.6943.49 tools/eyeo/update_git_grafts.py | 138 ++ tools/gritsettings/resource_ids.spec | 12 + .../histograms/metadata/extensions/enums.xml | 8 +- - 362 files changed, 48854 insertions(+), 8 deletions(-) + 361 files changed, 48848 insertions(+), 8 deletions(-) create mode 100644 components/adblock/BUILD.gn create mode 100644 components/adblock/CHANGELOG.md create mode 100644 components/adblock/LICENSE @@ -698,39 +697,10 @@ Based on Chromium 133.0.6943.49 create mode 100644 tools/eyeo/git-grafts.txt create mode 100755 tools/eyeo/update_git_grafts.py -diff --git a/BUILD.gn b/BUILD.gn ---- a/BUILD.gn -+++ b/BUILD.gn -@@ -1,6 +1,9 @@ - # Copyright 2013 The Chromium Authors - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -+# -+# This source code is a part of eyeo Chromium SDK. -+# Use of this source code is governed by the GPLv3 that can be found in the components/adblock/LICENSE file. - - # This is the root build file for GN. GN will start processing by loading this - # file, and recursively load all dependencies until all dependencies are either -@@ -440,6 +443,7 @@ group("gn_all") { - "//chrome/browser/android/examples/partner_browser_customizations_provider:partner_browser_customizations_example_apk", - "//content/shell/android:content_shell_test_apk", - ] -+ - } - - if (enable_chrome_android_internal) { diff --git a/DEPS b/DEPS --- a/DEPS +++ b/DEPS -@@ -168,6 +168,7 @@ vars = { - # flag is set True. - 'checkout_wpr_archives': False, - -+ - # By default, do not check out WebKit for iOS, as it is not needed unless - # running against ToT WebKit rather than system WebKit. This can be overridden - # e.g. with custom_vars. -@@ -262,6 +263,7 @@ vars = { +@@ -277,6 +277,7 @@ vars = { 'download_libvpx_testdata': False, 'android_git': 'https://android.googlesource.com', @@ -738,9 +708,9 @@ diff --git a/DEPS b/DEPS 'aomedia_git': 'https://aomedia.googlesource.com', 'boringssl_git': 'https://boringssl.googlesource.com', 'chrome_git': 'https://chrome-internal.googlesource.com', -@@ -502,6 +504,11 @@ vars = { +@@ -529,6 +530,11 @@ vars = { # and whatever else without interference from each other. - 'llvm_libc_revision': 'a02de4d0d992b110c8b180fdec91258e7b60265f', + 'compiler_rt_revision': 'bc2b30185219a2defe3c8a3b45f95a11386a7f6f', + # Three lines of non-changing comments so that + # the commit queue can handle CLs rolling feed @@ -749,8 +719,8 @@ diff --git a/DEPS b/DEPS + # If you change this, also update the libc++ revision in # //buildtools/deps_revisions.gni. - 'libcxx_revision': '7f8b68f91ca8b192375f5e71cd81fb3ed9650ef3', -@@ -1460,6 +1467,10 @@ deps = { + 'libcxx_revision': '449310fe2e37834a7e62972d2a690cade2ef596b', +@@ -1500,6 +1506,10 @@ deps = { 'condition': 'checkout_android and checkout_src_internal', }, @@ -759,16 +729,8 @@ diff --git a/DEPS b/DEPS + }, + 'src/docs/website': { - 'url': Var('chromium_git') + '/website.git' + '@' + '441c86221443f48e818335d51f84cf1880c35aa4', + 'url': Var('chromium_git') + '/website.git' + '@' + '929dd3e6d02aac1f46653d03b2a644e2873a3bbb', }, -@@ -1589,6 +1600,7 @@ deps = { - 'url': Var('chromium_git') + '/external/github.com/google/Accessibility-Test-Framework-for-Android.git' + '@' + '4a764c690353ea136c82f1a696a70bf38d1ef5fe', - }, - -+ - 'src/third_party/android_build_tools/protoc/cipd': { - 'packages': [ - { diff --git a/LICENSE b/LICENSE --- a/LICENSE +++ b/LICENSE @@ -832,9 +794,9 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri +class SubscriptionServiceFactory; +} // namespace adblock namespace ash { - class BrowserDataBackMigrator; class LoginEventRecorder; -@@ -660,6 +667,8 @@ class BASE_EXPORT ScopedAllowBlocking { + class StartupCustomizationDocument; +@@ -659,6 +666,8 @@ class BASE_EXPORT ScopedAllowBlocking { friend class ::BrowserStateDirectoryBuilder; #endif @@ -875,7 +837,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn "//components/affiliations/core/browser:unit_tests", "//components/aggregation_service:unit_tests", "//components/apdu:unit_tests", -@@ -893,6 +897,7 @@ test("components_unittests") { +@@ -907,6 +911,7 @@ test("components_unittests") { repack("components_tests_pak") { sources = [ @@ -883,7 +845,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn "$root_gen_dir/components/arc/input_overlay_resources.pak", "$root_gen_dir/components/autofill/core/browser/geo/autofill_address_rewriter_resources.pak", "$root_gen_dir/components/components_resources.pak", -@@ -909,6 +914,7 @@ repack("components_tests_pak") { +@@ -923,6 +928,7 @@ repack("components_tests_pak") { # TODO(b/207518736): Input overlay resources will be changed to proto soon, # thus not going to move this resource pak to under ash. "//chromeos/ash/experiences/arc/input_overlay/resources:resources_grit", @@ -891,7 +853,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn "//components/autofill/core/browser:autofill_address_rewriter_resources", "//components/metrics:server_urls_grd", "//components/omnibox/resources:omnibox_pedal_synonyms", -@@ -1010,6 +1016,7 @@ if (use_blink) { +@@ -1024,6 +1030,7 @@ if (use_blink) { deps = [ "//base", "//base/test:test_support", @@ -899,7 +861,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn "//components/autofill/content/browser", "//components/autofill/content/browser:browser_tests", "//components/autofill/content/renderer", -@@ -1219,6 +1226,9 @@ if (use_blink) { +@@ -1233,6 +1240,9 @@ if (use_blink) { deps = [ "//base", @@ -50302,7 +50264,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow #include "content/browser/loader/navigation_url_loader_impl.h" #include -@@ -1212,7 +1216,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( +@@ -1247,7 +1251,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( LogQueueTimeHistogram("Navigation.QueueTime.OnReceiveRedirect", resource_request_->is_outermost_main_frame); net::Error error = net::OK; @@ -50325,7 +50287,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" -@@ -3464,6 +3468,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( +@@ -3476,6 +3480,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( std::move(callback)); } @@ -50352,7 +50314,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_ -@@ -495,6 +499,10 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -499,6 +503,10 @@ class CONTENT_EXPORT RenderFrameHostImpl const std::u16string& method_name, base::Value::List arguments, JavaScriptResultCallback callback) override; @@ -50377,7 +50339,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_ -@@ -552,6 +556,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, +@@ -550,6 +554,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, virtual void AddMessageToConsole(blink::mojom::ConsoleMessageLevel level, const std::string& message) = 0; @@ -50426,7 +50388,7 @@ diff --git a/content/public/test/fake_local_frame.cc b/content/public/test/fake_ #include "content/public/test/fake_local_frame.h" -@@ -95,6 +99,9 @@ void FakeLocalFrame::RequestVideoFrameAtWithBoundsHint( +@@ -97,6 +101,9 @@ void FakeLocalFrame::RequestVideoFrameAtWithBoundsHint( void FakeLocalFrame::PluginActionAt(const gfx::Point& location, blink::mojom::PluginActionType action) {} @@ -50450,7 +50412,7 @@ diff --git a/content/public/test/fake_local_frame.h b/content/public/test/fake_l #ifndef CONTENT_PUBLIC_TEST_FAKE_LOCAL_FRAME_H_ #define CONTENT_PUBLIC_TEST_FAKE_LOCAL_FRAME_H_ -@@ -78,6 +82,7 @@ class FakeLocalFrame : public blink::mojom::LocalFrame { +@@ -79,6 +83,7 @@ class FakeLocalFrame : public blink::mojom::LocalFrame { RequestVideoFrameAtWithBoundsHintCallback callback) override; void PluginActionAt(const gfx::Point& location, blink::mojom::PluginActionType action) override; @@ -50547,7 +50509,7 @@ diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_ #include "content/shell/app/shell_main_delegate.h" -@@ -30,7 +34,7 @@ +@@ -31,7 +35,7 @@ #include "content/public/common/main_function_params.h" #include "content/public/common/url_constants.h" #include "content/shell/app/shell_crash_reporter_client.h" @@ -50952,7 +50914,7 @@ diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blin module blink.mojom; -@@ -968,6 +972,10 @@ interface LocalFrame { +@@ -972,6 +976,10 @@ interface LocalFrame { // the given point in the view coordinate space. PluginActionAt(gfx.mojom.Point location, blink.mojom.PluginActionType action); @@ -51006,7 +50968,7 @@ diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_ #include "third_party/blink/renderer/core/dom/events/event_target.h" #include -@@ -867,7 +871,10 @@ bool EventTarget::dispatchEventForBindings(Event* event, +@@ -881,7 +885,10 @@ bool EventTarget::dispatchEventForBindings(Event* event, if (!GetExecutionContext()) return false; @@ -51121,7 +51083,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_MOJO_HANDLER_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LOCAL_FRAME_MOJO_HANDLER_H_ -@@ -112,6 +116,7 @@ class LocalFrameMojoHandler +@@ -113,6 +117,7 @@ class LocalFrameMojoHandler void AddMessageToConsole(mojom::blink::ConsoleMessageLevel level, const WTF::String& message, bool discard_duplicates) final; @@ -51143,7 +51105,7 @@ diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/ #include "third_party/blink/renderer/core/html/html_element.h" #include "base/containers/enum_set.h" -@@ -2414,7 +2418,13 @@ void HTMLElement::setSpellcheck(bool enable) { +@@ -2419,7 +2423,13 @@ void HTMLElement::setSpellcheck(bool enable) { } void HTMLElement::click() { @@ -51822,7 +51784,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 -@@ -1109,6 +1113,14 @@ +@@ -1137,6 +1141,14 @@ "components/user_scripts/browser/resources/browser_resources.grd": { "includes": [7620], }, @@ -51860,7 +51822,7 @@ diff --git a/tools/metrics/histograms/metadata/extensions/enums.xml b/tools/metr -@@ -3196,6 +3200,8 @@ Called by update_extension_permission.py.--> +@@ -3202,6 +3206,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 270c03f0..96c468c6 100644 --- a/build/patches/eyeo-133.0.6943.49-chrome_integration.patch +++ b/build/patches/eyeo-133.0.6943.49-chrome_integration.patch @@ -106,7 +106,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #ifdef UNSAFE_BUFFERS_BUILD // TODO(crbug.com/40285824): Remove this and convert code to safer constructs. -@@ -42,6 +46,7 @@ +@@ -43,6 +47,7 @@ #include "base/timer/timer.h" #include "base/trace_event/trace_event_impl.h" #include "build/build_config.h" @@ -145,7 +145,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "affiliations/affiliation_service_factory.cc", "affiliations/affiliation_service_factory.h", "after_startup_task_utils.cc", -@@ -2024,6 +2029,7 @@ static_library("browser") { +@@ -2050,6 +2055,7 @@ static_library("browser") { "//chrome/common/notifications", "//chrome/installer/util:with_no_strings", "//chrome/services/speech/buildflags", @@ -153,7 +153,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//components/assist_ranker", "//components/autofill/core/browser", "//components/back_forward_cache", -@@ -3245,6 +3251,7 @@ static_library("browser") { +@@ -3276,6 +3282,7 @@ static_library("browser") { "touch_to_fill/password_manager/touch_to_fill_controller_webauthn_delegate.h", ] @@ -161,7 +161,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn deps += [ ":delta_file_proto", ":profile_token", -@@ -8313,6 +8320,7 @@ static_library("browser_public_dependencies") { +@@ -8359,6 +8366,7 @@ static_library("browser_public_dependencies") { "//chrome/services/file_util/public/mojom", "//components/account_id", "//components/autofill/content/browser", @@ -3473,7 +3473,7 @@ diff --git a/chrome/browser/client_hints/client_hints_browsertest.cc b/chrome/br #include "components/client_hints/common/client_hints.h" -@@ -661,7 +665,12 @@ class ClientHintsBrowserTest : public policy::PolicyTest { +@@ -660,7 +664,12 @@ class ClientHintsBrowserTest : public policy::PolicyTest { std::unique_ptr feature_list(new base::FeatureList); // Force-enable the ClientHintsFormFactors feature, so that the header is // represented in the various header counts. @@ -3500,7 +3500,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") -@@ -271,6 +274,7 @@ source_set("extensions") { +@@ -300,6 +303,7 @@ source_set("extensions") { "window_controller_list.h", "window_controller_list_observer.h", ] @@ -3508,7 +3508,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", -@@ -725,6 +729,7 @@ source_set("extensions") { +@@ -753,6 +757,7 @@ source_set("extensions") { ] } @@ -3562,15 +3562,15 @@ 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" -@@ -21,6 +25,7 @@ - #include "chrome/browser/ui/browser.h" +@@ -22,6 +26,7 @@ + #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" +#include "components/adblock/core/features.h" #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/observers/ad_metrics/ad_intervention_browser_test_utils.h" -@@ -1499,7 +1504,7 @@ class AdsPageLoadMetricsObserverResourceBrowserTest +@@ -1501,7 +1506,7 @@ class AdsPageLoadMetricsObserverResourceBrowserTest {heavy_ad_intervention::features::kHeavyAdIntervention, {}}, {heavy_ad_intervention::features::kHeavyAdPrivacyMitigations, {{"host-threshold", "3"}}}}, @@ -3598,8 +3598,8 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU "//chrome/common/pref_names.h", + "//components/adblock/core/common/adblock_prefs.cc", "//components/autofill/core/common/autofill_prefs.h", + "//components/bookmarks/common/bookmark_pref_names.h", "//components/commerce/core/pref_names.h", - "//components/dom_distiller/core/pref_names.h", 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 @@ -3649,7 +3649,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" -@@ -230,6 +234,15 @@ +@@ -236,6 +240,15 @@ #include "chrome/browser/webid/federated_identity_permission_context_factory.h" #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" @@ -3665,7 +3665,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" -@@ -874,6 +887,15 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -883,6 +896,15 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -3702,7 +3702,7 @@ diff --git a/chrome/browser/profiles/profile_keyed_service_browsertest.cc b/chro }; // clang-format on -@@ -829,6 +840,13 @@ IN_PROC_BROWSER_TEST_F(ProfileKeyedServiceGuestBrowserTest, +@@ -845,6 +856,13 @@ IN_PROC_BROWSER_TEST_F(ProfileKeyedServiceGuestBrowserTest, "ZeroSuggestCacheServiceFactory", #endif // !BUILDFLAG(IS_CHROMEOS) @@ -3727,24 +3727,24 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. +# This source code is a part of eyeo Chromium SDK. +# Use of this source code is governed by the GPLv3 that can be found in the components/adblock/LICENSE file. - import("//build/config/chromeos/ui_mode.gni") import("//chrome/browser/buildflags.gni") -@@ -270,6 +273,7 @@ group("dev_ui_resources") { + import("//chrome/common/features.gni") +@@ -278,6 +281,7 @@ group("dev_ui_resources") { "predictors:resources", "privacy_sandbox/internals:resources", "usb_internals:resources", + "//components/adblock/content/resources/adblock_internals:resources", "//components/commerce/core/internals/resources", + "//components/data_sharing/data_sharing_internals/resources", "//components/download/resources/download_internals:resources", - "//components/history_clusters/history_clusters_internals/resources", -@@ -335,6 +339,7 @@ repack("dev_ui_paks") { +@@ -344,6 +348,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", + "$root_gen_dir/components/adblock_internals_resources.pak", "$root_gen_dir/components/commerce_internals_resources.pak", + "$root_gen_dir/components/data_sharing_internals_resources.pak", "$root_gen_dir/components/dev_ui_components_resources.pak", - "$root_gen_dir/components/download_internals_resources.pak", diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc @@ -3759,7 +3759,7 @@ diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/ #include "components/safe_browsing/content/browser/safe_browsing_blocking_page.h" -@@ -70,6 +74,7 @@ +@@ -68,6 +72,7 @@ #include "chrome/common/url_constants.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" @@ -3767,7 +3767,7 @@ diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/ #include "components/enterprise/connectors/core/common.h" #include "components/enterprise/connectors/core/connectors_prefs.h" #include "components/google/core/common/google_util.h" -@@ -682,7 +687,7 @@ class SafeBrowsingBlockingPageBrowserTest +@@ -357,7 +362,7 @@ class SafeBrowsingBlockingPageBrowserTest scoped_feature_list_.InitWithFeaturesAndParameters( {tag_and_attribute, add_warning_shown_timestamp_csbrrs, create_warning_shown_csbrrs, abusive_notification_revocation}, @@ -3790,7 +3790,7 @@ diff --git a/chrome/browser/sessions/session_restore_browsertest.cc b/chrome/bro #ifdef UNSAFE_BUFFERS_BUILD // TODO(crbug.com/40285824): Remove this and convert code to safer constructs. -@@ -4445,8 +4449,10 @@ INSTANTIATE_TEST_SUITE_P( +@@ -4400,8 +4404,10 @@ INSTANTIATE_TEST_SUITE_P( SessionRestoreStaleSessionCookieDeletionTest, testing::Bool()); @@ -3847,7 +3847,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") -@@ -432,6 +435,7 @@ static_library("ui") { +@@ -434,6 +437,7 @@ static_library("ui") { "//chrome/services/media_gallery_util/public/mojom", "//components/access_code_cast/common:metrics", "//components/account_id", @@ -3915,7 +3915,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" -@@ -336,6 +342,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -339,6 +345,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { optimization_guide_decider); } } @@ -3928,7 +3928,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); -@@ -366,6 +378,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -376,6 +388,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { ip_protection::IpProtectionStatus::CreateForWebContents(web_contents); } #endif // BUILDFLAG(IS_ANDROID) @@ -3949,15 +3949,15 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni import("//ash/ambient/resources/resources.gni") import("//build/config/chrome_build.gni") -@@ -115,6 +118,7 @@ template("chrome_extra_paks") { - "$root_gen_dir/chrome/data_sharing_internals_resources.pak", +@@ -113,6 +116,7 @@ template("chrome_extra_paks") { + "$root_gen_dir/chrome/common_resources.pak", "$root_gen_dir/chrome/saved_tab_groups_unsupported_resources.pak", "$root_gen_dir/chrome/segmentation_internals_resources.pak", + "$root_gen_dir/components/adblock/core/resources/adblock_resources.pak", "$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", -@@ -150,6 +154,7 @@ template("chrome_extra_paks") { +@@ -148,6 +152,7 @@ template("chrome_extra_paks") { "//chrome/browser/resources:resources", "//chrome/browser/resources/saved_tab_groups_unsupported:resources", "//chrome/common:resources", @@ -3991,7 +3991,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") -@@ -1641,6 +1644,7 @@ if (is_android) { +@@ -1689,6 +1692,7 @@ if (is_android) { "//chrome/test/data/webui:browser_tests", "//chrome/test/data/webui:interactive_ui_tests", "//chrome/test/data/webui:resources", @@ -3999,7 +3999,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:common", -@@ -2231,6 +2235,7 @@ if (!is_android) { +@@ -2282,6 +2286,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", @@ -4007,7 +4007,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", -@@ -2734,6 +2739,7 @@ if (!is_android) { +@@ -2783,6 +2788,7 @@ if (!is_android) { "//chrome/renderer/resources/extensions/", "//chrome/test/data/cart/", "//components/test/data/ad_tagging/", @@ -4015,8 +4015,8 @@ 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", -@@ -2822,6 +2828,9 @@ if (!is_android) { - "../browser/accessibility/interstitial_accessibility_browsertest.cc", +@@ -2871,6 +2877,9 @@ if (!is_android) { + "../browser/accessibility/live_translate_controller_browsertest.cc", "../browser/accessibility/page_colors_browsertest.cc", "../browser/accessibility/phrase_segmentation/dependency_parser_model_loader_browsertest.cc", + "../browser/adblock/test/adblock_frame_hierarchy_builder_browsertest.cc", @@ -4025,7 +4025,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", -@@ -4374,6 +4383,7 @@ if (!is_android) { +@@ -4422,6 +4431,7 @@ if (!is_android) { ] } @@ -4033,7 +4033,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn if (is_chromeos) { deps += [ "//chromeos/ash/components/network/portal_detector:test_support" ] -@@ -5856,6 +5866,7 @@ test("unit_tests") { +@@ -5917,6 +5927,7 @@ test("unit_tests") { sources = [ # All unittests in browser, common, renderer and service. "../browser/about_flags_unittest.cc", @@ -4041,7 +4041,7 @@ 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", -@@ -6515,6 +6526,8 @@ test("unit_tests") { +@@ -6589,6 +6600,8 @@ test("unit_tests") { "//chrome/common/themes:unit_tests", "//chrome/services/file_util:unit_tests", "//components/account_id", @@ -4050,7 +4050,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//components/affiliations/core/browser:test_support", "//components/assist_ranker/proto", "//components/autofill/content/browser:test_support", -@@ -10319,6 +10332,7 @@ if (!is_android) { +@@ -10409,6 +10422,7 @@ if (!is_android) { "//chrome/browser:test_support_ui", "//chrome/browser/ui/exclusive_access", "//chrome/browser/ui/views/side_panel", @@ -4072,7 +4072,7 @@ diff --git a/chrome/test/base/in_process_browser_test.cc b/chrome/test/base/in_p #include "chrome/test/base/in_process_browser_test.h" #include -@@ -156,6 +160,10 @@ +@@ -155,6 +159,10 @@ #include "ui/views/widget/widget.h" #endif @@ -4083,7 +4083,7 @@ diff --git a/chrome/test/base/in_process_browser_test.cc b/chrome/test/base/in_p namespace { #if BUILDFLAG(IS_CHROMEOS) -@@ -615,8 +623,22 @@ void InProcessBrowserTest::CreatedBrowserMainParts( +@@ -595,8 +603,22 @@ void InProcessBrowserTest::CreatedBrowserMainParts( void InProcessBrowserTest::SelectFirstBrowser() { const BrowserList* browser_list = BrowserList::GetInstance(); 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 86b3ae2e..3a5decf2 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 -@@ -729,6 +729,17 @@ source_set("extensions") { +@@ -757,6 +757,17 @@ source_set("extensions") { ] } @@ -103,7 +103,7 @@ diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/ import("//chrome/common/extensions/api/api_sources.gni") import("//chrome/common/features.gni") -@@ -133,6 +136,7 @@ function_registration("api_registration") { +@@ -134,6 +137,7 @@ function_registration("api_registration") { # include generated headers from these targets. # TODO(brettw) this should be made unnecessary if possible. "//chrome/common/extensions/api", @@ -2138,7 +2138,7 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac #include "chrome/browser/extensions/api/cookies/cookies_api.h" #include "chrome/browser/extensions/api/developer_private/developer_private_api.h" -@@ -15,11 +19,13 @@ +@@ -15,12 +19,14 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h" @@ -2148,11 +2148,12 @@ 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" // nogncheck #include "chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h" + #include "chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_event_router.h" +#include "chrome/browser/extensions/api/eyeo_filtering_private/eyeo_filtering_private_api.h" #include "chrome/browser/extensions/api/font_settings/font_settings_api.h" #include "chrome/browser/extensions/api/history/history_api.h" #include "chrome/browser/extensions/api/identity/identity_api.h" -@@ -83,6 +89,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { +@@ -84,6 +90,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { #if BUILDFLAG(ENABLE_EXTENSIONS) extensions::ActivityLogAPI::GetFactoryInstance(); @@ -2160,10 +2161,10 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac extensions::AutofillPrivateEventRouterFactory::GetInstance(); extensions::BluetoothLowEnergyAPI::GetFactoryInstance(); extensions::BookmarksAPI::GetFactoryInstance(); -@@ -93,6 +100,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { - #if BUILDFLAG(IS_CHROMEOS) +@@ -95,6 +102,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { extensions::DocumentScanAPIHandler::GetFactoryInstance(); #endif + extensions::EnterpriseReportingPrivateEventRouterFactory::GetInstance(); + extensions::EyeoFilteringPrivateAPI::GetFactoryInstance(); extensions::FontSettingsAPI::GetFactoryInstance(); extensions::HistoryAPI::GetFactoryInstance(); @@ -3610,7 +3611,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext // See chrome/common/extensions/api/_features.md to understand this file, as @@ -65,6 +69,16 @@ "dependencies": ["permission:experimentalAiData"], - "channel": "dev" + "channel": "beta" }, + "adblockPrivate": [{ + "dependencies": ["permission:adblockPrivate"], @@ -3625,7 +3626,7 @@ diff --git a/chrome/common/extensions/api/_api_features.json b/chrome/common/ext "app": { "blocklist": [ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice -@@ -526,6 +540,14 @@ +@@ -529,6 +543,14 @@ "channel": "stable", "contexts": [] }, @@ -4162,7 +4163,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 -@@ -3762,6 +3762,20 @@ if (!is_android) { +@@ -3815,6 +3815,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 49994eb8..f13284e0 100644 --- a/build/patches/kill-Location-fall-back-to-system.patch +++ b/build/patches/kill-Location-fall-back-to-system.patch @@ -48,21 +48,21 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge diff --git a/services/device/public/cpp/device_features.cc b/services/device/public/cpp/device_features.cc --- a/services/device/public/cpp/device_features.cc +++ b/services/device/public/cpp/device_features.cc -@@ -64,6 +64,7 @@ const base::FeatureParam kWinSystemLocationPermissionPollingParam{ - BASE_FEATURE(kLocationProviderManager, +@@ -71,6 +71,7 @@ BASE_FEATURE(kLocationProviderManager, "LocationProviderManager", base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_MAC) +SET_CROMITE_FEATURE_DISABLED(kLocationProviderManager); #if BUILDFLAG(IS_CHROMEOS) // Enables crash key logging for USB device open operations on ChromeOS. See -@@ -105,7 +106,7 @@ const base::FeatureParam::Option +@@ -119,7 +120,7 @@ const base::FeatureParam const base::FeatureParam kLocationProviderManagerParam{ &kLocationProviderManager, "LocationProviderManagerMode", - device::mojom::LocationProviderManagerMode::kNetworkOnly, + device::mojom::LocationProviderManagerMode::kPlatformOnly, &location_provider_manager_mode_options}; + #endif // BUILDFLAG(IS_MAC) - bool IsOsLevelGeolocationPermissionSupportEnabled() { -- diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 82648b0a..d984ccbb 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 -@@ -1295,8 +1295,6 @@ static_library("browser") { +@@ -1313,8 +1313,6 @@ static_library("browser") { "profiles/keep_alive/scoped_profile_keep_alive.h", "profiles/off_the_record_profile_impl.cc", "profiles/off_the_record_profile_impl.h", diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index d1023b7e..81a7646b 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -173,7 +173,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 -@@ -2096,9 +2096,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2104,9 +2104,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. diff --git a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch index 46d8da58..2c9cdf5d 100644 --- a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch +++ b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch @@ -54,7 +54,7 @@ diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc diff --git a/rlz/lib/lib_values.cc b/rlz/lib/lib_values.cc --- a/rlz/lib/lib_values.cc +++ b/rlz/lib/lib_values.cc -@@ -40,7 +40,6 @@ const char kSetDccResponseVariable[] = "set_dcc"; +@@ -45,7 +45,6 @@ const char kSetDccResponseVariable[] = "set_dcc"; // const char kFinancialPingPath[] = "/tools/pso/ping"; diff --git a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index ce8ec860..69dc5cff 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 -@@ -113,7 +113,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -114,7 +114,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 288d2bc9..0ee71968 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -93,7 +93,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 -@@ -896,10 +896,6 @@ static_library("browser") { +@@ -908,10 +908,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", @@ -104,7 +104,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", -@@ -908,10 +904,6 @@ static_library("browser") { +@@ -920,10 +916,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", @@ -115,7 +115,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", -@@ -1563,8 +1555,6 @@ static_library("browser") { +@@ -1579,8 +1571,6 @@ static_library("browser") { "supervised_user/classify_url_navigation_throttle.h", "supervised_user/supervised_user_browser_utils.cc", "supervised_user/supervised_user_browser_utils.h", @@ -124,7 +124,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", -@@ -1747,10 +1737,7 @@ static_library("browser") { +@@ -1769,10 +1759,7 @@ static_library("browser") { "//chrome/browser/content_settings:impl", "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -135,14 +135,14 @@ 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", -@@ -1829,7 +1816,6 @@ static_library("browser") { +@@ -1855,7 +1842,6 @@ static_library("browser") { # New dependencies inside of //chrome/browser that generate header files # should be added to browser_generated_files. ":browser_public_dependencies", - "//chrome/browser/google", "//chrome/browser/headless", "//chrome/browser/profiles", - "//chrome/browser/resource_coordinator:tab_lifecycle_observer", + "//chrome/browser/ui/tabs:tab_enums", diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browser/android/metrics/uma_session_stats.cc --- a/chrome/browser/android/metrics/uma_session_stats.cc +++ b/chrome/browser/android/metrics/uma_session_stats.cc @@ -166,7 +166,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 -@@ -1227,7 +1227,6 @@ BrowserProcessImpl::component_updater() { +@@ -1239,7 +1239,6 @@ BrowserProcessImpl::component_updater() { std::make_unique(); std::string brand; @@ -204,7 +204,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 -@@ -2979,7 +2979,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2990,7 +2990,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( switches::kForcePNaClSubzero, #endif switches::kForceUIDirection, @@ -212,7 +212,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch switches::kJavaScriptHarmony, switches::kEnableExperimentalWebAssemblyFeatures, embedder_support::kOriginTrialDisabledFeatures, -@@ -5358,9 +5357,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( +@@ -5420,9 +5419,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation( &throttles); #endif @@ -222,7 +222,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch MaybeAddThrottle( supervised_user::MaybeCreateClassifyUrlNavigationThrottleFor(handle), -@@ -5973,7 +5969,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { +@@ -6041,7 +6037,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { } #endif @@ -232,7 +232,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 -@@ -6013,7 +6010,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( +@@ -6081,7 +6078,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( std::move(bound_session_request_throttled_handler), #endif std::move(dynamic_params)); @@ -241,7 +241,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch std::vector> ChromeContentBrowserClient::CreateURLLoaderThrottles( -@@ -6070,15 +6067,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -6138,15 +6135,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( GetClientDataHeader(frame_tree_node_id); #endif @@ -257,7 +257,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch { auto* factory = ProtocolHandlerRegistryFactory::GetForBrowserContext(browser_context); -@@ -6133,20 +6121,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( +@@ -6201,20 +6189,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( } #endif @@ -327,7 +327,7 @@ diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/brows diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -284,7 +284,6 @@ source_set("extensions") { +@@ -313,7 +313,6 @@ source_set("extensions") { "//chrome/browser/extensions:cws_item_service_proto", "//chrome/browser/extensions/api:api_registration", "//chrome/browser/favicon", @@ -349,7 +349,7 @@ diff --git a/chrome/browser/feedback/BUILD.gn b/chrome/browser/feedback/BUILD.gn diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc --- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc -@@ -124,7 +124,6 @@ constexpr char kOsVersionTag[] = "OS VERSION"; +@@ -123,7 +123,6 @@ constexpr char kOsVersionTag[] = "OS VERSION"; #if BUILDFLAG(IS_WIN) constexpr char kUsbKeyboardDetected[] = "usb_keyboard_detected"; constexpr char kIsEnrolledToDomain[] = "enrolled_to_domain"; @@ -357,7 +357,7 @@ diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log #if BUILDFLAG(GOOGLE_CHROME_BRANDING) constexpr char kInstallResultCode[] = "install_result_code"; constexpr char kInstallLocation[] = "install_location"; -@@ -656,10 +655,6 @@ void ChromeInternalLogSource::PopulateEnrolledToDomain( +@@ -655,10 +654,6 @@ void ChromeInternalLogSource::PopulateEnrolledToDomain( void ChromeInternalLogSource::PopulateInstallerBrandCode( SystemLogsResponse* response) { @@ -389,7 +389,7 @@ diff --git a/chrome/browser/first_run/first_run.cc b/chrome/browser/first_run/fi diff --git a/chrome/browser/google/BUILD.gn b/chrome/browser/google/BUILD.gn --- a/chrome/browser/google/BUILD.gn +++ b/chrome/browser/google/BUILD.gn -@@ -7,7 +7,7 @@ import("//build/config/chromeos/ui_mode.gni") +@@ -6,7 +6,7 @@ import("//build/config/chrome_build.gni") assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome") @@ -398,7 +398,7 @@ diff --git a/chrome/browser/google/BUILD.gn b/chrome/browser/google/BUILD.gn sources = [ "google_brand.cc", "google_brand.h", -@@ -87,7 +87,7 @@ source_set("unit_tests") { +@@ -86,7 +86,7 @@ source_set("unit_tests") { sources = [ "google_update_settings_unittest.cc" ] deps = [ @@ -584,7 +584,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 -@@ -848,7 +848,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( +@@ -851,7 +851,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams( void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { variations::UpdateCorsExemptHeaderForVariations(network_context_params); @@ -595,7 +595,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 -@@ -344,10 +344,11 @@ bool OneGoogleBarLoaderImpl::SetAdditionalQueryParams( +@@ -329,10 +329,11 @@ void OneGoogleBarLoaderImpl::SetAdditionalQueryParams( } GURL OneGoogleBarLoaderImpl::GetApiUrl() const { @@ -681,7 +681,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 -@@ -25,7 +25,6 @@ static_library("safe_browsing") { +@@ -24,7 +24,6 @@ static_library("safe_browsing") { "//build:branding_buildflags", "//chrome/app:generated_resources", "//chrome/browser:browser_process", @@ -717,7 +717,7 @@ diff --git a/chrome/browser/search_engines/ui_thread_search_terms_data.cc b/chro diff --git a/chrome/browser/signin/android/signin_manager_android.cc b/chrome/browser/signin/android/signin_manager_android.cc --- a/chrome/browser/signin/android/signin_manager_android.cc +++ b/chrome/browser/signin/android/signin_manager_android.cc -@@ -71,6 +71,7 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { +@@ -70,6 +70,7 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { remover_(profile->GetBrowsingDataRemover()) { remover_->AddObserver(this); @@ -725,7 +725,7 @@ diff --git a/chrome/browser/signin/android/signin_manager_android.cc b/chrome/br if (all_data) { chrome_browsing_data_remover::DataType removed_types = chrome_browsing_data_remover::ALL_DATA_TYPES; -@@ -94,10 +95,6 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { +@@ -93,10 +94,6 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { // TODO(msramek): BrowsingDataFilterBuilder was not designed for // large filters. Optimize it. @@ -739,7 +739,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 -@@ -354,7 +354,6 @@ static_library("ui") { +@@ -356,7 +356,6 @@ static_library("ui") { "//chrome/browser/feedback:feedback_impl", "//chrome/browser/file_system_access", "//chrome/browser/fingerprinting_protection", @@ -762,7 +762,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr 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 -@@ -32,7 +32,6 @@ import org.chromium.chrome.browser.locale.LocaleManager; +@@ -33,7 +33,6 @@ 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.LocationBarMediator.SaveOfflineButtonState; @@ -770,7 +770,7 @@ 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.status.StatusCoordinator.PageInfoAction; import org.chromium.chrome.browser.omnibox.status.StatusView; -@@ -380,7 +379,6 @@ public class LocationBarCoordinator +@@ -381,7 +380,6 @@ public class LocationBarCoordinator mLocationBarMediator.destroy(); mLocationBarMediator = null; @@ -781,7 +781,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 -@@ -52,7 +52,6 @@ import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver; +@@ -53,7 +53,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; @@ -789,7 +789,7 @@ 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; -@@ -312,24 +311,6 @@ class LocationBarMediator +@@ -313,24 +312,6 @@ class LocationBarMediator if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(hasFocus); @@ -814,7 +814,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (!hasFocus && mLocationBarDataProvider.hasTab()) { setUrl( mLocationBarDataProvider.getCurrentGurl(), -@@ -345,8 +326,6 @@ class LocationBarMediator +@@ -346,8 +327,6 @@ class LocationBarMediator templateUrlService.addObserver(this); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && templateUrlService.isDefaultSearchEngineGoogle()) { @@ -823,7 +823,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } }); -@@ -579,7 +558,6 @@ class LocationBarMediator +@@ -580,7 +559,6 @@ class LocationBarMediator LoadUrlParams loadUrlParams = new LoadUrlParams(url); try (TimingMetric record = TimingMetric.shortUptime("Android.Omnibox.SetGeolocationHeadersTime")) { @@ -831,7 +831,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } loadUrlParams.setTransitionType( omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR); -@@ -1576,8 +1554,6 @@ class LocationBarMediator +@@ -1579,8 +1557,6 @@ class LocationBarMediator if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && mProfileSupplier.hasValue() && mTemplateUrlServiceSupplier.hasValue()) { @@ -840,7 +840,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } } -@@ -1585,7 +1561,6 @@ class LocationBarMediator +@@ -1588,7 +1564,6 @@ class LocationBarMediator public void onPauseWithNative() { OmniboxFeatures.updateLastExitTimestamp(); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled()) { @@ -908,7 +908,7 @@ diff --git a/chrome/renderer/google_accounts_private_api_util.cc b/chrome/render diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/renderer/url_loader_throttle_provider_impl.cc --- a/chrome/renderer/url_loader_throttle_provider_impl.cc +++ b/chrome/renderer/url_loader_throttle_provider_impl.cc -@@ -257,17 +257,6 @@ URLLoaderThrottleProviderImpl::CreateThrottles( +@@ -269,17 +269,6 @@ URLLoaderThrottleProviderImpl::CreateThrottles( } #endif @@ -923,13 +923,13 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende - chrome_content_renderer_client_->GetChromeObserver() - ->GetDynamicParams())); - - #if BUILDFLAG(IS_CHROMEOS_ASH) + #if BUILDFLAG(IS_CHROMEOS) throttles.emplace_back(std::make_unique( chrome_content_renderer_client_->GetChromeObserver() diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6431,7 +6431,6 @@ test("unit_tests") { +@@ -6504,7 +6504,6 @@ test("unit_tests") { "//chrome/browser/file_system_access:unit_tests", "//chrome/browser/fingerprinting_protection", "//chrome/browser/first_party_sets", @@ -1585,7 +1585,7 @@ diff --git a/components/google/core/common/google_util.h b/components/google/cor diff --git a/components/page_load_metrics/browser/page_load_metrics_util.cc b/components/page_load_metrics/browser/page_load_metrics_util.cc --- a/components/page_load_metrics/browser/page_load_metrics_util.cc +++ b/components/page_load_metrics/browser/page_load_metrics_util.cc -@@ -285,8 +285,7 @@ bool DidObserveLoadingBehaviorInAnyFrame( +@@ -303,8 +303,7 @@ bool DidObserveLoadingBehaviorInAnyFrame( } bool IsZstdUrl(const GURL& url) { @@ -1641,7 +1641,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 -@@ -613,11 +613,7 @@ std::u16string TemplateURLRef::SearchTermToString16( +@@ -614,11 +614,7 @@ std::u16string TemplateURLRef::SearchTermToString16( bool TemplateURLRef::HasGoogleBaseURLs( const SearchTermsData& search_terms_data) const { @@ -1882,7 +1882,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 -@@ -3015,7 +3015,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -3025,7 +3025,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 ff2a7e28..bb19b145 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 -@@ -108,7 +108,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -109,7 +109,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, diff --git a/build/patches/webview-Hard-no-to-persistent-histograms.patch b/build/patches/webview-Hard-no-to-persistent-histograms.patch index 0d7ea00b..5dd5a19d 100644 --- a/build/patches/webview-Hard-no-to-persistent-histograms.patch +++ b/build/patches/webview-Hard-no-to-persistent-histograms.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browser/aw_field_trials.cc --- a/android_webview/browser/aw_field_trials.cc +++ b/android_webview/browser/aw_field_trials.cc -@@ -79,13 +79,6 @@ void AwFeatureOverrides::OverrideFeatureWithFieldTrial( +@@ -73,13 +73,6 @@ void AwFeatureOverrides::OverrideFeatureWithFieldTrial( } // namespace internal void AwFieldTrials::OnVariationsSetupComplete() {