From 3cf5e136d8d6a33bcb7a2b9309a976d7be6ab962 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 22 Nov 2025 16:25:29 +0100 Subject: [PATCH] Patches for v143 --- .../Add-AllowUserCertificates-flag.patch | 22 +- ...dd-Alt-D-hotkey-to-focus-address-bar.patch | 2 +- ...tialLowEndModeOnMidRangeDevices-flag.patch | 2 +- .../Add-a-flag-to-disable-GamePad-API.patch | 10 +- .../Add-a-proxy-configuration-page.patch | 18 +- .../Add-bookmark-import-export-actions.patch | 42 +- build/patches/Add-cromite-flags-support.patch | 114 ++--- build/patches/Add-cromite-test-support.patch | 26 +- ...dd-custom-tab-intents-privacy-option.patch | 31 +- build/patches/Add-exit-menu-item.patch | 16 +- ...nfigure-maximum-connections-per-host.patch | 4 +- .../Add-flag-to-disable-IPv6-probes.patch | 4 +- ...-to-disable-external-intent-requests.patch | 12 +- .../Add-flag-to-disable-vibration.patch | 4 +- ...-switch-for-unsupported-clangd-flags.patch | 12 +- ...Add-lifetime-options-for-permissions.patch | 124 ++--- .../Add-menu-item-to-bookmark-all-tabs.patch | 20 +- .../Add-menu-item-to-view-source.patch | 16 +- .../Add-option-to-disable-snapshots.patch | 10 +- ...-to-not-persist-tabs-across-sessions.patch | 12 +- .../Add-option-to-use-home-page-as-NTP.patch | 24 +- build/patches/Add-search-engine.patch | 30 +- ...d-setting-to-invert-tap-and-long-tap.patch | 80 ++-- build/patches/Add-site-engagement-flag.patch | 8 +- ...-support-for-ISupportHelpAndFeedback.patch | 4 +- build/patches/Add-webGL-site-setting.patch | 4 +- build/patches/Add-webRTC-site-settings.patch | 4 +- ...ow-building-without-enable_reporting.patch | 35 +- ...ow-building-without-supervised-users.patch | 14 +- .../Allow-playing-audio-in-background.patch | 6 +- .../Always-allow-inspect-fallback.patch | 4 +- ...ays-open-browser-controls-in-new-tab.patch | 6 +- ...roid-Toolbar-Scroll-Ablation-setting.patch | 4 +- ...roid-fonts-fingerprinting-mitigation.patch | 52 +-- ...Ask-for-restart-on-connection-change.patch | 44 +- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 10 +- ...port-v143-android-extensions-changes.patch | 235 ++-------- ...Block-gateway-attacks-via-websockets.patch | 2 +- ...k-leakage-of-urls-in-sandbox-iframes.patch | 8 +- .../Block-qjz9zk-or-trk-requests.patch | 6 +- build/patches/Bromite-auto-updater.patch | 108 ++--- .../Bubble-Locking-on-UI-DevTools.patch | 8 +- .../patches/Chrome-web-store-protection.patch | 48 +- ...ORS-Preflight-Cache-on-clearing-data.patch | 6 +- build/patches/Client-hints-overrides.patch | 6 +- .../patches/Close-Sessions-On-Ip-Change.patch | 2 +- ...ress-libchrome-to-free-up-some-space.patch | 2 +- ...romite-Branding--improve-settings-ui.patch | 2 +- build/patches/Cromite-Branding.patch | 49 +- ...ctionary-suggestions-for-the-Omnibox.patch | 8 +- .../Disable-CSS-blink-feature-support.patch | 2 +- .../Disable-CSSDynamicRangeLimit.patch | 2 +- build/patches/Disable-Compose-feature.patch | 40 +- ...ble-Compression-Dictionary-Transport.patch | 2 +- build/patches/Disable-FedCm.patch | 4 +- build/patches/Disable-GSA-by-default.patch | 10 +- .../Disable-GetInstalledRelatedApps-API.patch | 2 +- build/patches/Disable-PrivacyGuide.patch | 4 +- build/patches/Disable-Real-Box.patch | 18 +- ...vation-Across-Same-Origin-Navigation.patch | 2 +- build/patches/Disable-TLS-resumption.patch | 16 +- build/patches/Disable-Viewport-Segments.patch | 4 +- ...ooth-by-default-in-desktop-platforms.patch | 2 +- build/patches/Disable-WebGPU.patch | 4 +- .../patches/Disable-all-predictors-code.patch | 335 ++++++++------ build/patches/Disable-all-promo-dialogs.patch | 6 +- .../Disable-conversion-measurement-api.patch | 69 +-- build/patches/Disable-crash-reporting.patch | 10 +- .../Disable-css-preferred-text-scale.patch | 2 +- ...Disable-fetching-of-all-field-trials.patch | 30 +- ...media-router-and-remoting-by-default.patch | 6 +- .../Disable-minidump-upload-scheduling.patch | 2 +- .../patches/Disable-plugins-enumeration.patch | 2 +- ...ers-reduced-transparency-media-query.patch | 4 +- ...e-privacy-issues-in-password-manager.patch | 8 +- build/patches/Disable-privacy-sandbox.patch | 16 +- ...e-references-to-fonts.googleapis.com.patch | 4 +- ...ble-remote-altsvc-for-h3-connections.patch | 8 +- build/patches/Disable-safety-check.patch | 14 +- .../Disable-smart-selection-by-default.patch | 12 +- ...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 | 46 +- .../Do-not-build-API-keys-infobar.patch | 2 +- .../Do-not-compile-QR-code-sharing.patch | 12 +- .../patches/Do-not-link-with-libatomic.patch | 2 +- .../Do-not-store-passwords-by-default.patch | 9 +- build/patches/DoH-improvements.patch | 4 +- ...ndroid-Dynamic-Performance-Framework.patch | 4 +- build/patches/Enable-Cert-Management-UI.patch | 2 +- .../Enable-Certificate-Transparency.patch | 2 +- .../Enable-ClientHello-Segmentation.patch | 8 +- ...le-Document-Open-Inheritance-Removal.patch | 4 +- .../Enable-Global-Privacy-Control.patch | 38 +- build/patches/Enable-HEVC-by-default.patch | 2 +- .../Enable-ImprovedBookmarks-by-default.patch | 2 +- ...cessBoundStringEncryption-by-default.patch | 2 +- ...ctOriginIsolation-and-SitePerProcess.patch | 8 +- build/patches/Enable-component-updater.patch | 28 +- ...e-darken-websites-checkbox-in-themes.patch | 2 +- .../Enable-extension-in-incognito.patch | 76 +-- ...fwrapv-in-Clang-for-non-UBSan-builds.patch | 2 +- .../patches/Enable-gwp-asan-on-Android.patch | 6 +- .../Enable-menu-on-reload-button.patch | 12 +- .../Enable-native-Android-autofill.patch | 46 +- .../Enable-network-isolation-features.patch | 33 +- ...le-platform-aac-audio-and-h264-video.patch | 24 +- ...le-search-engine-settings-desktop-ui.patch | 30 +- build/patches/Enable-share-intent.patch | 30 +- build/patches/Enable-snackbar-swipe.patch | 2 +- ...ivation-of-the-js-debugger-statement.patch | 20 +- ...al-support-for-extensions-on-Android.patch | 436 +++++++++--------- .../Experimental-user-scripts-support.patch | 36 +- build/patches/Eyeo-Adblock-for-Cromite.patch | 46 +- build/patches/Fix-chromium-build-bugs.patch | 8 +- build/patches/Fix-chromium-vanilla.patch | 2 +- .../Fonts-fingerprinting-mitigation.patch | 12 +- .../Force-use-vpython3-for-some-scripts.patch | 10 +- .../Guard-for-user-agent-reduction.patch | 10 +- ...ing-against-incognito-mode-detection.patch | 4 +- ...story-number-of-days-privacy-setting.patch | 34 +- .../patches/Improve-the-browser-sandbox.patch | 15 +- ...number-of-autocomplete-matches-to-10.patch | 2 +- build/patches/Internal-firewall.patch | 28 +- build/patches/JIT-site-settings.patch | 20 +- .../Keep-ComputePressure-disabled.patch | 4 +- .../patches/Keep-Manta-Service-Disabled.patch | 2 +- .../patches/Keep-disabled-FetchLaterAPI.patch | 6 +- ...ep-disabled-WebViewMediaIntegrityApi.patch | 2 +- .../Keep-empty-tabs-between-sessions.patch | 38 +- ...-allow-screenshots-in-Incognito-mode.patch | 2 +- build/patches/Keyboard-protection-flag.patch | 2 +- .../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 | 16 +- ...nt-settings-back-to-privacy-settings.patch | 2 +- ...ulti-Screen-Window-Placement-API-fix.patch | 6 +- .../Multiple-fingerprinting-mitigations.patch | 76 ++- ...er-treat-Proguard-warnings-as-errors.patch | 2 +- build/patches/OpenSearch-miscellaneous.patch | 6 +- .../patches/Override-Navigator-Language.patch | 2 +- .../Partition-Blink-memory-cache.patch | 26 +- .../patches/Partition-HSTS-cache-by-NAK.patch | 64 +-- .../Partition-blobs-by-top-frame-URL.patch | 2 +- ...vate-network-access-content-settings.patch | 6 +- ...redential-fingerprinting-mitigations.patch | 6 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 6 +- ...e-introduce-override_build_timestamp.patch | 4 +- ...referrals-in-cross-origin-navigation.patch | 14 +- ...cklisted-URLs-upon-bookmark-creation.patch | 6 +- .../Remove-detection-of-captive-portals.patch | 2 +- build/patches/Remove-help-menu-item.patch | 18 +- .../Remove-segmentation-platform.patch | 2 +- ...t-for-device-memory-and-cpu-recovery.patch | 23 +- ...Remove-voice-recognition-integration.patch | 130 +++--- ...ndow-name-on-cross-origin-navigation.patch | 4 +- .../Restore-LastTabStandingTracker.patch | 8 +- .../Restore-Search-Ready-Omnibox-flag.patch | 32 +- .../Restore-Simplified-NTP-launch.patch | 188 ++++---- ...-button-in-top-toolbar-customization.patch | 2 +- .../Restore-classic-new-tab-page.patch | 6 +- .../Restore-offline-indicator-v2-flag.patch | 20 +- ...evert-Permit-blocking-of-view-source.patch | 2 +- ...emove-disable-pull-to-refresh-effect.patch | 10 +- ...l-of-execution-context-address-space.patch | 16 +- ...script-content-setting-secondary-url.patch | 8 +- .../Set-caret-blink-interval-to-default.patch | 2 +- .../Set-the-screen-frame-rate-to-60-Hz.patch | 30 +- build/patches/Show-NTP-at-startup.patch | 26 +- ...tings-for-cookies-javascript-and-ads.patch | 10 +- build/patches/Site-setting-for-images.patch | 12 +- .../Switch-to-fstack-protector-strong.patch | 2 +- .../Temp-disable-UseContextSnapshot.patch | 2 +- ...e-experimental-web-platform-features.patch | 2 +- ...Temp-disable-predictive-back-gesture.patch | 2 +- ...ileSystemAccessPersistentPermissions.patch | 4 +- build/patches/Timezone-customization.patch | 22 +- .../Use-64-bit-WebView-processes.patch | 2 +- .../Use-browser-navigation-handler.patch | 10 +- .../Use-list-mode-for-tab-switcher.patch | 48 +- build/patches/User-agent-customization.patch | 48 +- build/patches/Viewport-Protection-flag.patch | 32 +- build/patches/WIN-enable-pdf-plugin.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 10 +- build/patches/Welcome-screen.patch | 6 +- build/patches/add-browser-policy.patch | 34 +- ...load-of-clang-for-windows-crossbuild.patch | 10 +- build/patches/autofill-miscellaneous.patch | 26 +- build/patches/bromite-build-utils.patch | 20 +- .../disable-WebView-variations-support.patch | 4 +- .../disable-appending-variations-header.patch | 2 +- ...ot-block-build-incompatible-profiles.patch | 2 +- .../enable-ftrivial-auto-var-init-zero.patch | 2 +- .../eyeo-133.0.6943.49-android_api.patch | 18 +- .../eyeo-133.0.6943.49-android_settings.patch | 189 +------- build/patches/eyeo-133.0.6943.49-base.patch | 34 +- .../eyeo-133.0.6943.49-extension_api.patch | 12 +- .../kill-Location-fall-back-to-system.patch | 8 +- build/patches/kill-Vision.patch | 2 +- .../sharing-hub-always-use-visible-URL.patch | 2 +- ...gled-chromium-Disable-profile-avatar.patch | 4 +- ...romium-Disable-translate-integration.patch | 2 +- ...chromium-Disable-webRTC-log-uploader.patch | 2 +- ...ed-chromium-no-special-hosts-domains.patch | 148 +++--- ...RTC-do-not-expose-local-IP-addresses.patch | 4 +- ...iew-Hard-no-to-persistent-histograms.patch | 17 +- 210 files changed, 2183 insertions(+), 2525 deletions(-) diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index 8a9e869b..abb1d341 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 -@@ -242,6 +242,7 @@ import org.chromium.content_public.browser.LoadUrlParams; +@@ -249,6 +249,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; -@@ -1004,6 +1005,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -1082,6 +1083,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); @@ -40,26 +40,26 @@ 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 -@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -194,6 +194,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedPerformanceStudy, - &feed::kFeedShowSignInCommand, - &feed::kFeedSignedOutViewDemotion, -+ &kAllowUserCertificates, &feed::kFeedRecyclerBinderUnmountOnDetach, + &feed::kFeedShowSignInCommand, ++ &kAllowUserCertificates, + &feed::kFeedSignedOutViewDemotion, &feed::kInterestFeedV2, &feed::kWebFeedAwareness, 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 -@@ -164,6 +164,7 @@ public abstract class ChromeFeatureList { +@@ -166,6 +166,7 @@ public abstract class ChromeFeatureList { "AccountForSuppressedKeyboardInsets"; public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 = "AdaptiveButtonInTopToolbarCustomizationV2"; + public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates"; public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = "AdaptiveButtonInTopToolbarPageSummary"; - public static final String ALLOW_TAB_CLOSING_UPON_MINIMIZATION = -@@ -807,6 +808,8 @@ public abstract class ChromeFeatureList { + public static final String ANDROID_ANIMATED_PROGRESS_BAR_IN_BROWSER = +@@ -805,6 +806,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sAndroidWindowPopupResizeAfterSpawn = newCachedFlag(ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN, false, true); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); @@ -68,8 +68,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sAppSpecificHistoryViewIntent = newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true); public static final CachedFlag sAsyncNotificationManager = -@@ -1130,6 +1133,7 @@ public abstract class ChromeFeatureList { - sAllowTabClosingUponMinimization, +@@ -1128,6 +1131,7 @@ public abstract class ChromeFeatureList { + sAccountForSuppressedKeyboardInsets, sAndroidAnimatedProgressBarInBrowser, sAndroidAnimatedProgressBarInViz, + sAllowUserCertificates, 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 f857bb8b..ec717c85 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 -@@ -883,6 +883,12 @@ public class KeyboardShortcuts { +@@ -903,6 +903,12 @@ public class KeyboardShortcuts { KeyEvent.KEYCODE_ESCAPE, KeyEvent.META_CTRL_ON); } diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index 1a123980..5db63725 100644 --- a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch +++ b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/features.cc b/base/features.cc --- a/base/features.cc +++ b/base/features.cc -@@ -188,6 +188,10 @@ bool IsReducePPMsEnabled() { +@@ -202,6 +202,10 @@ bool IsReducePPMsEnabled() { return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed); } 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 98c10998..b6f5c315 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 -@@ -8924,9 +8924,9 @@ +@@ -8954,9 +8954,9 @@ "expiry_milestone": 150 }, { @@ -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 -@@ -265,6 +265,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -264,6 +264,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)}, {wf::EnablePeriodicBackgroundSync, raw_ref(features::kPeriodicBackgroundSync)}, @@ -56,7 +56,7 @@ new file mode 100644 diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc --- a/device/gamepad/public/cpp/gamepad_features.cc +++ b/device/gamepad/public/cpp/gamepad_features.cc -@@ -37,4 +37,12 @@ bool IsGamepadMultitouchEnabled() { +@@ -40,4 +40,12 @@ bool IsGamepadMultitouchEnabled() { return false; } @@ -72,10 +72,10 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/publ diff --git a/device/gamepad/public/cpp/gamepad_features.h b/device/gamepad/public/cpp/gamepad_features.h --- a/device/gamepad/public/cpp/gamepad_features.h +++ b/device/gamepad/public/cpp/gamepad_features.h -@@ -15,8 +15,10 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE( - GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kEnableGamepadMultitouch); +@@ -16,8 +16,10 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kEnableGamepadMultitouch); GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE( kEnableSimulatedGamepadDataFetcher); + GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kGamepadRawInputChangeEvent); +GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kRestrictGamepadAccess); GAMEPAD_FEATURES_EXPORT bool IsGamepadMultitouchEnabled(); diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 9d89df06..7ef4f8b3 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -100,9 +100,9 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -229,6 +229,9 @@ +@@ -233,6 +233,9 @@ + - + + @@ -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 -@@ -207,6 +207,8 @@ +@@ -211,6 +211,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 -@@ -1749,6 +1751,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1565,6 +1567,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -683,7 +683,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -426,7 +429,7 @@ void RegisterChromeWebUIConfigs() { +@@ -428,7 +431,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif @@ -1154,7 +1154,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -190,6 +190,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; +@@ -191,6 +191,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/"; inline constexpr char kChromeUINewTabHost[] = "newtab"; inline constexpr char kChromeUINewTabFooterHost[] = "newtab-footer"; @@ -1181,9 +1181,9 @@ diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/compone - ProxyConfigDictionary::CreateSystem()); + ProxyConfigDictionary::CreateDirect()); registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false); - } - -@@ -405,6 +405,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( + registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules); + #if !BUILDFLAG(IS_CHROMEOS) +@@ -410,6 +410,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( if (proxy_dict.GetBypassList(&proxy_bypass)) { proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass); } diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index c07ea764..35e8af51 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -65,8 +65,8 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro - - + diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml --- a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml +++ b/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.back_press.BackPressManager; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; -@@ -60,7 +61,7 @@ import java.util.function.Supplier; +@@ -61,7 +62,7 @@ import java.util.function.Supplier; */ @NullMarked public class TabbedModeTabDelegateFactory implements TabDelegateFactory { @@ -111,8 +111,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private final Supplier mShareDelegateSupplier; private final Supplier mEphemeralTabCoordinatorSupplier; -@@ -91,7 +92,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { - private final BackPressManager mBackPressManager; +@@ -93,7 +94,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { + private final MultiInstanceManager mMultiInstanceManager; public TabbedModeTabDelegateFactory( - Activity activity, @@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.back_press.BackPressManager; import org.chromium.chrome.browser.bookmarks.BookmarkPage; -@@ -76,7 +77,7 @@ import java.util.function.Supplier; +@@ -77,7 +78,7 @@ import java.util.function.Supplier; */ @NullMarked public class NativePageFactory { @@ -217,8 +217,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final BrowserControlsManager mBrowserControlsManager; private final Supplier<@Nullable Tab> mCurrentTabSupplier; -@@ -100,7 +101,7 @@ public class NativePageFactory { - private final BackPressManager mBackPressManager; +@@ -102,7 +103,7 @@ public class NativePageFactory { + private final MultiInstanceManager mMultiInstanceManager; public NativePageFactory( - Activity activity, @@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat BottomSheetController sheetController, BrowserControlsManager browserControlsManager, Supplier<@Nullable Tab> currentTabSupplier, -@@ -175,7 +176,7 @@ public class NativePageFactory { +@@ -180,7 +181,7 @@ public class NativePageFactory { @VisibleForTesting static class NativePageBuilder { @@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final Supplier mNewTabPageCreationTracker; private final BrowserControlsManager mBrowserControlsManager; -@@ -284,7 +285,7 @@ public class NativePageFactory { +@@ -293,7 +294,7 @@ public class NativePageFactory { mTabModelSelector, mEdgeToEdgeControllerSupplier), mActivity.getComponentName(), @@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -205,6 +205,8 @@ static_library("browser") { +@@ -200,6 +200,8 @@ static_library("browser") { "bad_message.h", "bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.h", @@ -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", -@@ -1625,6 +1627,13 @@ static_library("browser") { +@@ -1588,6 +1590,13 @@ static_library("browser") { "webdata_services/web_data_service_factory.cc", ] @@ -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", -@@ -3715,8 +3724,6 @@ static_library("browser") { +@@ -3711,8 +3720,6 @@ static_library("browser") { "bookmarks/bookmark_expanded_state_tracker.h", "bookmarks/bookmark_expanded_state_tracker_factory.cc", "bookmarks/bookmark_expanded_state_tracker_factory.h", @@ -775,7 +775,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; -@@ -655,6 +701,14 @@ class BookmarkManagerMediator +@@ -658,6 +704,14 @@ class BookmarkManagerMediator mNativePage = nativePage; } @@ -790,7 +790,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. -@@ -827,6 +881,235 @@ class BookmarkManagerMediator +@@ -830,6 +884,235 @@ class BookmarkManagerMediator } } @@ -1057,8 +1057,8 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows + new ModalDialogManager( + new AppModalPresenter(activity), ModalDialogManager.ModalDialogType.APP)); initWithView(mBookmarkManagerCoordinator.getView()); - } + setBackPressHandler(mBookmarkManagerCoordinator, backPressManager); diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java @@ -1251,20 +1251,20 @@ 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 -@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kBatchTabRestore, +@@ -262,6 +262,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kAuxiliarySearchHistoryDonation, &kBlockIntentsWhileLocked, &kBookmarkPaneAndroid, + &kBookmarksExportUseSaf, &kBrowserControlsDebugging, &kBrowserControlsEarlyResize, - &kCacheActivityTaskID, + &kBrowserControlsRenderDrivenShowConstraint, 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 @@ -712,6 +712,7 @@ public abstract class ChromeFeatureList { - public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID = "UseLibunwindstackNativeUnwinderAndroid"; + public static final String VERIFY_QWACS = "VerifyQWACs"; public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService"; + public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf"; public static final String WEB_APK_BACKUP_AND_RESTORE_BACKEND = "WebApkBackupAndRestoreBackend"; @@ -1325,7 +1325,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"; -@@ -1067,6 +1069,7 @@ public final class ChromePreferenceKeys { +@@ -1092,6 +1094,7 @@ public final class ChromePreferenceKeys { AUXILIARY_SEARCH_SCHEMA_VERSION, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1364,7 +1364,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -222,6 +222,13 @@ static_library("utility") { +@@ -211,6 +211,13 @@ static_library("utility") { deps += [ "//chrome/services/pdf:lib" ] } diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 9189fa16..081747da 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -54,7 +54,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../core/offline_page_feature.cc | 1 + .../offline_pages/core/offline_page_feature.h | 1 + .../browser/features/password_features.cc | 1 + - components/permissions/features.cc | 2 + + components/permissions/features.cc | 1 + ...nthetic_trials_active_group_id_provider.cc | 4 +- ...ynthetic_trials_active_group_id_provider.h | 4 +- components/webui/flags/flags_state.cc | 59 ++++++ @@ -106,7 +106,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html third_party/blink/public/common/features.h | 1 + ui/base/ui_base_features.cc | 1 + ui/base/ui_base_features.h | 1 + - 93 files changed, 848 insertions(+), 32 deletions(-) + 93 files changed, 847 insertions(+), 32 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp @@ -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 -@@ -170,6 +170,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", -@@ -1048,7 +1050,7 @@ component("base") { +@@ -1057,7 +1059,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -553,7 +553,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; -@@ -39,7 +40,9 @@ import org.chromium.base.CallbackUtils; +@@ -35,7 +36,9 @@ import org.chromium.base.CallbackUtils; import org.chromium.base.DeviceInfo; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; @@ -563,7 +563,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; -@@ -49,12 +52,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper; +@@ -45,6 +48,7 @@ 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; @@ -571,6 +571,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManagerUtils; +@@ -52,6 +56,7 @@ import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator; import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; @@ -578,7 +579,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; -@@ -107,6 +112,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -106,6 +111,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity PreferenceUpdateObserver { private static final String TAG = "SettingsActivity"; @@ -619,16 +620,16 @@ 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"; -@@ -184,7 +223,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -187,7 +226,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity mProfile, mSnackbarManagerSupplier, mBottomSheetControllerSupplier, - getModalDialogManagerSupplier()), + getModalDialogManagerSupplier(), + () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this)), - true /* recursive */); + /* recursive= */ true); fragmentManager.registerFragmentLifecycleCallbacks( - new WideDisplayPaddingApplier(), false /* recursive */); + new WideDisplayPaddingApplier(), /* recursive= */ false); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java @@ -654,7 +655,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 -@@ -387,6 +387,10 @@ using flags_ui::kOsLinux; +@@ -385,6 +385,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -665,9 +666,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4977,6 +4981,10 @@ const FeatureEntry::FeatureVariation kSeamlessSigninPromoTypes[] = { - std::size(kSeamlessSigninPromoTypeTwoButtons), nullptr}}; - #endif // BUILDFLAG(IS_ANDROID) +@@ -5176,6 +5180,10 @@ const FeatureEntry::FeatureVariation kProfilePickerTextVariations[] = { + }; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -676,7 +677,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. -@@ -5003,6 +5011,9 @@ const FeatureEntry::FeatureVariation kSeamlessSigninPromoTypes[] = { +@@ -5202,6 +5210,9 @@ const FeatureEntry::FeatureVariation kProfilePickerTextVariations[] = { const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -689,7 +690,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 -@@ -313,4 +313,5 @@ BASE_FEATURE(kReportPakFileIntegrity, +@@ -302,4 +302,5 @@ BASE_FEATURE(kReportPakFileIntegrity, // show both in Chrome Tabs and Windows. BASE_FEATURE(kRemovalOfIWAsFromTabCapture, base::FEATURE_ENABLED_BY_DEFAULT); @@ -698,7 +699,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 -@@ -126,6 +126,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); +@@ -122,6 +122,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); // module, e.g. // //chrome/browser//features.h // @@ -748,9 +749,9 @@ 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 -@@ -1159,5 +1159,6 @@ BASE_FEATURE(kUseLibunwindstackNativeUnwinderAndroid, - // a descriptive text. - BASE_FEATURE(kWebOtpCrossDeviceSimpleString, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -835,5 +835,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, base::FEATURE_DISABLED_BY_DEFAULT); + + // clang-format on +#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc" } // namespace android @@ -758,7 +759,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 -@@ -354,6 +354,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutSnippetAsSubtitle( +@@ -370,6 +370,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutSnippetAsSubtitle( "snippet_as_subtitle", /*default_value=*/false); @@ -769,7 +770,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -19,6 +19,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam; +@@ -20,6 +20,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam; import org.chromium.components.cached_flags.IntCachedFeatureParam; import org.chromium.components.cached_flags.StringCachedFeatureParam; @@ -780,7 +781,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -1111,7 +1115,7 @@ public abstract class ChromeFeatureList { +@@ -1110,7 +1114,7 @@ public abstract class ChromeFeatureList { newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); // keep-sorted end @@ -789,7 +790,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( // keep-sorted start sAccountForSuppressedKeyboardInsets, -@@ -1268,6 +1272,13 @@ public abstract class ChromeFeatureList { +@@ -1271,6 +1275,13 @@ public abstract class ChromeFeatureList { // keep-sorted end ); @@ -969,7 +970,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 -@@ -664,4 +664,5 @@ bool IsAndroidAnimatedProgressBarInBrowserEnabled() { +@@ -712,4 +712,5 @@ bool IsAndroidAnimatedProgressBarInBrowserEnabled() { BASE_FEATURE(kWhatsNewDesktopRefresh, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1010,7 +1011,7 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -1694,5 +1694,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -1909,5 +1909,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT); // happen silently without prompting an updating dialog. BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1020,7 +1021,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn --- a/components/browser_ui/accessibility/android/BUILD.gn +++ b/components/browser_ui/accessibility/android/BUILD.gn -@@ -61,6 +61,7 @@ android_library("lib_java") { +@@ -65,6 +65,7 @@ android_library("lib_java") { ":page_zoom_utils_java", "//base:base_java", "//build/android:build_java", @@ -1057,7 +1058,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c 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 = -@@ -69,7 +71,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat +@@ -71,7 +73,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat } @Override @@ -1092,7 +1093,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; -@@ -43,6 +45,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat +@@ -42,6 +44,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co /** Indicates if the preference uses a custom layout. */ private final boolean mHasCustomLayout; @@ -1104,7 +1105,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. /** -@@ -67,6 +74,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat +@@ -66,6 +73,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs); mUseSummaryAsTitle = true; @@ -1126,7 +1127,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium diff --git a/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java b/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java --- a/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java +++ b/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java -@@ -155,7 +155,7 @@ public class CachedFlag extends Flag { +@@ -159,7 +159,7 @@ public class CachedFlag extends Flag { editor.putBoolean(getSharedPreferenceKey(), featureValue); } @@ -1135,7 +1136,7 @@ diff --git a/components/cached_flags/android/java/src/org/chromium/components/ca // Create the key only once to avoid String concatenation every flag check. if (mPreferenceKey == null) { mPreferenceKey = CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName); -@@ -163,6 +163,12 @@ public class CachedFlag extends Flag { +@@ -167,6 +167,12 @@ public class CachedFlag extends Flag { return mPreferenceKey; } @@ -1162,7 +1163,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc --- a/components/content_settings/core/common/features.cc +++ b/components/content_settings/core/common/features.cc -@@ -160,5 +160,6 @@ BASE_FEATURE(kContentSettingsPartitioning, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -143,5 +143,6 @@ const base::FeatureParam BASE_FEATURE(kForceAllowStorageAccess, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1198,8 +1199,8 @@ 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 -@@ -183,4 +183,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -201,4 +201,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction, + base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) +#include "cromite_flags/components_password_manager_core_browser_features_password_features_cc.inc" @@ -1207,15 +1208,14 @@ 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 -@@ -107,6 +107,8 @@ BASE_FEATURE(kSafetyHubUnusedPermissionRevocationForAllSurfaces, - BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, +@@ -121,6 +121,7 @@ BASE_FEATURE(kReturnDeniedForNotificationsWhenNoAppLevelSettings, base::FEATURE_DISABLED_BY_DEFAULT); #endif -+ + +#include "cromite_flags/components_permissions_features_cc.inc" } // namespace features - namespace feature_params { + namespace feature_params { diff --git a/components/variations/synthetic_trials_active_group_id_provider.cc b/components/variations/synthetic_trials_active_group_id_provider.cc --- a/components/variations/synthetic_trials_active_group_id_provider.cc +++ b/components/variations/synthetic_trials_active_group_id_provider.cc @@ -1640,7 +1640,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 -@@ -675,4 +675,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { +@@ -701,4 +701,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument); } @@ -1649,7 +1649,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 -@@ -1411,4 +1411,5 @@ bool IsPushSubscriptionChangeEventEnabled() { +@@ -1428,4 +1428,5 @@ bool IsPushSubscriptionChangeEventEnabled() { features::kPushSubscriptionChangeEventOnResubscribe); } @@ -1658,7 +1658,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 -@@ -409,6 +409,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); +@@ -416,6 +416,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled(); @@ -2004,7 +2004,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 -@@ -1730,5 +1730,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1710,5 +1710,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -2014,7 +2014,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 -@@ -609,5 +609,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); +@@ -590,5 +590,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -2024,18 +2024,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 -@@ -852,4 +852,5 @@ BASE_FEATURE_PARAM(std::string, - "quic_options", - ""); +@@ -904,4 +904,5 @@ BASE_FEATURE_PARAM(std::string, + BASE_FEATURE(kDnsResponseDiscardPartialQuestions, + base::FEATURE_ENABLED_BY_DEFAULT); +#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 -@@ -946,6 +946,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kTryQuicByDefault); - // separate the values with a comma (e.g. "ABCD,EFGH"). - NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, kQuicOptions); +@@ -986,6 +986,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, kQuicOptions); + + NET_EXPORT BASE_DECLARE_FEATURE(kDnsResponseDiscardPartialQuestions); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -2044,18 +2044,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 -@@ -587,4 +587,5 @@ BASE_FEATURE_PARAM(bool, - "url_loader", - true); +@@ -611,4 +611,5 @@ BASE_FEATURE(kNetworkServicePerPriorityTaskQueues, + BASE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess, + base::FEATURE_DISABLED_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 -@@ -361,6 +361,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler); +@@ -383,6 +383,7 @@ BASE_DECLARE_FEATURE(kNetworkServicePerPriorityTaskQueues); COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES) - BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerURLLoader); + BASE_DECLARE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess); +#include "cromite_flags/services_network_public_cpp_features_h.inc" } // namespace network::features @@ -2064,7 +2064,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 -@@ -2633,4 +2633,5 @@ bool IsXrDevice() { +@@ -2693,4 +2693,5 @@ bool IsXrDevice() { // // DO NOT ADD NEW FEATURES HERE. @@ -2073,7 +2073,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 -@@ -1917,6 +1917,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); +@@ -1955,6 +1955,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); // // DO NOT ADD NEW FEATURES HERE. diff --git a/build/patches/Add-cromite-test-support.patch b/build/patches/Add-cromite-test-support.patch index 897f0642..863b5c3f 100644 --- a/build/patches/Add-cromite-test-support.patch +++ b/build/patches/Add-cromite-test-support.patch @@ -73,7 +73,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -145,6 +145,7 @@ import org.chromium.ui.base.SelectFileDialog; +@@ -148,6 +148,7 @@ import org.chromium.ui.base.SelectFileDialog; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider; import org.chromium.url.GURL; @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import java.io.File; import java.nio.charset.StandardCharsets; -@@ -713,7 +714,10 @@ public class ProcessInitializationHandler { +@@ -724,7 +725,10 @@ public class ProcessInitializationHandler { tasks.add( () -> { @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -188,6 +188,11 @@ source_set("shell_integration") { +@@ -183,6 +183,11 @@ source_set("shell_integration") { # require many files from it. This makes linking more efficient. static_library("browser") { sources = [ @@ -139,7 +139,7 @@ diff --git a/chrome/browser/android/devtools_server.cc b/chrome/browser/android/ #include "content/public/common/content_switches.h" #include "content/public/common/url_constants.h" #include "net/base/net_errors.h" -@@ -64,6 +66,8 @@ const int kBackLog = 10; +@@ -64,6 +66,8 @@ const int kBackLog = 4096; bool AuthorizeSocketAccessWithDebugPermission( const net::UnixDomainServerSocket::Credentials& credentials) { @@ -179,7 +179,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b #include "chrome/browser/chrome_browser_interface_binders_webui.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_content_browser_client_parts.h" -@@ -494,6 +495,15 @@ void ChromeContentBrowserClient:: +@@ -495,6 +496,15 @@ void ChromeContentBrowserClient:: render_frame_host); }, &render_frame_host)); @@ -423,18 +423,18 @@ diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/b 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 -@@ -210,6 +210,7 @@ static const base::Feature* kBadFeatureFlagsInAboutFlags[] = { +@@ -226,6 +226,7 @@ static const std::variant #if BUILDFLAG(IS_ANDROID) - &chrome::android::kCommandLineOnNonRooted, -+ &features::kEnableCromiteTestSupport, + &chrome::android::kCommandLineOnNonRooted, ++ &features::kEnableCromiteTestSupport, #endif - // This flag disables security for the Page Embedded Permission Control, for + // This flag disables security for the Page Embedded Permission Control, diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -671,6 +671,7 @@ mojom("mojo_bindings") { +@@ -669,6 +669,7 @@ mojom("mojo_bindings") { sources = [ "chrome_render_frame.mojom", "google_accounts_private_api_extension.mojom", @@ -457,7 +457,7 @@ new file mode 100644 diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -80,6 +80,8 @@ static_library("renderer") { +@@ -79,6 +79,8 @@ static_library("renderer") { "chrome_render_thread_observer.cc", "chrome_render_thread_observer.h", "custom_menu_commands.h", @@ -860,7 +860,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b #if BUILDFLAG(IS_ANDROID) #include "content/browser/accessibility/browser_accessibility_manager_android.h" #include "content/browser/android/content_url_loader_factory.h" -@@ -4773,7 +4775,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4799,7 +4801,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( if (delegate_->DidAddMessageToConsole(this, log_level, message, line_no, updated_source_id, untrusted_stack_trace)) { @@ -870,7 +870,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b } // Pass through log severity only on builtin components pages to limit console -@@ -4790,8 +4793,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4816,8 +4819,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( const bool is_off_the_record = GetSiteInstance()->GetBrowserContext()->IsOffTheRecord(); diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index c5ecd490..fcbbcaeb 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -18,14 +18,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../customtabs/CustomTabsConnection.java | 3 +- .../IncognitoCustomTabIntentDataProvider.java | 14 +++++ .../privacy/settings/PrivacySettings.java | 51 +++++++++++++++++++ - .../flags/android/chrome_feature_list.cc | 5 +- + .../flags/android/chrome_feature_list.cc | 4 +- .../browser/flags/ChromeFeatureList.java | 3 ++ .../chrome/browser/tab/TabAssociatedApp.java | 6 ++- ...Add-custom-tab-intents-privacy-option.grdp | 25 +++++++++ .../OriginVerifier.java | 5 ++ .../core/common/language_experiments.cc | 1 + .../add-custom-tab-intents-privacy-option.inc | 1 + - 13 files changed, 158 insertions(+), 14 deletions(-) + 13 files changed, 158 insertions(+), 13 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-custom-tab-intents-privacy-option.grdp create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc @@ -57,7 +57,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/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java --- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java -@@ -62,6 +62,9 @@ import java.lang.annotation.Retention; +@@ -66,6 +66,9 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Set; @@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis /** * Dispatches incoming intents to the appropriate activity based on the current configuration and * Intent fired. -@@ -264,6 +267,9 @@ public class LaunchIntentDispatcher { +@@ -269,6 +272,9 @@ public class LaunchIntentDispatcher { */ public static boolean isCustomTabIntent(Intent intent) { if (intent == null) return false; @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis Log.w( TAG, "CustomTabsIntent#shouldAlwaysUseBrowserUI() = " -@@ -292,6 +298,10 @@ public class LaunchIntentDispatcher { +@@ -297,6 +303,10 @@ public class LaunchIntentDispatcher { // Make sure the result of the CustomTabActivity is forwarded to the client. newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); @@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis // Since configureIntentForResizableCustomTab() might change the componenet/class // associated with the passed intent, it needs to be called after #setClassName(context, // CustomTabActivity.class.getName()); -@@ -489,6 +499,17 @@ public class LaunchIntentDispatcher { +@@ -493,6 +503,17 @@ public class LaunchIntentDispatcher { if (Intent.ACTION_VIEW.equals(newIntent.getAction()) && !IntentHandler.wasIntentSenderChrome(newIntent)) { @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust /** * Extra that, if set, makes the Custom Tab Activity's height to be x pixels, the Custom Tab -@@ -689,7 +689,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -690,7 +690,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid TrustedWebActivityIntentBuilder.EXTRA_SCREEN_ORIENTATION, ScreenOrientation.DEFAULT)); @@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust mBreakPointDp = getActivityBreakPointFromIntent(intent); mInitialActivityHeight = getInitialActivityHeightFromIntent(intent); -@@ -702,8 +702,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -703,8 +703,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid intent, EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR, ACTIVITY_HEIGHT_DEFAULT); mIsPartialCustomTabFixedHeight = activityHeightResizeBehavior == ACTIVITY_HEIGHT_FIXED; @@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust @BackgroundInteractBehavior int backgroundInteractBehavior = IntentUtils.safeGetIntExtra( -@@ -1294,7 +1294,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1335,7 +1335,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid public @CustomTabProfileType int getCustomTabMode() { return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ? CustomTabProfileType.INCOGNITO @@ -327,22 +327,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -909,8 +909,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -708,7 +708,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT); // Enables an experimental feature which forces mayLaunchUrl to use a different // storage partition. This may reduce performance. This should not be enabled by // default. --BASE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition, -- base::FEATURE_DISABLED_BY_DEFAULT); +-BASE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition, base::FEATURE_DISABLED_BY_DEFAULT); +CROMITE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition, + "MayLaunchUrlUsesSeparateStoragePartition", + base::FEATURE_DISABLED_BY_DEFAULT); - BASE_FEATURE(kMediaIndicatorsAndroid, base::FEATURE_DISABLED_BY_DEFAULT); - + BASE_FEATURE(kMiniOriginBar, base::FEATURE_ENABLED_BY_DEFAULT); + BASE_FEATURE(kMostVisitedTilesCustomization, base::FEATURE_DISABLED_BY_DEFAULT); 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 -@@ -991,6 +991,8 @@ public abstract class ChromeFeatureList { +@@ -980,6 +980,8 @@ public abstract class ChromeFeatureList { MOST_VISITED_TILES_CUSTOMIZATION, /* defaultValue= */ false, /* defaultValueInTests= */ true); @@ -351,7 +350,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 = -@@ -1224,6 +1226,7 @@ public abstract class ChromeFeatureList { +@@ -1223,6 +1225,7 @@ public abstract class ChromeFeatureList { sMiniOriginBar, sMitigateLegacySearchEnginePromoOverlap, sMostVisitedTilesCustomization, diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 543cf846..12d1b352 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -17,18 +17,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -123,6 +123,7 @@ found in the LICENSE file. +@@ -125,6 +125,7 @@ found in the LICENSE file. + + - 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 -@@ -358,6 +358,8 @@ import java.util.Set; +@@ -357,6 +357,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; @@ -37,7 +37,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. -@@ -3882,6 +3884,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3858,6 +3860,8 @@ public class ChromeTabbedActivity extends ChromeActivity { .closeTabs( TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true); RecordUserAction.record("MobileTabClosed"); @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -63,6 +63,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier; +@@ -64,6 +64,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityUtils; @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.ChromeActivitySessionTracker; import org.chromium.chrome.browser.ChromeApplicationImpl; import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate; -@@ -2529,6 +2530,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2588,6 +2589,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return true; } @@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -410,6 +410,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -418,6 +418,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm maybeAddDividerLine(modelList, R.id.menu_item_content_filter_divider_line_id); modelList.add(buildContentFilterHelpCenterMenuItem(currentTab)); } @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -4317,6 +4317,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4380,6 +4380,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Dark theme diff --git a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch index a38a6369..d2593638 100644 --- a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch +++ b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch @@ -92,7 +92,7 @@ new file mode 100644 diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc --- a/net/socket/client_socket_pool_manager.cc +++ b/net/socket/client_socket_pool_manager.cc -@@ -22,6 +22,10 @@ +@@ -21,6 +21,10 @@ #include "net/socket/client_socket_handle.h" #include "net/socket/client_socket_pool.h" #include "net/socket/connect_job.h" @@ -103,7 +103,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket #include "net/ssl/ssl_config.h" #include "url/gurl.h" #include "url/scheme_host_port.h" -@@ -187,6 +191,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool( +@@ -165,6 +169,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool( int ClientSocketPoolManager::max_sockets_per_group( HttpNetworkSession::SocketPoolType pool_type) { DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES); diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index 0011adb8..eaa6de58 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -45,10 +45,10 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1172,6 +1172,7 @@ component("net") { +@@ -1177,6 +1177,7 @@ component("net") { ":net_deps", - "//components/miracle_parameter/common", "//components/network_time/time_tracker", + "//components/unexportable_keys", + "//components/network_session_configurator/common", "//net/http:transport_security_state_generated_files", "//third_party/simdutf", 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 4bc8327e..50d66a2b 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java -@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator; +@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator; import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl; import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate; -@@ -156,6 +157,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { +@@ -158,6 +159,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { @Override public boolean shouldDisableAllExternalIntents() { @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java -@@ -25,6 +25,7 @@ import org.chromium.base.PackageManagerUtils; +@@ -26,6 +26,7 @@ import org.chromium.base.ResettersForTesting; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.ChromeTabbedActivity2; @@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.document.ChromeLauncherActivity; -@@ -119,7 +120,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat +@@ -131,7 +132,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat @Override public boolean shouldDisableExternalIntentRequestsForUrl( ExternalNavigationParams params, Intent intent) { @@ -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 -@@ -1623,6 +1623,12 @@ public class ExternalNavigationHandler { +@@ -1760,6 +1760,12 @@ public class ExternalNavigationHandler { return false; } @@ -206,7 +206,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal( ExternalNavigationParams params, Intent targetIntent, -@@ -1716,6 +1722,21 @@ public class ExternalNavigationHandler { +@@ -1851,6 +1857,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 2bffa706..27a882ad 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.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 -@@ -105,6 +105,7 @@ void SetRuntimeFeatureDefaultsForPlatform( +@@ -106,6 +106,7 @@ void SetRuntimeFeatureDefaultsForPlatform( if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) { WebRuntimeFeatures::EnableMediaSession(false); } @@ -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 -@@ -1070,6 +1070,10 @@ +@@ -1137,6 +1137,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 8cc46d0c..a4f6491f 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 -@@ -715,7 +715,7 @@ config("compiler") { +@@ -727,7 +727,7 @@ config("compiler") { # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. # It also causes segfault on Linux s390x: # https://github.com/llvm/llvm-project/issues/149511 @@ -23,7 +23,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn cflags += [ "-Wa,--crel,--allow-experimental-crel" ] } } -@@ -1848,7 +1848,7 @@ config("clang_revision") { +@@ -1836,7 +1836,7 @@ config("clang_revision") { # e.g. by setting in the the project's .gn file. config("clang_warning_suppression") { # Some build configs use older versions of clang that don't support WSMs @@ -32,7 +32,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn from_build_root = rebase_path(clang_warning_suppression_file, root_build_dir) inputs = [ clang_warning_suppression_file ] -@@ -2183,7 +2183,9 @@ config("default_warnings") { +@@ -2197,7 +2197,9 @@ config("default_warnings") { # TODO(crbug.com/432275627): Fix and re-enable. "-Wno-uninitialized-const-pointer", ] @@ -43,7 +43,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn cflags_cc += [ # TODO(crbug.com/328490295): Fix and re-enable for C flags. "-Wenum-compare-conditional", -@@ -2237,6 +2239,15 @@ config("default_warnings") { +@@ -2251,6 +2253,15 @@ config("default_warnings") { ldflags += [ "-Wno-version-check" ] } @@ -62,7 +62,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() { +@@ -53,6 +53,9 @@ declare_args() { # Allows googletest to pretty-print various absl types. gtest_enable_absl_printers = true @@ -70,6 +70,6 @@ diff --git a/build_overrides/build.gni b/build_overrides/build.gni + skip_clangd_unsupported_options = false + # Allow projects that wish to stay on C++17 to override Chromium's default. - # TODO(crbug.com/40251117): evaluate removing this end of 2023 + # TODO(anglebug.com/330910097): evaluate removing this 2026-04-01 use_cxx17 = false -- diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index 525be567..ab2a3b4b 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -269,7 +269,7 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -689,6 +689,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -696,6 +696,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } @RequiresNonNull({"mSite"}) @@ -281,7 +281,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c private void setUpClearDataPreference() { ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); long usage = mSite.getTotalUsage(); -@@ -1295,6 +1300,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1313,6 +1318,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment .getDefaultColor()); } } @@ -295,7 +295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc --- a/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc -@@ -224,7 +224,7 @@ void GetOrigins(JNIEnv* env, +@@ -242,7 +242,7 @@ void GetOrigins(JNIEnv* env, seen_origins.push_back(origin); insertionFunc(env, static_cast(content_type), list, ConvertOriginToJavaString(env, origin), jembedder, @@ -307,7 +307,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid 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 -@@ -649,6 +649,11 @@ +@@ -652,6 +652,11 @@ URL truncated @@ -481,7 +481,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -199,6 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -207,6 +207,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( std::map user_specified_settings_to_display; @@ -490,7 +490,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp for (const auto& permission : permission_info_list) { if (base::Contains(permissions_to_display, permission.type)) { -@@ -211,6 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -219,6 +221,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( user_specified_settings_to_display[permission.type] = info->delegate().IsAnyPermissionAllowed(*setting_to_display); @@ -499,7 +499,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp } } } -@@ -227,7 +231,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -235,7 +239,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( ConvertUTF16ToJavaString(env, setting_title), ConvertUTF16ToJavaString(env, setting_title_mid_sentence), static_cast(permission), @@ -509,7 +509,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp } } -@@ -240,7 +245,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -248,7 +253,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title), ConvertUTF16ToJavaString(env, object_title), static_cast(chosen_object->ui_info->content_settings_type), @@ -522,7 +522,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc --- a/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc -@@ -1303,6 +1303,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1331,6 +1331,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.is_one_time = (info.metadata.session_model() == content_settings::mojom::SessionModel::ONE_TIME); @@ -582,7 +582,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java --- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java +++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java -@@ -13,6 +13,18 @@ import org.chromium.ui.UiUtils; +@@ -14,6 +14,18 @@ import org.chromium.ui.UiUtils; import org.chromium.ui.modaldialog.ModalDialogProperties; import org.chromium.ui.modelutil.PropertyModel; @@ -601,7 +601,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per /** This class creates the model for the permission dialog. */ @NullMarked class PermissionDialogModelFactory { -@@ -67,7 +79,76 @@ class PermissionDialogModelFactory { +@@ -77,7 +89,76 @@ class PermissionDialogModelFactory { ModalDialogProperties.ButtonStyles.PRIMARY_FILLED_NEGATIVE_OUTLINE) .with(ModalDialogProperties.CHANGE_CUSTOM_VIEW_OR_BUTTONS, true); } @@ -831,7 +831,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc --- a/components/permissions/contexts/geolocation_permission_context_android.cc +++ b/components/permissions/contexts/geolocation_permission_context_android.cc -@@ -194,7 +194,18 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( +@@ -195,7 +195,18 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( PermissionDecision decision, bool is_final_decision) { DCHECK(is_final_decision); @@ -850,7 +850,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr bool is_default_search = IsRequestingOriginDSE(request_data.requesting_origin); if (decision == PermissionDecision::kAllow && -@@ -209,7 +220,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( +@@ -210,7 +221,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin, request_data.embedding_origin, std::move(callback), false /* persist */, @@ -859,7 +859,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr request_data.prompt_options); return; } -@@ -230,7 +241,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( +@@ -231,7 +242,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin, request_data.embedding_origin, std::move(callback), false /* persist */, @@ -868,7 +868,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr request_data.prompt_options); return; } -@@ -243,14 +254,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( +@@ -244,14 +255,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( base::BindOnce( &GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown, weak_factory_.GetWeakPtr(), request_data.requesting_origin, @@ -885,7 +885,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr } content::PermissionResult -@@ -427,7 +438,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown( +@@ -428,7 +439,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown( const GURL& requesting_origin, const GURL& embedding_origin, bool persist, @@ -894,7 +894,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr std::optional prompt_options, LocationSettingsDialogOutcome prompt_outcome) { bool is_default_search = IsRequestingOriginDSE(requesting_origin); -@@ -447,7 +458,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown( +@@ -448,7 +459,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown( FinishNotifyPermissionSet(location_settings_dialog_request_id_, requesting_origin, embedding_origin, std::move(location_settings_dialog_callback_), @@ -903,7 +903,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr location_settings_dialog_request_id_ = PermissionRequestID(content::GlobalRenderFrameHostId(0, 0), -@@ -460,7 +471,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet( +@@ -461,7 +472,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet( const GURL& embedding_origin, BrowserPermissionCallback callback, bool persist, @@ -912,7 +912,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr std::optional prompt_options) { PermissionRequestData request_data( this, id, -@@ -469,9 +480,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet( +@@ -470,9 +481,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet( blink::PermissionType::GEOLOCATION)), requesting_origin, embedding_origin); request_data.prompt_options = prompt_options.value_or(std::monostate()); @@ -972,7 +972,7 @@ diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/c diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc --- a/components/permissions/permission_context_base.cc +++ b/components/permissions/permission_context_base.cc -@@ -267,6 +267,17 @@ PermissionContextBase::CreatePermissionRequest( +@@ -282,6 +282,17 @@ PermissionContextBase::CreatePermissionRequest( std::move(request_finished_callback), UsesAutomaticEmbargo()); } @@ -990,7 +990,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm bool PermissionContextBase::UsesAutomaticEmbargo() const { return true; } -@@ -572,7 +583,8 @@ void PermissionContextBase::DecidePermission( +@@ -626,7 +637,8 @@ void PermissionContextBase::DecidePermission( void PermissionContextBase::PermissionDecided( PermissionDecision decision, bool is_final_decision, @@ -999,8 +999,8 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm + content_settings::mojom::LifetimeMode lifetime_option) { UserMadePermissionDecision(request_data.id, request_data.requesting_origin, request_data.embedding_origin, decision); - -@@ -585,11 +597,12 @@ void PermissionContextBase::PermissionDecided( + // If a permission request originates from an embedded element, its +@@ -650,11 +662,12 @@ void PermissionContextBase::PermissionDecided( // missing if a permission prompt was preignored and we already notified an // origin about it. if (request->second.second) { @@ -1017,7 +1017,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } } -@@ -674,6 +687,30 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -739,6 +752,30 @@ void PermissionContextBase::NotifyPermissionSet( bool persist, PermissionDecision decision, bool is_final_decision) { @@ -1048,7 +1048,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // Note that rfh may be null, see crbug.com/426909787. -@@ -689,8 +726,8 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -754,8 +791,8 @@ void PermissionContextBase::NotifyPermissionSet( if (persist) { // Clone new value, because we need it again for the callback. @@ -1059,7 +1059,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } if (is_final_decision) { -@@ -728,6 +765,17 @@ void PermissionContextBase::UpdateSetting( +@@ -794,6 +831,17 @@ void PermissionContextBase::UpdateSetting( const PermissionRequestData& request_data, PermissionSetting setting, bool is_one_time) { @@ -1077,7 +1077,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_EQ(request_data.requesting_origin, request_data.requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(request_data.embedding_origin, -@@ -737,6 +785,8 @@ void PermissionContextBase::UpdateSetting( +@@ -803,6 +851,8 @@ void PermissionContextBase::UpdateSetting( constraints.set_session_model( is_one_time ? content_settings::mojom::SessionModel::ONE_TIME : content_settings::mojom::SessionModel::DURABLE); @@ -1089,7 +1089,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h --- a/components/permissions/permission_context_base.h +++ b/components/permissions/permission_context_base.h -@@ -192,6 +192,18 @@ class PermissionContextBase : public content_settings::Observer { +@@ -198,6 +198,18 @@ class PermissionContextBase : public content_settings::Observer { // Updates stored setting if persist is set, updates tab indicators // and runs the callback to finish the request. @@ -1108,7 +1108,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi virtual void NotifyPermissionSet(const PermissionRequestData& request_data, BrowserPermissionCallback callback, bool persist, -@@ -209,6 +221,11 @@ class PermissionContextBase : public content_settings::Observer { +@@ -214,6 +226,11 @@ class PermissionContextBase : public content_settings::Observer { // Store the decided permission state. Virtual since the permission might be // stored with different restrictions (for example for desktop notifications). @@ -1120,7 +1120,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi virtual void UpdateSetting(const PermissionRequestData& request_data, PermissionSetting setting, bool is_one_time); -@@ -238,6 +255,12 @@ class PermissionContextBase : public content_settings::Observer { +@@ -243,6 +260,12 @@ class PermissionContextBase : public content_settings::Observer { PermissionRequest::PermissionDecidedCallback permission_decided_callback, base::OnceClosure request_finished_callback) const; @@ -1133,7 +1133,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi // Implementors can override this method to avoid using automatic embargo. virtual bool UsesAutomaticEmbargo() const; -@@ -271,7 +294,8 @@ class PermissionContextBase : public content_settings::Observer { +@@ -281,7 +304,8 @@ class PermissionContextBase : public content_settings::Observer { // allows/blocks/dismisses a permission prompt. void PermissionDecided(PermissionDecision decision, bool is_final_decision, @@ -1160,7 +1160,7 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc --- a/components/permissions/permission_request.cc +++ b/components/permissions/permission_request.cc -@@ -36,6 +36,16 @@ PermissionRequest::PermissionRequest( +@@ -35,6 +35,16 @@ PermissionRequest::PermissionRequest( request_finished_callback_(std::move(request_finished_callback)), uses_automatic_embargo_(uses_automatic_embargo) {} @@ -1177,7 +1177,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio PermissionRequest::~PermissionRequest() { std::move(request_finished_callback_).Run(); } -@@ -424,20 +434,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { +@@ -431,20 +441,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { return request_type() == RequestType::kStorageAccess; } @@ -1248,7 +1248,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission PermissionRequest(const PermissionRequest&) = delete; PermissionRequest& operator=(const PermissionRequest&) = delete; -@@ -172,10 +183,10 @@ class PermissionRequest { +@@ -180,10 +191,10 @@ class PermissionRequest { // If |is_one_time| is true the permission will last until all tabs of // |origin| are closed or navigated away from, and then the permission will // automatically expire after 1 day. @@ -1261,7 +1261,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission // Called when the user has cancelled the permission request. This // corresponds to a denial, but is segregated in case the context needs to -@@ -234,6 +245,9 @@ class PermissionRequest { +@@ -242,6 +253,9 @@ class PermissionRequest { // Called once a decision is made about the permission. PermissionDecidedCallback permission_decided_callback_; @@ -1274,7 +1274,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc --- a/components/permissions/permission_request_manager.cc +++ b/components/permissions/permission_request_manager.cc -@@ -201,7 +201,7 @@ void PermissionRequestManager::AddRequest( +@@ -206,7 +206,7 @@ void PermissionRequestManager::AddRequest( if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDenyPermissionPrompts)) { @@ -1283,27 +1283,27 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p return; } -@@ -270,7 +270,7 @@ void PermissionRequestManager::AddRequest( - - if (should_auto_approve_request) { +@@ -284,7 +284,7 @@ void PermissionRequestManager::AddRequest( if (should_auto_approve_request == PermissionAction::GRANTED) { + request->PermissionGranted(/*is_one_time=*/false); + } else if (should_auto_approve_request == PermissionAction::GRANTED_ONCE) { - request->PermissionGranted(/*is_one_time=*/true); + request->PermissionGranted(/*is_one_time=*/true, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED); } return; } -@@ -597,7 +597,8 @@ void PermissionRequestManager::Accept() { - (*requests_iter)->request_type(), - PermissionAction::GRANTED); - PermissionGrantedIncludingDuplicates(requests_iter->get(), +@@ -611,7 +611,8 @@ void PermissionRequestManager::Accept() { + StorePermissionActionForUMA(request->requesting_origin(), + request->request_type(), action); + PermissionGrantedIncludingDuplicates(request.get(), - /*is_one_time=*/false); + /*is_one_time=*/false, + content_settings::mojom::LifetimeMode::ALWAYS); #if !BUILDFLAG(IS_ANDROID) std::optional content_settings_type = -@@ -615,7 +616,7 @@ void PermissionRequestManager::Accept() { - CurrentRequestsDecided(PermissionAction::GRANTED); +@@ -629,7 +630,7 @@ void PermissionRequestManager::Accept() { + CurrentRequestsDecided(action); } -void PermissionRequestManager::AcceptThisTime() { @@ -1311,17 +1311,17 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) { return; } -@@ -629,7 +630,8 @@ void PermissionRequestManager::AcceptThisTime() { - (*requests_iter)->request_type(), - PermissionAction::GRANTED_ONCE); - PermissionGrantedIncludingDuplicates(requests_iter->get(), +@@ -641,7 +642,8 @@ void PermissionRequestManager::AcceptThisTime() { + StorePermissionActionForUMA(request->requesting_origin(), + request->request_type(), action); + PermissionGrantedIncludingDuplicates(request.get(), - /*is_one_time=*/true); + /*is_one_time=*/true, + mode); } - NotifyRequestDecided(PermissionAction::GRANTED_ONCE); -@@ -637,6 +639,15 @@ void PermissionRequestManager::AcceptThisTime() { + NotifyRequestDecided(action); +@@ -649,6 +651,15 @@ void PermissionRequestManager::AcceptThisTime() { } void PermissionRequestManager::Deny() { @@ -1337,16 +1337,16 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) { return; } -@@ -659,7 +670,7 @@ void PermissionRequestManager::Deny() { - StorePermissionActionForUMA((*requests_iter)->requesting_origin(), - (*requests_iter)->request_type(), - PermissionAction::DENIED); -- PermissionDeniedIncludingDuplicates(requests_iter->get()); -+ PermissionDeniedIncludingDuplicates(requests_iter->get(), is_one_time, lifetime_option); +@@ -669,7 +680,7 @@ void PermissionRequestManager::Deny() { + for (const auto& request : requests_) { + StorePermissionActionForUMA(request->requesting_origin(), + request->request_type(), action); +- PermissionDeniedIncludingDuplicates(request.get()); ++ PermissionDeniedIncludingDuplicates(request.get(), is_one_time, lifetime_option); } - NotifyRequestDecided(PermissionAction::DENIED); -@@ -1283,32 +1294,32 @@ PermissionRequestManager::VisitDuplicateRequests( + NotifyRequestDecided(action); +@@ -1306,32 +1317,32 @@ PermissionRequestManager::VisitDuplicateRequests( void PermissionRequestManager::PermissionGrantedIncludingDuplicates( PermissionRequest* request, @@ -1389,7 +1389,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request); } -@@ -1578,7 +1589,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { +@@ -1608,7 +1619,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { } switch (auto_response_for_test_) { case ACCEPT_ONCE: @@ -1401,7 +1401,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h --- a/components/permissions/permission_request_manager.h +++ b/components/permissions/permission_request_manager.h -@@ -168,8 +168,10 @@ class PermissionRequestManager +@@ -175,8 +175,10 @@ class PermissionRequestManager GURL GetRequestingOrigin() const override; GURL GetEmbeddingOrigin() const override; void Accept() override; @@ -1413,7 +1413,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe void Dismiss() override; void Ignore() override; void FinalizeCurrentRequests() override; -@@ -419,9 +421,12 @@ class PermissionRequestManager +@@ -426,9 +428,12 @@ class PermissionRequestManager // Calls PermissionGranted on a request and all its duplicates. void PermissionGrantedIncludingDuplicates(PermissionRequest* request, diff --git a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch index a2425da4..b99e64c9 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -191,6 +191,7 @@ found in the LICENSE file. +@@ -194,6 +194,7 @@ found in the LICENSE file. @@ -55,26 +55,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.compositor.layouts.Layout; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; -@@ -296,6 +297,9 @@ import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFac +@@ -294,6 +295,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate; + import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType; import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; - import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin; import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig; -@@ -309,6 +313,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService; +@@ -308,6 +312,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService; import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl; import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl; +import org.chromium.components.bookmarks.BookmarkId; +import org.chromium.components.bookmarks.BookmarkItem; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; + import org.chromium.components.browser_ui.share.ShareParams; import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate; - import org.chromium.components.browser_ui.util.ComposedBrowserControlsVisibilityDelegate; -@@ -3910,6 +3916,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3886,6 +3892,8 @@ public class ChromeTabbedActivity extends ChromeActivity { CloseAllTabsDialog.show( this, getModalDialogManagerSupplier(), tabModelSelector, closeAllTabsRunnable); RecordUserAction.record("MobileMenuCloseAllTabs"); @@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct } else if (id == R.id.close_all_incognito_tabs_menu_id) { boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion); -@@ -4030,6 +4038,41 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -4019,6 +4027,41 @@ public class ChromeTabbedActivity extends ChromeActivity { getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus); } @@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -291,6 +291,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -294,6 +294,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm // Bookmarks modelList.add(buildBookmarksItem()); @@ -143,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab // Recent Tabs if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem()); -@@ -466,6 +474,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -474,6 +482,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm } modelList.add(buildCloseAllTabsItem()); if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem()); @@ -460,7 +460,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -4437,6 +4437,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4505,6 +4505,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Select tabs diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 4c89e086..82ab55a3 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -133,6 +133,7 @@ found in the LICENSE file. +@@ -136,6 +136,7 @@ found in the LICENSE file. @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -3946,6 +3946,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3922,6 +3922,8 @@ public class ChromeTabbedActivity extends ChromeActivity { NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); } RecordUserAction.record("MobileMenuDownloadManager"); @@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2697,6 +2697,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2756,6 +2756,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return doOpenWebApk(currentTab); } @@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java -@@ -989,6 +989,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -988,6 +988,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties return false; } @@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java -@@ -378,6 +378,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -411,6 +411,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat modelList.add(buildAddToHomescreenListItem(currentTab, false)); } @@ -101,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -358,6 +358,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -366,6 +366,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildAddToHomescreenListItem(currentTab, shouldShowIconBeforeItem())); } @@ -114,8 +114,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -324,6 +324,10 @@ CHAR_LIMIT guidelines: - Collaboration +@@ -327,6 +327,10 @@ CHAR_LIMIT guidelines: + Chrome Tips + diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index f7400b72..df3a2f0b 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 -@@ -497,7 +497,12 @@ class TabGridViewBinder { +@@ -504,7 +504,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) { -@@ -535,6 +540,7 @@ class TabGridViewBinder { +@@ -542,6 +547,7 @@ class TabGridViewBinder { */ private static void setFavicon( ImageView faviconView, PropertyModel model, @Nullable TabFavicon favicon) { @@ -84,7 +84,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -152,6 +152,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -153,6 +153,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManagerUtils; -@@ -658,7 +659,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -667,7 +668,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -6185,6 +6185,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6422,6 +6422,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d Your %1$swww.amazon.com timer ran out. It'll start again tomorrow. diff --git a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch index 935f1a26..02dfc47a 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 @@ -29,15 +29,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/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 -@@ -47,6 +47,7 @@ import org.chromium.base.Callback; +@@ -46,6 +46,7 @@ import org.chromium.base.ApplicationStatus; + import org.chromium.base.Callback; import org.chromium.base.CallbackController; import org.chromium.base.CallbackUtils; - import org.chromium.base.CommandLine; +import org.chromium.base.ContextUtils; + import org.chromium.base.CommandLine; + import org.chromium.base.DeviceInfo; import org.chromium.base.IntentUtils; - import org.chromium.base.Log; - import org.chromium.base.MemoryPressureListener; -@@ -2218,8 +2219,10 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -2173,8 +2174,10 @@ public class ChromeTabbedActivity extends ChromeActivity { boolean hadCipherData = CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); @@ -128,7 +128,7 @@ diff --git a/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2856,6 +2856,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -2883,6 +2883,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d All tabs diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch index ac639836..598a83a0 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 -@@ -100,6 +100,7 @@ import org.chromium.components.collaboration.messaging.PersistentNotificationTyp +@@ -101,6 +101,7 @@ import org.chromium.components.collaboration.messaging.PersistentNotificationTyp import org.chromium.components.data_sharing.DataSharingService; import org.chromium.components.data_sharing.GroupMember; import org.chromium.components.data_sharing.member_role.MemberRole; @@ -32,7 +32,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.components.tab_group_sync.EitherId.EitherGroupId; import org.chromium.components.tab_group_sync.LocalTabGroupId; import org.chromium.components.tab_group_sync.TabGroupSyncService; -@@ -120,6 +121,9 @@ import java.util.Objects; +@@ -121,6 +122,9 @@ import java.util.Objects; import java.util.Set; import java.util.function.Supplier; @@ -42,7 +42,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. -@@ -1033,9 +1037,15 @@ public class TabGridDialogMediator +@@ -1034,9 +1038,15 @@ public class TabGridDialogMediator UrlConstantResolver urlConstantResolver = UrlConstantResolverFactory.getForProfile(profile); @@ -105,8 +105,8 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java -@@ -84,6 +84,9 @@ import org.chromium.ui.widget.RectProvider; - +@@ -87,6 +87,9 @@ import java.util.List; + import java.util.function.BiConsumer; import java.util.function.Supplier; +import org.chromium.chrome.browser.homepage.HomepageManager; @@ -115,7 +115,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. -@@ -228,9 +231,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina +@@ -235,9 +238,15 @@ public class TabGroupContextMenuCoordinator extends TabStripReorderingHelper Last hour @@ -268,7 +268,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 -@@ -119,6 +119,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -122,6 +122,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false, pref_registration_flags); diff --git a/build/patches/Add-search-engine.patch b/build/patches/Add-search-engine.patch index 5e22cc15..2eaf4d89 100644 --- a/build/patches/Add-search-engine.patch +++ b/build/patches/Add-search-engine.patch @@ -71,7 +71,7 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL ] deps = [ "//url" ] -@@ -258,6 +260,7 @@ source_set("unit_tests") { +@@ -259,6 +261,7 @@ source_set("unit_tests") { "//testing/gmock", "//testing/gtest", "//third_party/search_engines_data:prepopulated_engines", @@ -141,7 +141,7 @@ new file mode 100644 diff --git a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc --- a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc +++ b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc -@@ -172,10 +172,7 @@ void RecordChoiceScreenDefaultSearchProviderType( +@@ -193,10 +193,7 @@ void RecordChoiceScreenDefaultSearchProviderType( } void RecordChoiceScreenSelectedIndex(int selected_engine_index) { @@ -185,16 +185,16 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon namespace TemplateURLPrepopulateData { // Helpers -------------------------------------------------------------------- -@@ -122,7 +124,7 @@ int GetDataVersion(PrefService* prefs) { +@@ -154,7 +156,7 @@ int GetDataVersion(PrefService* prefs) { kCurrentDataVersion; } -std::vector> GetPrepopulatedEngines( +std::vector> GetPrepopulatedEnginesChromium( PrefService& prefs, - std::vector + const std::vector& regional_prepopulated_engines) { -@@ -138,6 +140,17 @@ std::vector> GetPrepopulatedEngines( +@@ -170,6 +172,17 @@ std::vector> GetPrepopulatedEngines( &PrepopulatedEngineToTemplateURLData); } @@ -211,8 +211,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon + std::unique_ptr GetPrepopulatedEngine( PrefService& prefs, - std::vector -@@ -159,10 +172,14 @@ std::vector> GetLocalPrepopulatedEngines( + const std::vector& regional_prepopulated_engines, +@@ -190,10 +203,14 @@ std::vector> GetLocalPrepopulatedEngines( return std::vector>(); } @@ -276,7 +276,7 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_to_struct.py --- a/tools/json_to_struct/json_to_struct.py +++ b/tools/json_to_struct/json_to_struct.py -@@ -103,7 +103,7 @@ def _GenerateHeaderGuard(h_filename): +@@ -104,7 +104,7 @@ def _GenerateHeaderGuard(h_filename): return re.sub(u'^_*', '', result) + u'_' # Remove leading underscores. @@ -285,7 +285,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ """Generates the .h file containing the definition of the structure specified by the schema. -@@ -147,11 +147,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description): +@@ -148,11 +148,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description): f.write(u'#include "%s"\n' % header) f.write(u'\n') @@ -302,7 +302,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ schema['type_name'], schema['schema'])) f.write(u'\n') -@@ -176,7 +180,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description): +@@ -177,7 +181,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description): f.write(u'#endif // %s\n' % header_guard) @@ -311,7 +311,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ """Generates the .cc file containing the static initializers for the of the elements specified in the description. -@@ -211,7 +215,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description): +@@ -212,7 +216,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description): f.write(element_generator.GenerateElements(schema['type_name'], schema['schema'], description)) @@ -320,7 +320,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ f.write('\n} // anonymous namespace \n\n') aggregated = GenerateCCAggregation(schema['type_name'], aggregation) -@@ -298,7 +302,7 @@ def GenerateClass(basepath, +@@ -299,7 +303,7 @@ def GenerateClass(basepath, def GenerateStruct(basepath, output_root, namespace, schema, description, @@ -329,7 +329,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ """Generates a C++ struct from a JSON description. Args: -@@ -317,8 +321,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description, +@@ -318,8 +322,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description, """ year = int(year) if year else datetime.now().year head = HEAD % (year, schema_filename, description_filename) @@ -340,7 +340,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ if __name__ == '__main__': parser = optparse.OptionParser( -@@ -333,11 +337,17 @@ if __name__ == '__main__': +@@ -334,11 +338,17 @@ if __name__ == '__main__': parser.add_option('-s', '--schema', help='path to the schema file, ' 'mandatory.') parser.add_option('-o', '--output', help='output filename, ') @@ -358,7 +358,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_ description_filename = os.path.normpath(args[0]) root, ext = os.path.splitext(description_filename) shortroot = opts.output if opts.output else os.path.split(root)[1] -@@ -354,4 +364,4 @@ if __name__ == '__main__': +@@ -355,4 +365,4 @@ if __name__ == '__main__': schema = _Load(opts.schema) description = _Load(description_filename) GenerateStruct(basepath, output_root, opts.namespace, schema, description, 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 2d7068de..e1a9fa6b 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 -@@ -109,6 +109,7 @@ found in the LICENSE file. +@@ -111,6 +111,7 @@ found in the LICENSE file. @@ -98,28 +98,28 @@ 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 -@@ -132,8 +132,9 @@ class ChromeContextMenuItem { - int PRINT_PAGE = 40; +@@ -134,8 +134,9 @@ class ChromeContextMenuItem { // Developer Group - int INSPECT_ELEMENT = 41; -+ int FOLLOW_LINK = 42; + int VIEW_PAGE_SOURCE = 41; + int INSPECT_ELEMENT = 42; ++ int FOLLOW_LINK = 43; // ALWAYS UPDATE! -- int NUM_ENTRIES = 42; -+ int NUM_ENTRIES = 43; +- int NUM_ENTRIES = 43; ++ int NUM_ENTRIES = 44; } /** Mapping from {@link Item} to the ID found in the ids.xml. */ -@@ -180,6 +181,7 @@ class ChromeContextMenuItem { - R.id.contextmenu_share_page, // Item.SHARE_PAGE +@@ -183,6 +184,7 @@ class ChromeContextMenuItem { R.id.contextmenu_print_page, // Item.PRINT_PAGE + R.id.contextmenu_view_page_source, // Item.VIEW_PAGE_SOURCE R.id.contextmenu_inspect_element, // Item.INSPECT_ELEMENT + 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. */ -@@ -226,6 +228,7 @@ class ChromeContextMenuItem { - R.string.contextmenu_share_page, // Item.SHARE_PAGE +@@ -230,6 +232,7 @@ class ChromeContextMenuItem { R.string.contextmenu_print_page, // Item.PRINT_PAGE + R.string.contextmenu_view_page_source, // Item.VIEW_PAGE_SOURCE R.string.contextmenu_inspect_element, // Item.INSPECT_ELEMENT + R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB }; @@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java -@@ -452,6 +452,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -459,6 +459,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())) { -@@ -1054,6 +1057,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -1066,6 +1069,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 -@@ -374,6 +374,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -401,6 +401,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { mTab.loadUrl(loadUrlParams); } @@ -168,7 +168,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -433,6 +433,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -444,6 +444,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kTabGroupParityBottomSheetAndroid, &kTabModelInitFixes, &kTabStorageSqlitePrototype, @@ -179,7 +179,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -507,6 +507,8 @@ public abstract class ChromeFeatureList { +@@ -511,6 +511,8 @@ public abstract class ChromeFeatureList { "DisableToolbarSwipeUp"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; @@ -188,7 +188,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON = "NewTabPageCustomizationToolbarButton"; public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2"; -@@ -1035,6 +1037,8 @@ public abstract class ChromeFeatureList { +@@ -1024,6 +1026,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -197,10 +197,10 @@ 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); -@@ -1289,6 +1293,7 @@ public abstract class ChromeFeatureList { +@@ -1292,6 +1296,7 @@ public abstract class ChromeFeatureList { sTopControlsRefactor, + sTopControlsRefactorV2, sTouchToSearchCallout, - sTraceBinderIpc, + sShowAlwaysContextMenuOnLinks, sUseActivityManagerForTabActivation, 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 -@@ -1554,6 +1554,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1563,6 +1563,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 -@@ -3195,6 +3201,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3222,6 +3228,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 -@@ -53,6 +53,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -54,6 +54,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; -@@ -148,6 +151,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -150,6 +153,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 -> { -@@ -229,6 +238,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -244,6 +253,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment } else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) { mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue); mDelegate.requestRestart(getActivity()); @@ -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 -@@ -67,6 +67,7 @@ +@@ -65,6 +65,7 @@ #include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h" #include "third_party/blink/renderer/core/navigation_api/navigation_api.h" #include "third_party/blink/renderer/core/page/chrome_client.h" @@ -352,7 +352,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third #include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/scroll/scroll_into_view_util.h" #include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h" -@@ -476,6 +477,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -415,6 +416,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; -@@ -566,6 +578,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -495,6 +507,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; -@@ -601,7 +622,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const { +@@ -531,7 +552,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const { return IsLink(); } @@ -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(); -@@ -659,13 +680,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -583,13 +604,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( -@@ -675,7 +695,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -599,7 +619,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { @@ -427,7 +427,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h --- a/third_party/blink/renderer/core/html/html_anchor_element.h +++ b/third_party/blink/renderer/core/html/html_anchor_element.h -@@ -112,6 +112,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement, +@@ -90,6 +90,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement, bool IsValidInterestInvoker(Element& target) const override; void Trace(Visitor*) const override; @@ -435,7 +435,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_ protected: HTMLAnchorElementBase(const QualifiedName& tag_name, Document&); -@@ -143,7 +144,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement, +@@ -121,7 +122,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement, bool is_trusted, base::TimeTicks platform_time_stamp, KURL); @@ -499,12 +499,12 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p + void DefaultEventHandler(Event&) override; + private: - bool AreAuthorShadowsAllowed() const override { return false; } - + void ParseAttribute(const AttributeModificationParams&) override; + bool IsPresentationAttribute(const QualifiedName&) const override; diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc --- a/third_party/blink/renderer/core/page/context_menu_controller.cc +++ b/third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -200,15 +200,17 @@ void ContextMenuController::DocumentDetached(Document* document) { +@@ -201,15 +201,17 @@ void ContextMenuController::DocumentDetached(Document* document) { } } @@ -525,7 +525,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t mouse_event->SetDefaultHandled(); } -@@ -433,7 +435,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( +@@ -434,7 +436,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch( bool ContextMenuController::ShowContextMenu(LocalFrame* frame, const PhysicalOffset& point, WebMenuSourceType source_type, @@ -535,7 +535,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Displaying the context menu in this function is a big hack as we don't // have context, i.e. whether this is being invoked via a script or in // response to user input (Mouse event WM_RBUTTONDOWN, -@@ -456,6 +459,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -457,6 +460,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, if (!result.InnerNodeOrImageMapImage()) return false; @@ -552,7 +552,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Clear any previously set cached results if we are resetting the hit test // result. image_selection_cached_result_ = nullptr; -@@ -836,7 +849,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -838,7 +851,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, SetAutofillData(result.InnerNode(), data); @@ -564,7 +564,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/third_party/blink/renderer/core/page/context_menu_controller.h --- a/third_party/blink/renderer/core/page/context_menu_controller.h +++ b/third_party/blink/renderer/core/page/context_menu_controller.h -@@ -58,7 +58,7 @@ class CORE_EXPORT ContextMenuController final +@@ -57,7 +57,7 @@ class CORE_EXPORT ContextMenuController final void DocumentDetached(Document*); @@ -573,7 +573,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/th void ShowContextMenuAtPoint(LocalFrame*, float x, float y, -@@ -125,7 +125,8 @@ class CORE_EXPORT ContextMenuController final +@@ -124,7 +124,8 @@ class CORE_EXPORT ContextMenuController final bool ShowContextMenu(LocalFrame*, const PhysicalOffset&, WebMenuSourceType, diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index e65dfc18..6bf6bb0b 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.patch @@ -26,7 +26,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 -@@ -171,6 +171,7 @@ +@@ -169,6 +169,7 @@ #include "components/sensitive_content/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" #include "components/services/storage/public/cpp/buckets/bucket_info.h" @@ -45,7 +45,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/ #include "components/site_engagement/core/mojom/site_engagement_details.mojom.h" #include "components/webapps/browser/banners/app_banner_settings_helper.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h" -@@ -344,6 +345,10 @@ void ImportantSitesUtil::RegisterProfilePrefs( +@@ -345,6 +346,10 @@ void ImportantSitesUtil::RegisterProfilePrefs( // static std::set ImportantSitesUtil::GetInstalledRegisterableDomains( Profile* profile) { @@ -56,7 +56,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/ std::set installed_origins = GetOriginsWithInstalledWebApps(profile); std::set registerable_domains; -@@ -358,6 +363,10 @@ std::vector +@@ -359,6 +364,10 @@ std::vector ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile, size_t max_results) { SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime"); @@ -91,7 +91,7 @@ diff --git a/chrome/browser/media/media_engagement_service.cc b/chrome/browser/m diff --git a/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc b/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc --- a/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc +++ b/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc -@@ -42,7 +42,7 @@ AutoPictureInPictureTabHelper::AutoPictureInPictureTabHelper( +@@ -46,7 +46,7 @@ AutoPictureInPictureTabHelper::AutoPictureInPictureTabHelper( Profile::FromBrowserContext(web_contents->GetBrowserContext()))), auto_blocker_(PermissionDecisionAutoBlockerFactory::GetForProfile( Profile::FromBrowserContext(web_contents->GetBrowserContext()))), diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index fde685d2..c3bba809 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 -@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +@@ -60,6 +60,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; @@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; import org.chromium.components.browser_ui.settings.PreferenceUpdateObserver; -@@ -733,8 +734,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -797,8 +798,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity finishCurrentSettings(mainFragment); return true; } else if (item.getItemId() == R.id.menu_id_general_help) { diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index 1972e4fc..3d9de760 100644 --- a/build/patches/Add-webGL-site-setting.patch +++ b/build/patches/Add-webGL-site-setting.patch @@ -206,7 +206,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -115,6 +115,8 @@ enum ReasonForCallingCanExecuteScripts { +@@ -114,6 +114,8 @@ enum ReasonForCallingCanExecuteScripts { enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag }; @@ -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 -@@ -1959,6 +1959,8 @@ class MODULES_EXPORT WebGLRenderingContextBase +@@ -1958,6 +1958,8 @@ class MODULES_EXPORT WebGLRenderingContextBase DOMArrayBufferView* pixels, int64_t offset); diff --git a/build/patches/Add-webRTC-site-settings.patch b/build/patches/Add-webRTC-site-settings.patch index fe0202fd..7fd3e4a3 100644 --- a/build/patches/Add-webRTC-site-settings.patch +++ b/build/patches/Add-webRTC-site-settings.patch @@ -187,7 +187,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc --- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc +++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc -@@ -47,6 +47,7 @@ +@@ -49,6 +49,7 @@ #include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h" #include "third_party/blink/public/platform/platform.h" #include "third_party/blink/public/platform/task_type.h" @@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d #include "third_party/blink/public/platform/web_url.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h" #include "third_party/blink/public/web/web_document.h" -@@ -989,6 +990,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -1053,6 +1054,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( // |request_multiple_routes|. Whether local IP addresses could be // collected depends on if mic/camera permission is granted for this // origin. diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index 0dcdb80a..070155dd 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -25,8 +25,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../blink/renderer/core/frame/local_frame.h | 3 +++ .../renderer/core/frame/reporting_context.cc | 9 +++++++++ .../renderer/core/frame/reporting_context.h | 7 +++++-- - .../renderer/core/frame/reporting_observer.cc | 3 +-- - 22 files changed, 64 insertions(+), 25 deletions(-) + .../renderer/core/frame/reporting_observer.cc | 4 +--- + 22 files changed, 64 insertions(+), 26 deletions(-) create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Allow-building-without-enable_reporting.inc diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc @@ -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 -@@ -1520,6 +1520,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1511,6 +1511,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( -@@ -1533,6 +1534,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1524,6 +1525,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 -@@ -16264,12 +16264,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -16439,12 +16439,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -308,7 +308,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -506,14 +506,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -508,14 +508,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const GURL& url, const std::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, @@ -329,7 +329,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/public/cpp/parsed_headers.cc --- a/services/network/public/cpp/parsed_headers.cc +++ b/services/network/public/cpp/parsed_headers.cc -@@ -133,6 +133,7 @@ mojom::ParsedHeadersPtr PopulateParsedHeaders( +@@ -140,6 +140,7 @@ mojom::ParsedHeadersPtr PopulateParsedHeaders( } #if BUILDFLAG(ENABLE_REPORTING) @@ -340,7 +340,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 -@@ -1793,7 +1793,6 @@ mojom("mojom") { +@@ -1826,7 +1826,6 @@ mojom("mojom") { export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/public/platform/web_common.h" if (enable_reporting) { @@ -351,7 +351,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1303,6 +1303,7 @@ interface NetworkContext { +@@ -1305,6 +1305,7 @@ interface NetworkContext { // provided `network_anonymization_key`. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -359,7 +359,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -1310,6 +1311,7 @@ interface NetworkContext { +@@ -1312,6 +1313,7 @@ interface NetworkContext { NetworkAnonymizationKey network_anonymization_key, mojo_base.mojom.DictionaryValue body); @@ -367,7 +367,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueEnterpriseReport(string type, string group, url.mojom.Url url, -@@ -1320,6 +1322,7 @@ interface NetworkContext { +@@ -1322,6 +1324,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/csp/content_security_policy.c 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 -@@ -48,6 +48,7 @@ +@@ -49,6 +49,7 @@ #include "build/build_config.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/message_pipe.h" @@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ #include "services/network/public/cpp/features.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/source_location.mojom-blink.h" -@@ -2851,9 +2852,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { +@@ -2854,9 +2855,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { return CHECK_DEREF(GetDocument()).GetResourceCoordinator(); } @@ -501,7 +501,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ const String& type = report->type(); if (!(type == ReportType::kCSPViolation || type == ReportType::kCSPHash || type == ReportType::kDeprecation || -@@ -263,6 +271,7 @@ void ReportingContext::SendToReportingAPI(Report* report, +@@ -268,6 +276,7 @@ void ReportingContext::SendToReportingAPI(Report* report, url, endpoint, body->featureId(), body->disposition(), body->message(), body->sourceFile(), line_number, column_number); } @@ -547,12 +547,13 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p diff --git a/third_party/blink/renderer/core/frame/reporting_observer.cc b/third_party/blink/renderer/core/frame/reporting_observer.cc --- a/third_party/blink/renderer/core/frame/reporting_observer.cc +++ b/third_party/blink/renderer/core/frame/reporting_observer.cc -@@ -61,8 +61,7 @@ void ReportingObserver::QueueReport(Report* report) { +@@ -61,9 +61,7 @@ void ReportingObserver::QueueReport(Report* report) { } bool ReportingObserver::ObservedType(const String& type) { -- return !options_->hasTypesNonNull() || options_->typesNonNull().empty() || -- options_->typesNonNull().Find(type) != kNotFound; +- return !options_->hasTypes() || !options_->types() || +- options_->types()->empty() || +- options_->types()->Find(type) != kNotFound; + return false; } diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 0e303a10..7de62873 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -24,14 +24,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -826,7 +826,6 @@ if (_is_default_toolchain) { +@@ -828,7 +828,6 @@ if (_is_default_toolchain) { "//components/offline_pages/core:offline_page_model_enums_java", "//components/sharing_message:sharing_dialog_type_generated_enum", "//components/sharing_message:sharing_send_message_result_generated_enum", - "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen", + "//components/touch_to_search/core/browser:quick_action_category_enum_javagen", ] - # From java_sources.gni. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java --- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java @@ -89,7 +89,7 @@ diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -683,10 +683,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { +@@ -680,10 +680,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_); pref_change_registrar_.Init(prefs); @@ -100,7 +100,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p // Changes in the profile avatar. pref_change_registrar_.Add( -@@ -1632,6 +1628,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1627,6 +1623,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -111,7 +111,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1191,10 +1191,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { +@@ -1194,10 +1194,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); } @@ -122,7 +122,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile } void ProfileManager::RegisterTestingProfile(std::unique_ptr profile, -@@ -1956,9 +1952,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -1976,9 +1972,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -135,7 +135,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile diff --git a/chrome/browser/supervised_user/supervised_user_browser_utils.cc b/chrome/browser/supervised_user/supervised_user_browser_utils.cc --- a/chrome/browser/supervised_user/supervised_user_browser_utils.cc +++ b/chrome/browser/supervised_user/supervised_user_browser_utils.cc -@@ -99,6 +99,7 @@ bool SupervisedUserCanSkipExtensionParentApprovals(const Profile* profile) { +@@ -98,6 +98,7 @@ bool SupervisedUserCanSkipExtensionParentApprovals(const Profile* profile) { } bool AreExtensionsPermissionsEnabled(Profile* profile) { diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index 1967106e..309bde3f 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 -@@ -1309,6 +1309,12 @@ bool WebMediaPlayerImpl::HasAudio() const { +@@ -1311,6 +1311,12 @@ bool WebMediaPlayerImpl::HasAudio() const { return pipeline_metadata_.has_audio; } @@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc void WebMediaPlayerImpl::EnabledAudioTracksChanged( std::optional enabled_track_id) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3645,7 +3651,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3678,7 +3684,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured(); // Audio only stream is allowed to play when in background. @@ -39,7 +39,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h --- a/third_party/blink/renderer/platform/media/web_media_player_impl.h +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h -@@ -212,6 +212,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl +@@ -211,6 +211,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl bool HasVideo() const override; bool HasAudio() const override; diff --git a/build/patches/Always-allow-inspect-fallback.patch b/build/patches/Always-allow-inspect-fallback.patch index 5f70762b..b27e3d0c 100644 --- a/build/patches/Always-allow-inspect-fallback.patch +++ b/build/patches/Always-allow-inspect-fallback.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/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js --- a/chrome/browser/resources/inspect/inspect.js +++ b/chrome/browser/resources/inspect/inspect.js -@@ -45,6 +45,7 @@ if ('browser-inspector' in queryParamsObject) { +@@ -46,6 +46,7 @@ if ('browser-inspector' in queryParamsObject) { })(); function isVersionNewerThanHost(version) { @@ -20,7 +20,7 @@ diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resour if (!HOST_CHROME_VERSION) { return false; } -@@ -590,7 +591,7 @@ function formatValue(data, property) { +@@ -597,7 +598,7 @@ function formatValue(data, property) { function addFavicon(row, data) { const favicon = document.createElement('img'); if (data['faviconUrl']) { 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 9a782d7a..f9b66b88 100644 --- a/build/patches/Always-open-browser-controls-in-new-tab.patch +++ b/build/patches/Always-open-browser-controls-in-new-tab.patch @@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpenerImpl; -@@ -42,6 +43,7 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -43,6 +44,7 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; import org.chromium.chrome.browser.profiles.Profile; @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; -@@ -308,6 +310,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -335,6 +337,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { @Nullable Referrer referrer, boolean navigateToTab, @Nullable AdditionalNavigationParams additionalNavigationParams) { @@ -34,7 +34,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); -@@ -328,6 +331,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -355,6 +358,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { * @param url The URL to open. */ public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) { diff --git a/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch b/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch index 7650e8f7..c96d03bb 100644 --- a/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch +++ b/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch @@ -19,7 +19,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java @@ -41,6 +41,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro - private final Supplier mPersistentFullscreenMode; + private final ObservableSupplier mPersistentFullscreenMode; private long mCurrentShowingStartTime; + private int temporaryToken; @@ -53,7 +53,7 @@ new file mode 100644 diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml --- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml +++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml -@@ -74,6 +74,12 @@ found in the LICENSE file. +@@ -79,6 +79,12 @@ found in the LICENSE file. android:key="disable_toolbar_swipeup" android:title="@string/disable_toolbar_swipe_up" /> diff --git a/build/patches/Android-fonts-fingerprinting-mitigation.patch b/build/patches/Android-fonts-fingerprinting-mitigation.patch index 9c49ee57..f40f3e98 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 -@@ -1009,6 +1009,9 @@ public final class ProductionSupportedFlagList { +@@ -970,6 +970,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."), @@ -67,8 +67,8 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/common/Produc diff --git a/android_webview/nonembedded/component_updater/registration.cc b/android_webview/nonembedded/component_updater/registration.cc --- a/android_webview/nonembedded/component_updater/registration.cc +++ b/android_webview/nonembedded/component_updater/registration.cc -@@ -26,6 +26,9 @@ - #include "components/privacy_sandbox/masked_domain_list/masked_domain_list.pb.h" +@@ -20,6 +20,9 @@ + #include "components/component_updater/installer_policies/origin_trials_component_installer.h" #include "components/update_client/update_client.h" +#include "third_party/blink/public/common/features.h" @@ -77,7 +77,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and namespace android_webview { void RegisterComponentsForUpdate( -@@ -42,6 +45,12 @@ void RegisterComponentsForUpdate( +@@ -36,6 +39,12 @@ void RegisterComponentsForUpdate( std::vector> component_installer_list_cromite; @@ -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 -@@ -8022,6 +8022,13 @@ static_library("browser") { +@@ -8016,6 +8016,13 @@ static_library("browser") { ] } @@ -123,7 +123,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc --- a/chrome/browser/component_updater/registration.cc +++ b/chrome/browser/component_updater/registration.cc -@@ -115,10 +115,20 @@ +@@ -116,10 +116,20 @@ #include "chrome/browser/component_updater/file_type_policies_component_installer.h" #endif @@ -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 -@@ -270,6 +270,10 @@ static_library("renderer") { +@@ -269,6 +269,10 @@ static_library("renderer") { deps += [ "//components/strings" ] } @@ -175,7 +175,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn --- a/components/component_updater/installer_policies/BUILD.gn +++ b/components/component_updater/installer_policies/BUILD.gn -@@ -38,6 +38,13 @@ static_library("installer_policies_no_content_deps") { +@@ -36,6 +36,13 @@ static_library("installer_policies_no_content_deps") { "trust_token_key_commitments_component_installer_policy.h", ] @@ -358,7 +358,7 @@ new file mode 100644 diff --git a/components/services/font/BUILD.gn b/components/services/font/BUILD.gn --- a/components/services/font/BUILD.gn +++ b/components/services/font/BUILD.gn -@@ -24,6 +24,16 @@ source_set("lib") { +@@ -23,6 +23,16 @@ source_set("lib") { "//ui/gfx", ] @@ -378,7 +378,7 @@ diff --git a/components/services/font/BUILD.gn b/components/services/font/BUILD. diff --git a/components/services/font/font_service_app.cc b/components/services/font/font_service_app.cc --- a/components/services/font/font_service_app.cc +++ b/components/services/font/font_service_app.cc -@@ -20,6 +20,12 @@ +@@ -25,6 +25,12 @@ #include "ui/gfx/font_fallback_linux.h" #include "ui/gfx/font_render_params.h" @@ -391,7 +391,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/ #if BUILDFLAG(ENABLE_PDF) #include "components/services/font/pdf_fontconfig_matching.h" // nogncheck #endif -@@ -95,6 +101,7 @@ void FontServiceApp::BindReceiver( +@@ -100,6 +106,7 @@ void FontServiceApp::BindReceiver( void FontServiceApp::MatchFamilyName(const std::string& family_name, mojom::TypefaceStylePtr requested_style, MatchFamilyNameCallback callback) { @@ -399,7 +399,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/ TRACE_EVENT0("fonts", "FontServiceApp::MatchFamilyName"); SkFontConfigInterface::FontIdentity result_identity; -@@ -155,6 +162,7 @@ void FontServiceApp::MatchFamilyName(const std::string& family_name, +@@ -160,6 +167,7 @@ void FontServiceApp::MatchFamilyName(const std::string& family_name, std::move(callback).Run(std::move(identity), result_family_cppstring, std::move(style)); @@ -407,7 +407,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/ } void FontServiceApp::OpenStream(uint32_t id_number, -@@ -169,12 +177,43 @@ void FontServiceApp::OpenStream(uint32_t id_number, +@@ -174,12 +182,43 @@ void FontServiceApp::OpenStream(uint32_t id_number, std::move(callback).Run(std::move(file)); } @@ -451,7 +451,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/ gfx::FallbackFontData fallback_font; if (gfx::GetFallbackFontForChar(character, locale, &fallback_font)) { size_t index = FindOrAddPath(fallback_font.filepath); -@@ -189,6 +228,7 @@ void FontServiceApp::FallbackFontForCharacter( +@@ -194,6 +233,7 @@ void FontServiceApp::FallbackFontForCharacter( } else { std::move(callback).Run(nullptr, "", false, false); } @@ -459,7 +459,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/ } void FontServiceApp::FontRenderStyleForStrike( -@@ -232,6 +272,9 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName( +@@ -237,6 +277,9 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName( TRACE_EVENT0("fonts", "FontServiceApp::MatchFontByPostscriptNameOrFullFontName"); @@ -469,7 +469,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/ std::optional match_result = FontConfigLocalMatching::FindFontByPostscriptNameOrFullFontName(family); if (match_result) { -@@ -243,6 +286,7 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName( +@@ -248,6 +291,7 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName( return; } std::move(callback).Run(nullptr); @@ -512,7 +512,7 @@ diff --git a/components/services/font/public/cpp/font_loader.cc b/components/ser diff --git a/components/services/font/public/cpp/font_loader.h b/components/services/font/public/cpp/font_loader.h --- a/components/services/font/public/cpp/font_loader.h +++ b/components/services/font/public/cpp/font_loader.h -@@ -54,6 +54,7 @@ class FontLoader : public SkFontConfigInterface, +@@ -56,6 +56,7 @@ class FontLoader : public SkFontConfigInterface, SkFontStyle* out_style) override; SkStreamAsset* openStream(const FontIdentity& identity) override LOCKS_EXCLUDED(mapped_font_files_lock_); @@ -523,7 +523,7 @@ diff --git a/components/services/font/public/cpp/font_loader.h b/components/serv diff --git a/components/services/font/public/cpp/font_service_thread.cc b/components/services/font/public/cpp/font_service_thread.cc --- a/components/services/font/public/cpp/font_service_thread.cc +++ b/components/services/font/public/cpp/font_service_thread.cc -@@ -247,6 +247,54 @@ void FontServiceThread::OpenStreamImpl(base::WaitableEvent* done_event, +@@ -258,6 +258,54 @@ void FontServiceThread::OpenStreamImpl(base::WaitableEvent* done_event, done_event, output_file)); } @@ -581,7 +581,7 @@ diff --git a/components/services/font/public/cpp/font_service_thread.cc b/compon diff --git a/components/services/font/public/cpp/font_service_thread.h b/components/services/font/public/cpp/font_service_thread.h --- a/components/services/font/public/cpp/font_service_thread.h +++ b/components/services/font/public/cpp/font_service_thread.h -@@ -55,6 +55,8 @@ class FontServiceThread : public base::RefCountedThreadSafe { +@@ -57,6 +57,8 @@ class FontServiceThread : public base::RefCountedThreadSafe { SkFontStyle* out_style); scoped_refptr OpenStream( const SkFontConfigInterface::FontIdentity& identity); @@ -590,7 +590,7 @@ diff --git a/components/services/font/public/cpp/font_service_thread.h b/compone bool FallbackFontForCharacter( uint32_t character, -@@ -118,6 +120,9 @@ class FontServiceThread : public base::RefCountedThreadSafe { +@@ -121,6 +123,9 @@ class FontServiceThread : public base::RefCountedThreadSafe { void OpenStreamImpl(base::WaitableEvent* done_event, base::File* output_file, const uint32_t id_number); @@ -679,7 +679,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bin diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn --- a/content/child/BUILD.gn +++ b/content/child/BUILD.gn -@@ -136,6 +136,13 @@ target(link_target_type, "child") { +@@ -135,6 +135,13 @@ target(link_target_type, "child") { ] } @@ -696,7 +696,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn -@@ -347,6 +347,10 @@ target(link_target_type, "renderer") { +@@ -349,6 +349,10 @@ target(link_target_type, "renderer") { deps += [ "//services/screen_ai/public/mojom" ] } @@ -710,7 +710,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 -@@ -137,6 +137,23 @@ +@@ -138,6 +138,23 @@ #include "content/common/android/sync_compositor_statics.h" #endif @@ -734,7 +734,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer using blink::Platform; using blink::WebAudioDevice; using blink::WebAudioLatencyHint; -@@ -187,6 +204,37 @@ viz::command_buffer_metrics::ContextType ToVizContextType( +@@ -188,6 +205,37 @@ viz::command_buffer_metrics::ContextType ToVizContextType( NOTREACHED(); } @@ -772,7 +772,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer } // namespace //------------------------------------------------------------------------------ -@@ -200,18 +248,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -201,18 +249,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) { @@ -838,7 +838,7 @@ new file mode 100644 diff --git a/skia/BUILD.gn b/skia/BUILD.gn --- a/skia/BUILD.gn +++ b/skia/BUILD.gn -@@ -465,6 +465,18 @@ component("skia") { +@@ -460,6 +460,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 589cd06b..8450bb8d 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -284,7 +284,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1465,7 +1465,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1441,7 +1441,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java -@@ -199,6 +199,13 @@ public abstract class TabModelSelectorBase +@@ -201,6 +201,13 @@ public abstract class TabModelSelectorBase return null; } @@ -353,7 +353,7 @@ new file mode 100644 diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java -@@ -149,6 +149,8 @@ public interface TabModelSelector { +@@ -150,6 +150,8 @@ public interface TabModelSelector { /** Get total pinned tab count across all tab models */ int getTotalPinnedTabCount(); @@ -419,7 +419,7 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java --- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java +++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java -@@ -551,6 +551,16 @@ public class TabWindowManagerImpl implements TabWindowManager { +@@ -566,6 +566,16 @@ public class TabWindowManagerImpl implements TabWindowManager { return tabGroupModelFilter.getTabsInGroup(tabGroupId); } @@ -497,7 +497,7 @@ diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/c diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java -@@ -136,6 +136,8 @@ public class Snackbar { +@@ -137,6 +137,8 @@ public class Snackbar { private @Nullable String mTemplateText; private @Nullable String mActionText; private @Nullable Object mActionData; @@ -506,7 +506,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro private int mBackgroundColor; private int mTextApperanceResId; private boolean mDefaultLines = true; -@@ -242,6 +244,20 @@ public class Snackbar { +@@ -243,6 +245,20 @@ public class Snackbar { return this; } @@ -530,7 +530,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java -@@ -327,6 +327,12 @@ public class SnackbarManager +@@ -340,6 +340,12 @@ public class SnackbarManager new SnackbarView( mActivity, this, @@ -584,8 +584,8 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro + mDismissButtonView.setOnClickListener(dismissListener); mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image); mEdgeToEdgeSupplier = edgeToEdgeSupplier; - if (SnackbarManager.isFloatingSnackbarEnabled()) { -@@ -429,6 +434,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { + // TODO(crbug/com/451807932): Replace with a custom pad adjuster to account for inset +@@ -431,6 +436,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { mActionButtonView.setVisibility(View.VISIBLE); mActionButtonView.setContentDescription(snackbar.getActionText()); setViewText(mActionButtonView, snackbar.getActionText(), animate); @@ -601,7 +601,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc -@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { +@@ -911,6 +911,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { view->SetFocus(focused); } @@ -627,7 +627,7 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h --- a/content/browser/web_contents/web_contents_android.h +++ b/content/browser/web_contents/web_contents_android.h -@@ -196,6 +196,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid { void OnScaleFactorChanged(JNIEnv* env); void SetFocus(JNIEnv* env, jboolean focused); @@ -638,7 +638,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4094,8 +4094,10 @@ void WebContentsImpl::Stop() { +@@ -4151,8 +4151,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -652,7 +652,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 -@@ -1134,6 +1134,12 @@ public class WebContentsImpl +@@ -1143,6 +1143,12 @@ public class WebContentsImpl WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus); } @@ -665,7 +665,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1463,6 +1469,8 @@ public class WebContentsImpl +@@ -1480,6 +1486,8 @@ public class WebContentsImpl void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -677,7 +677,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 -@@ -288,6 +288,8 @@ public interface WebContents extends Parcelable { +@@ -297,6 +297,8 @@ public interface WebContents extends Parcelable { */ void setFocus(boolean hasFocus); @@ -689,7 +689,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 -@@ -188,6 +188,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa +@@ -191,6 +191,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa @Override public void setFocus(boolean hasFocus) {} @@ -734,7 +734,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -4654,6 +4654,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4655,6 +4655,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -745,7 +745,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -3303,6 +3303,7 @@ void LocalFrame::DidFreeze() { +@@ -3306,6 +3306,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -753,7 +753,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3317,6 +3318,7 @@ void LocalFrame::DidResume() { +@@ -3320,6 +3321,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); @@ -764,7 +764,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 -@@ -1033,7 +1033,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( +@@ -1025,7 +1025,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( if (!parent_page_scheduler_) return SchedulingLifecycleState::kNotThrottled; if (parent_page_scheduler_->IsFrozen()) { @@ -777,7 +777,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_sch diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc --- a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc +++ b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc -@@ -237,10 +237,12 @@ void PageSchedulerImpl::SetPageFrozen(bool frozen) { +@@ -236,10 +236,12 @@ void PageSchedulerImpl::SetPageFrozen(bool frozen) { // it is desirable to reject the page freeze to prevent the scheduler from // being put in a bad state. See https://crbug.com/873214 for context of how // this can happen on the browser side. @@ -790,7 +790,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_sche PolicyUpdater policy_updater; SetPageFrozenImpl(frozen, policy_updater); } -@@ -816,7 +818,12 @@ bool PageSchedulerImpl::IsBackgrounded() const { +@@ -804,7 +806,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 5b7a36ba..2ccd3c1b 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -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 -@@ -116,6 +116,8 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable { +@@ -115,6 +115,8 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable { std::unique_ptr CreateSharedAudioBuffer(); @@ -96,7 +96,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir #include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h" #include "third_party/blink/public/platform/web_audio_latency_hint.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" -@@ -850,7 +851,9 @@ double AudioContext::baseLatency() const { +@@ -863,7 +864,9 @@ double AudioContext::baseLatency() const { DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_); DCHECK(destination()); @@ -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" -@@ -774,6 +775,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { +@@ -776,6 +777,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { return To(GetExecutionContext()); } @@ -151,7 +151,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc -@@ -374,6 +374,7 @@ void OfflineAudioContext::FireCompletionEvent() { +@@ -395,6 +395,7 @@ void OfflineAudioContext::FireCompletionEvent() { if (!rendered_buffer) { return; } @@ -218,7 +218,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 -@@ -608,9 +608,8 @@ +@@ -631,9 +631,8 @@ { // AudioContext.playoutStats interface. // https://chromestatus.com/feature/5172818344148992 diff --git a/build/patches/Backport-v143-android-extensions-changes.patch b/build/patches/Backport-v143-android-extensions-changes.patch index 6dc2ca62..11228e84 100644 --- a/build/patches/Backport-v143-android-extensions-changes.patch +++ b/build/patches/Backport-v143-android-extensions-changes.patch @@ -6,8 +6,8 @@ Enable support for anonymous browsing. Backport of bugid 7089957 extensions Use BrowserWindowInterface in ExtensionViewHost https://chromium-review.googlesource.com/c/chromium/src/+/7089957 --- - .../chrome/browser/ChromeTabbedActivity.java | 58 +------- - .../chrome/browser/app/ChromeActivity.java | 76 +++++++++++ + .../chrome/browser/ChromeTabbedActivity.java | 1 + + .../chrome/browser/app/ChromeActivity.java | 12 ++ .../customtabs/BaseCustomTabActivity.java | 1 + .../BaseCustomTabRootUiCoordinator.java | 5 + .../tabbed_mode/TabbedRootUiCoordinator.java | 2 + @@ -26,92 +26,12 @@ https://chromium-review.googlesource.com/c/chromium/src/+/7089957 .../ExtensionActionListMediatorTest.java | 11 +- .../ExtensionToolbarCoordinator.java | 5 + .../ExtensionToolbarCoordinatorImpl.java | 4 + - 20 files changed, 225 insertions(+), 148 deletions(-) + 20 files changed, 160 insertions(+), 92 deletions(-) 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 -@@ -292,12 +292,8 @@ import org.chromium.chrome.browser.ui.IncognitoRestoreAppLaunchDrawBlockerFactor - import org.chromium.chrome.browser.ui.RootUiCoordinator; - import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate; - import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType; --import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask; --import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTracker; --import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFactory; - import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; - import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; --import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory; - import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; - import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; - import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController; -@@ -835,18 +831,7 @@ public class ChromeTabbedActivity extends ChromeActivity { - mTabModelNotificationDotManager.initWithNative(mTabModelSelector); - TabModel currentTabModel = mTabModelSelector.getCurrentModel(); - -- // Initialize ChromeAndroidTask. -- // -- // This needs to be done before any tab is added so that -- // TabModel#associateWithBrowserWindow() can be called in time for each tab to have the -- // same native SessionID as the native AndroidBrowserWindow managed by -- // ChromeAndroidTask. -- ChromeAndroidTask chromeAndroidTask = initializeChromeAndroidTask(currentTabModel); -- if (chromeAndroidTask != null) { -- currentTabModel.associateWithBrowserWindow( -- chromeAndroidTask.getOrCreateNativeBrowserWindowPtr()); -- initializeExtensionWindowControllerBridge(chromeAndroidTask); -- } -+ initializeChromeAndroidTask(BrowserWindowType.NORMAL, currentTabModel); - - // For saving non-incognito tab closures for Recent Tabs. - boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); -@@ -1346,46 +1331,6 @@ public class ChromeTabbedActivity extends ChromeActivity { - } - } - -- @Nullable -- private ChromeAndroidTask initializeChromeAndroidTask(TabModel currentTabModel) { -- try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.initializeChromeAndroidTask")) { -- var chromeAndroidTaskTracker = ChromeAndroidTaskTrackerFactory.getInstance(); -- if (chromeAndroidTaskTracker == null) { -- return null; -- } -- -- var activityWindowAndroid = getWindowAndroid(); -- assert activityWindowAndroid != null -- : "ChromeAndroidTask must be initialized after Java WindowAndroid is created."; -- -- int pendingIdExtraValue = -- IntentUtils.safeGetIntExtra( -- getIntent(), -- ChromeAndroidTaskTracker.EXTRA_PENDING_BROWSER_WINDOW_TASK_ID, -- /* defaultValue= */ -1); -- OptionalInt pendingId = -- pendingIdExtraValue == -1 -- ? OptionalInt.empty() -- : OptionalInt.of(pendingIdExtraValue); -- -- return chromeAndroidTaskTracker.obtainTask( -- BrowserWindowType.NORMAL, activityWindowAndroid, currentTabModel, pendingId); -- } -- } -- -- private void initializeExtensionWindowControllerBridge( -- @Nullable ChromeAndroidTask chromeAndroidTask) { -- if (chromeAndroidTask == null) { -- return; -- } -- -- var extensionWindowControllerBridge = -- ExtensionWindowControllerBridgeFactory.create(chromeAndroidTask); -- if (extensionWindowControllerBridge != null) { -- chromeAndroidTask.addFeature(extensionWindowControllerBridge); -- } -- } -- - private void maybeCreateIncognitoTabSnapshotController() { - try (TraceEvent e = - TraceEvent.scoped( -@@ -2976,6 +2921,7 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -2937,6 +2937,7 @@ public class ChromeTabbedActivity extends ChromeActivity { mLayoutStateProviderSupplier, getBrowserControlsManager(), getWindowAndroid(), @@ -122,15 +42,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 -@@ -52,6 +52,7 @@ import org.chromium.base.CommandLine; - import org.chromium.base.ContextUtils; - import org.chromium.base.DeviceInfo; - import org.chromium.base.InputHintChecker; -+import org.chromium.base.IntentUtils; - import org.chromium.base.Log; - import org.chromium.base.PowerMonitor; - import org.chromium.base.TraceEvent; -@@ -61,6 +62,7 @@ import org.chromium.base.metrics.RecordUserAction; +@@ -62,6 +62,7 @@ import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.shared_preferences.SharedPreferencesManager; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; @@ -138,31 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.base.supplier.UnownedUserDataSupplier; import org.chromium.chrome.R; -@@ -203,9 +205,15 @@ import org.chromium.chrome.browser.ui.RootUiCoordinator; - import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker; - import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; - import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate; -+import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType; -+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask; -+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskFeature; -+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTracker; -+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFactory; - import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; - import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; - import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; -+import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory; - import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; - import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; - import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; -@@ -272,6 +280,7 @@ import org.chromium.webapk.lib.client.WebApkNavigationClient; - import java.util.ArrayList; - import java.util.List; - import java.util.function.Supplier; -+import java.util.OptionalInt; - - /** - * A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder} and -@@ -440,6 +449,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -447,6 +448,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity private @Nullable TabStateThemeResourceProvider mThemeResourceProvider; @@ -172,69 +60,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv protected ChromeActivity() { mManualFillingComponentSupplier.set(ManualFillingComponentFactory.createComponent()); sNextActivityId++; -@@ -1018,6 +1030,70 @@ public abstract class ChromeActivity extends AsyncInitializationActivity - TraceEvent.end("ChromeActivity:CompositorInitialization"); - } - -+ /** -+ * Initializes {@link ChromeAndroidTask} and adds {@link ChromeAndroidTaskFeature}s. -+ * -+ *

This method is for a subclass of {@link ChromeActivity} that needs windowing support on -+ * Java and/or native side(s). -+ * -+ *

If a subclass of {@link ChromeActivity} needs {@link ChromeAndroidTask}, it should call -+ * this method as early as possible (after the native library is loaded). For example, this -+ * method should be called before any tab is added so that {@link -+ * TabModel#associateWithBrowserWindow} can be called in time for each tab to have the same -+ * native SessionID as the native {@code AndroidBrowserWindow}. -+ * -+ * @param browserWindowType Type of the browser window (normal, popup, etc.) -+ * @param currentTabModel The current {@link TabModel} for this {@code Activity}. -+ */ -+ protected final void initializeChromeAndroidTask( -+ @BrowserWindowType int browserWindowType, TabModel currentTabModel) { -+ try (TraceEvent e = TraceEvent.scoped("ChromeActivity.initializeChromeAndroidTask")) { -+ // 1. Obtain a ChromeAndroidTask that represents the Task (window) for this Activity. -+ var chromeAndroidTaskTracker = ChromeAndroidTaskTrackerFactory.getInstance(); -+ if (chromeAndroidTaskTracker == null) { -+ return; -+ } -+ -+ var activityWindowAndroid = getWindowAndroid(); -+ assert activityWindowAndroid != null -+ : "ChromeAndroidTask must be initialized after Java WindowAndroid is created."; -+ -+ int pendingIdExtraValue = -+ IntentUtils.safeGetIntExtra( -+ getIntent(), -+ ChromeAndroidTaskTracker.EXTRA_PENDING_BROWSER_WINDOW_TASK_ID, -+ /* defaultValue= */ -1); -+ OptionalInt pendingId = -+ pendingIdExtraValue == -1 -+ ? OptionalInt.empty() -+ : OptionalInt.of(pendingIdExtraValue); -+ -+ var chromeAndroidTask = -+ chromeAndroidTaskTracker.obtainTask( -+ browserWindowType, activityWindowAndroid, currentTabModel, pendingId); -+ -+ // 2. Associate the current TabModel with ChromeAndroidTask's underlying native -+ // AndroidBrowserWindow object. -+ currentTabModel.associateWithBrowserWindow( -+ chromeAndroidTask.getOrCreateNativeBrowserWindowPtr()); -+ -+ // 3. Add windowing features. -+ ChromeAndroidTaskFeature extensionWindowControllerBridge = -+ ExtensionWindowControllerBridgeFactory.create(chromeAndroidTask); -+ if (extensionWindowControllerBridge != null) { -+ chromeAndroidTask.addFeature(extensionWindowControllerBridge); -+ } +@@ -1093,9 +1097,17 @@ public abstract class ChromeActivity extends AsyncInitializationActivity + if (extensionWindowControllerBridge != null) { + chromeAndroidTask.addFeature(extensionWindowControllerBridge); + } + + // 4. Make the ChromeAndroidTask available via OneshotSupplier. + mChromeAndroidTaskSupplier.set(chromeAndroidTask); -+ } -+ } -+ + } + } + + /** Returns an {@link OneshotSupplier} for {@link ChromeAndroidTask}. */ + protected final OneshotSupplier getChromeAndroidTaskSupplier() { + return mChromeAndroidTaskSupplier; @@ -246,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java -@@ -361,6 +361,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { +@@ -364,6 +364,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { getTabModelSelectorSupplier(), getBrowserControlsManager(), getWindowAndroid(), @@ -265,15 +100,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.base.supplier.SupplierUtils; import org.chromium.chrome.R; -@@ -98,6 +99,7 @@ import org.chromium.chrome.browser.ui.RootUiCoordinator; - import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker; +@@ -96,6 +97,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker; + import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler; +import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarCoordinator; -@@ -164,6 +166,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { +@@ -160,6 +162,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { * @param tabModelSelectorSupplier Supplies the {@link TabModelSelector}. * @param browserControlsManager Manages the browser controls. * @param windowAndroid The current {@link WindowAndroid}. @@ -281,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base * @param activityLifecycleDispatcher Allows observation of the activity lifecycle. * @param layoutManagerSupplier Supplies the {@link LayoutManager}. * @param menuOrKeyboardActionController Controls the menu or keyboard action controller. -@@ -204,6 +207,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { +@@ -200,6 +203,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { @NonNull ObservableSupplier tabModelSelectorSupplier, @NonNull BrowserControlsManager browserControlsManager, @NonNull ActivityWindowAndroid windowAndroid, @@ -289,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base @NonNull ActivityLifecycleDispatcher activityLifecycleDispatcher, @NonNull ObservableSupplier layoutManagerSupplier, @NonNull MenuOrKeyboardActionController menuOrKeyboardActionController, -@@ -249,6 +253,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { +@@ -245,6 +249,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { new OneshotSupplierImpl<>(), browserControlsManager, windowAndroid, @@ -319,7 +154,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 -@@ -173,6 +173,7 @@ import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoord +@@ -184,6 +184,7 @@ import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoord import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; import org.chromium.chrome.browser.ui.appmenu.MenuButtonDelegate; @@ -327,7 +162,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.native_page.NativePage; import org.chromium.chrome.browser.ui.system.StatusBarColorController; -@@ -732,6 +733,7 @@ public class ToolbarManager +@@ -748,6 +749,7 @@ public class ToolbarManager * @param omniboxFocusStateSupplier Supplier to access the focus state of the omnibox. * @param promoShownOneshotSupplier Supplier for whether a promo was shown on startup. * @param windowAndroid The {@link WindowAndroid} associated with the ToolbarManager. @@ -335,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar * @param isInOverviewModeSupplier Supplies whether the app is currently in overview mode. * @param modalDialogManagerSupplier Supplies the {@link ModalDialogManager}. * @param statusBarColorController The {@link StatusBarColorController} for the app. -@@ -783,6 +785,7 @@ public class ToolbarManager +@@ -800,6 +802,7 @@ public class ToolbarManager ObservableSupplier omniboxFocusStateSupplier, OneshotSupplier promoShownOneshotSupplier, WindowAndroid windowAndroid, @@ -343,18 +178,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar Supplier isInOverviewModeSupplier, Supplier modalDialogManagerSupplier, StatusBarColorController statusBarColorController, -@@ -1103,6 +1106,7 @@ public class ToolbarManager +@@ -1127,6 +1130,7 @@ public class ToolbarManager mActivity, extensionToolbarStub, windowAndroid, + chromeAndroidTaskSupplier, - profileSupplier, - tabProvider, + (ObservableSupplier) profileSupplier, + (ObservableSupplier) tabProvider, mTabCreatorManager.getTabCreator(false), diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -151,6 +151,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinatorFactory; +@@ -166,6 +166,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinatorFactory; import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler; import org.chromium.chrome.browser.ui.appmenu.AppMenuObserver; @@ -362,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerCreator; -@@ -245,6 +246,7 @@ public class RootUiCoordinator +@@ -262,6 +263,7 @@ public class RootUiCoordinator protected @Nullable AppMenuCoordinator mAppMenuCoordinator; private final MenuOrKeyboardActionController mMenuOrKeyboardActionController; protected final ActivityWindowAndroid mWindowAndroid; @@ -370,7 +205,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi protected final ActivityTabProvider mActivityTabProvider; protected ObservableSupplier mShareDelegateSupplier; -@@ -382,6 +384,7 @@ public class RootUiCoordinator +@@ -401,6 +403,7 @@ public class RootUiCoordinator * @param layoutStateProviderOneshotSupplier Supplier of the {@link LayoutStateProvider}. * @param browserControlsManager Manages the browser controls. * @param windowAndroid The current {@link WindowAndroid}. @@ -378,7 +213,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi * @param activityLifecycleDispatcher Allows observation of the activity lifecycle. * @param layoutManagerSupplier Supplies the {@link LayoutManager}. * @param menuOrKeyboardActionController Controls the menu or keyboard action controller. -@@ -427,6 +430,7 @@ public class RootUiCoordinator +@@ -446,6 +449,7 @@ public class RootUiCoordinator @NonNull OneshotSupplier layoutStateProviderOneshotSupplier, @NonNull BrowserControlsManager browserControlsManager, @NonNull ActivityWindowAndroid windowAndroid, @@ -386,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi @NonNull ActivityLifecycleDispatcher activityLifecycleDispatcher, @NonNull ObservableSupplier layoutManagerSupplier, @NonNull MenuOrKeyboardActionController menuOrKeyboardActionController, -@@ -459,6 +463,7 @@ public class RootUiCoordinator +@@ -478,6 +482,7 @@ public class RootUiCoordinator mCallbackController = new CallbackController(); mActivity = activity; mWindowAndroid = windowAndroid; @@ -394,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi setupUnownedUserDataSuppliers(); mOnOmniboxFocusChangedListener = onOmniboxFocusChangedListener; mBrowserControlsManager = browserControlsManager; -@@ -1642,6 +1647,7 @@ public class RootUiCoordinator +@@ -1715,6 +1720,7 @@ public class RootUiCoordinator mOmniboxFocusStateSupplier, mPromoShownOneshotSupplier, mWindowAndroid, @@ -405,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi 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 -@@ -207,6 +207,7 @@ if (is_android) { +@@ -205,6 +205,7 @@ if (is_android) { "//chrome/browser/ui/android/signin:java", "//chrome/browser/ui/android/theme:java", "//chrome/browser/ui/android/toolbar:java", @@ -765,15 +600,15 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b 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 -@@ -188,6 +188,7 @@ android_library("java") { +@@ -189,6 +189,7 @@ android_library("java") { "//chrome/browser/ui/android/omnibox:java_resources", "//chrome/browser/ui/android/pdf:java", "//chrome/browser/ui/android/theme:java", + "//chrome/browser/ui/browser_window/public/android:java", + "//chrome/browser/url_constants/android:java", "//chrome/browser/user_education:java", "//chrome/browser/util:java", - "//components/browser_ui/bottomsheet/android:java", -@@ -474,6 +475,7 @@ robolectric_library("junit") { +@@ -478,6 +479,7 @@ robolectric_library("junit") { "//chrome/browser/ui/android/omnibox:java_resources", "//chrome/browser/ui/android/theme:java", "//chrome/browser/ui/android/toolbar:java_resources", diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index f5335965..ff90f965 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -398,6 +398,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, +@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); HeapObserverList& ContextLifecycleObserverSet(); diff --git a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch index 92fbe294..3b7f2296 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 -@@ -5151,7 +5151,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -5180,7 +5180,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( } void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) { @@ -82,7 +82,7 @@ diff --git a/third_party/blink/renderer/core/frame/location.cc b/third_party/bli #include "third_party/blink/renderer/bindings/core/v8/binding_security.h" #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h" #include "third_party/blink/renderer/core/dom/document.h" -@@ -126,8 +127,20 @@ DOMStringList* Location::ancestorOrigins() const { +@@ -127,8 +128,20 @@ DOMStringList* Location::ancestorOrigins() const { auto* origins = MakeGarbageCollected(); if (!IsAttached()) return origins; @@ -106,7 +106,7 @@ diff --git a/third_party/blink/renderer/core/frame/location.cc b/third_party/bli 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 -@@ -836,6 +836,11 @@ WebString DocumentLoader::HttpMethod() const { +@@ -835,6 +835,11 @@ WebString DocumentLoader::HttpMethod() const { } const AtomicString& DocumentLoader::GetReferrer() const { @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return referrer_; } -@@ -2916,6 +2921,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2903,6 +2908,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 c7d34b52..2771f753 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -49,7 +49,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc --- a/chrome/browser/ui/singleton_tabs.cc +++ b/chrome/browser/ui/singleton_tabs.cc -@@ -141,6 +141,11 @@ int GetIndexOfExistingTab(BrowserWindowInterface* browser, +@@ -144,6 +144,11 @@ int GetIndexOfExistingTab(BrowserWindowInterface* browser, continue; } @@ -80,7 +80,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib return url::FindAndCompareScheme(utf8_input, scheme, nullptr); } -@@ -578,7 +583,8 @@ void AutocompleteInput::ParseForEmphasizeComponents( +@@ -580,7 +585,8 @@ void AutocompleteInput::ParseForEmphasizeComponents( // For the view-source and blob schemes, we should emphasize the host of the // URL qualified by the view-source or blob prefix. if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) || @@ -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 -@@ -1142,6 +1142,8 @@ component("net") { +@@ -1147,6 +1147,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 88a9ee6a..04b688ba 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -42,12 +42,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../core/compare/cluster_server_proxy.cc | 2 +- .../product_specifications_server_proxy.cc | 2 +- .../subscriptions_server_proxy.cc | 2 +- + .../internal/composebox_query_controller.cc | 2 +- .../data_sharing_network_loader_impl.cc | 2 +- .../internal/preview_server_proxy.cc | 2 +- .../endpoint_fetcher/endpoint_fetcher.cc | 127 ++++++-- .../endpoint_fetcher/endpoint_fetcher.h | 28 +- components/manta/base_provider.cc | 4 +- - .../composebox/composebox_query_controller.cc | 2 +- .../Bromite-auto-updater.inc | 3 + .../Bromite-auto-updater.inc | 1 + 42 files changed, 1154 insertions(+), 106 deletions(-) @@ -79,7 +79,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 -@@ -1952,6 +1952,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1959,6 +1959,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] @@ -92,7 +92,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -848,6 +848,8 @@ chrome_java_sources = [ +@@ -858,6 +858,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/omaha/OmahaBase.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegate.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java", @@ -686,7 +686,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 -@@ -2669,6 +2669,12 @@ static_library("browser") { +@@ -2660,6 +2660,12 @@ static_library("browser") { } if (is_android) { @@ -1004,18 +1004,18 @@ 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 -@@ -375,6 +375,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -386,6 +386,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kProtectedTabsAndroid, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, + &kInlineUpdateFlow, - &kOmahaMinSdkVersionAndroid, - &kShortCircuitUnfocusAnimation, - &kShowHomeButtonPolicyAndroid, + &kQuickDeleteAndroidSurvey, + &kReadAloud, + &kReadAloudAudioOverviews, 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 -@@ -464,6 +464,7 @@ public abstract class ChromeFeatureList { +@@ -469,6 +469,7 @@ public abstract class ChromeFeatureList { public static final String INCOGNITO_NTP_SMALL_ICON = "IncognitoNtpSmallIcon"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; public static final String INCOGNITO_THEME_OVERLAY_TESTING = "IncognitoThemeOverlayTesting"; @@ -1026,9 +1026,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc b/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc --- a/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc +++ b/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc -@@ -270,7 +270,7 @@ AccessCodeCastDiscoveryInterface::CreateEndpointFetcher( - .SetOauthScopes(discovery_scopes) - .SetOauthConsumerName(kDiscoveryOAuthConsumerName) +@@ -266,7 +266,7 @@ AccessCodeCastDiscoveryInterface::CreateEndpointFetcher( + .SetTimeout(kTimeout) + .SetUrl(GURL(base::StrCat({GetDiscoveryUrl(), "/", access_code}))) .SetPostData(kEmptyPostData) - .Build()); + .Build(), kTrafficAnnotation); @@ -1605,7 +1605,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/save_to_drive/drive_uploader.cc b/chrome/browser/save_to_drive/drive_uploader.cc --- a/chrome/browser/save_to_drive/drive_uploader.cc +++ b/chrome/browser/save_to_drive/drive_uploader.cc -@@ -288,7 +288,7 @@ DriveUploader::CreateEndpointFetcher( +@@ -290,7 +290,7 @@ DriveUploader::CreateEndpointFetcher( return std::make_unique( /*url_loader_factory=*/url_loader_factory_.get(), /*identity_manager=*/identity_manager_, @@ -1617,7 +1617,7 @@ diff --git a/chrome/browser/save_to_drive/drive_uploader.cc b/chrome/browser/sav 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 -@@ -2279,6 +2279,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2306,6 +2306,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 @@ -1630,7 +1630,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4255,7 +4261,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4315,7 +4321,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1642,7 +1642,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4266,6 +4275,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4326,6 +4335,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported @@ -1664,7 +1664,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 -@@ -726,7 +726,7 @@ LensOverlayQueryController::CreateEndpointFetcher( +@@ -742,7 +742,7 @@ LensOverlayQueryController::CreateEndpointFetcher( .SetTimeout(timeout) .SetUrl(fetch_url) .SetUploadProgressCallback(std::move(upload_progress_callback)) @@ -1676,7 +1676,7 @@ diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/br diff --git a/components/commerce/core/account_checker.cc b/components/commerce/core/account_checker.cc --- a/components/commerce/core/account_checker.cc +++ b/components/commerce/core/account_checker.cc -@@ -331,7 +331,7 @@ std::unique_ptr AccountChecker::CreateEndpointFetcher( +@@ -327,7 +327,7 @@ std::unique_ptr AccountChecker::CreateEndpointFetcher( .SetPostData(post_data); MaybeUseAlternateShoppingServer(request_params); return std::make_unique( @@ -1688,7 +1688,7 @@ diff --git a/components/commerce/core/account_checker.cc b/components/commerce/c diff --git a/components/commerce/core/compare/cluster_server_proxy.cc b/components/commerce/core/compare/cluster_server_proxy.cc --- a/components/commerce/core/compare/cluster_server_proxy.cc +++ b/components/commerce/core/compare/cluster_server_proxy.cc -@@ -158,7 +158,7 @@ std::unique_ptr ClusterServerProxy::CreateEndpointFetcher( +@@ -156,7 +156,7 @@ std::unique_ptr ClusterServerProxy::CreateEndpointFetcher( .SetPostData(post_data); commerce::MaybeUseAlternateShoppingServer(request_params); return std::make_unique( @@ -1700,7 +1700,7 @@ diff --git a/components/commerce/core/compare/cluster_server_proxy.cc b/componen diff --git a/components/commerce/core/compare/product_specifications_server_proxy.cc b/components/commerce/core/compare/product_specifications_server_proxy.cc --- a/components/commerce/core/compare/product_specifications_server_proxy.cc +++ b/components/commerce/core/compare/product_specifications_server_proxy.cc -@@ -298,7 +298,7 @@ ProductSpecificationsServerProxy::CreateEndpointFetcher( +@@ -296,7 +296,7 @@ ProductSpecificationsServerProxy::CreateEndpointFetcher( .SetPostData(post_data); MaybeUseAlternateShoppingServer(request_params); return std::make_unique( @@ -1712,7 +1712,7 @@ diff --git a/components/commerce/core/compare/product_specifications_server_prox diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.cc b/components/commerce/core/subscriptions/subscriptions_server_proxy.cc --- a/components/commerce/core/subscriptions/subscriptions_server_proxy.cc +++ b/components/commerce/core/subscriptions/subscriptions_server_proxy.cc -@@ -304,7 +304,7 @@ SubscriptionsServerProxy::CreateEndpointFetcher( +@@ -302,7 +302,7 @@ SubscriptionsServerProxy::CreateEndpointFetcher( .SetPostData(post_data); MaybeUseAlternateShoppingServer(request_params); return std::make_unique( @@ -1721,12 +1721,24 @@ diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.c } void SubscriptionsServerProxy::HandleManageSubscriptionsResponses( +diff --git a/components/contextual_search/internal/composebox_query_controller.cc b/components/contextual_search/internal/composebox_query_controller.cc +--- a/components/contextual_search/internal/composebox_query_controller.cc ++++ b/components/contextual_search/internal/composebox_query_controller.cc +@@ -525,7 +525,7 @@ ComposeboxQueryController::CreateEndpointFetcher( + .SetTimeout(timeout) + .SetUploadProgressCallback(std::move(upload_progress_callback)) + .SetUrl(fetch_url) +- .Build()); ++ .Build(), kTrafficAnnotationTag); + } + + lens::LensOverlayClientContext ComposeboxQueryController::CreateClientContext() diff --git a/components/data_sharing/internal/data_sharing_network_loader_impl.cc b/components/data_sharing/internal/data_sharing_network_loader_impl.cc --- a/components/data_sharing/internal/data_sharing_network_loader_impl.cc +++ b/components/data_sharing/internal/data_sharing_network_loader_impl.cc -@@ -78,7 +78,7 @@ DataSharingNetworkLoaderImpl::CreateEndpointFetcher( - .SetOauthScopes(scopes) - .SetOauthConsumerName(kOauthConsumerName) +@@ -63,7 +63,7 @@ DataSharingNetworkLoaderImpl::CreateEndpointFetcher( + .SetUrl(url) + .SetOAuthConsumerId(signin::OAuthConsumerId::kDataSharingAndroid) .SetPostData(post_data) - .Build()); + .Build(), annotation_tag); @@ -1736,10 +1748,10 @@ diff --git a/components/data_sharing/internal/data_sharing_network_loader_impl.c diff --git a/components/data_sharing/internal/preview_server_proxy.cc b/components/data_sharing/internal/preview_server_proxy.cc --- a/components/data_sharing/internal/preview_server_proxy.cc +++ b/components/data_sharing/internal/preview_server_proxy.cc -@@ -351,7 +351,7 @@ std::unique_ptr PreviewServerProxy::CreateEndpointFetcher( +@@ -346,7 +346,7 @@ std::unique_ptr PreviewServerProxy::CreateEndpointFetcher( + .SetContentType(kContentType) + .SetTimeout(kTimeout) .SetUrl(url) - .SetOauthScopes(std::vector{kOAuthScope}) - .SetOauthConsumerName(kOAuthName) - .Build()); + .Build(), kGetSharedDataPreviewTrafficAnnotation); } @@ -1783,7 +1795,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi } // namespace EndpointResponse::EndpointResponse() = default; -@@ -108,9 +122,11 @@ EndpointFetcher::RequestParams::Builder::Build() { +@@ -105,9 +119,11 @@ EndpointFetcher::RequestParams::Builder::Build() { EndpointFetcher::EndpointFetcher( const scoped_refptr& url_loader_factory, signin::IdentityManager* identity_manager, @@ -1796,7 +1808,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi request_params_(std::move(request_params)) { if (request_params_.auth_type() == OAUTH) { DCHECK(identity_manager_) -@@ -123,12 +139,32 @@ EndpointFetcher::EndpointFetcher( +@@ -120,12 +136,32 @@ EndpointFetcher::EndpointFetcher( EndpointFetcher::EndpointFetcher( const net::NetworkTrafficAnnotationTag& annotation_tag) : identity_manager_(nullptr), @@ -1829,7 +1841,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi EndpointFetcher::~EndpointFetcher() = default; void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) { -@@ -211,13 +247,10 @@ void EndpointFetcher::PerformHttpRequest( +@@ -208,13 +244,10 @@ void EndpointFetcher::PerformHttpRequest( auto resource_request = std::make_unique(); resource_request->method = GetHttpMethodString(request_params_.http_method()); resource_request->url = request_params_.url(); @@ -1846,7 +1858,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi // Add Content-Type header if post data is present. bool has_body_content = (request_params_.http_method() == HttpMethod::kPost || request_params_.http_method() == HttpMethod::kPut) && -@@ -258,8 +291,23 @@ void EndpointFetcher::PerformHttpRequest( +@@ -255,8 +288,23 @@ void EndpointFetcher::PerformHttpRequest( break; } @@ -1870,7 +1882,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi if (has_body_content) { simple_url_loader_->AttachStringForUpload( -@@ -272,9 +320,18 @@ void EndpointFetcher::PerformHttpRequest( +@@ -269,9 +317,18 @@ void EndpointFetcher::PerformHttpRequest( simple_url_loader_->SetRetryOptions(GetMaxRetries(), network::SimpleURLLoader::RETRY_ON_5XX); @@ -1892,7 +1904,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi network::SimpleURLLoader::BodyAsStringCallbackDeprecated body_as_string_callback = base::BindOnce( &EndpointFetcher::OnResponseFetched, weak_ptr_factory_.GetWeakPtr(), -@@ -333,21 +390,6 @@ void EndpointFetcher::OnResponseFetched( +@@ -330,21 +387,6 @@ void EndpointFetcher::OnResponseFetched( std::move(endpoint_fetcher_callback).Run(std::move(response)); } @@ -1914,7 +1926,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi int EndpointFetcher::GetMaxRetries() const { return request_params_.max_retries.value_or(kNumRetries); } -@@ -365,4 +407,39 @@ std::string EndpointFetcher::GetUrlForTesting() { +@@ -362,4 +404,39 @@ std::string EndpointFetcher::GetUrlForTesting() { return request_params_.url().spec(); } @@ -1984,7 +1996,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin int http_status_code{-1}; std::optional error_type; scoped_refptr headers; -@@ -314,7 +320,16 @@ class EndpointFetcher { +@@ -301,7 +307,16 @@ class EndpointFetcher { EndpointFetcher( const scoped_refptr& url_loader_factory, signin::IdentityManager* identity_manager, @@ -2002,7 +2014,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin EndpointFetcher(const EndpointFetcher& endpoint_fetcher) = delete; EndpointFetcher& operator=(const EndpointFetcher& endpoint_fetcher) = delete; -@@ -347,11 +362,17 @@ class EndpointFetcher { +@@ -334,11 +349,17 @@ class EndpointFetcher { void OnResponseFetched(EndpointFetcherCallback callback, std::unique_ptr response_body); @@ -2020,7 +2032,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // Members set in constructor const scoped_refptr url_loader_factory_; -@@ -359,6 +380,8 @@ class EndpointFetcher { +@@ -346,6 +367,8 @@ class EndpointFetcher { // this case, callers should invoke `PerformRequest` directly). const raw_ptr identity_manager_; @@ -2029,7 +2041,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // The complete definition of the specific network request to be performed. // Contains authentication details and response handling preferences. const RequestParams request_params_; -@@ -368,6 +391,9 @@ class EndpointFetcher { +@@ -355,6 +378,9 @@ class EndpointFetcher { access_token_fetcher_; std::unique_ptr simple_url_loader_; @@ -2042,16 +2054,16 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin diff --git a/components/manta/base_provider.cc b/components/manta/base_provider.cc --- a/components/manta/base_provider.cc +++ b/components/manta/base_provider.cc -@@ -145,7 +145,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcher( - .SetOauthScopes(scopes) - .SetOauthConsumerName(oauth_consumer_name) +@@ -140,7 +140,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcher( + .SetUrl(url) + .SetOAuthConsumerId(signin::OAuthConsumerId::kManta) .SetPostData(post_data) - .Build()); + .Build(), annotation_tag); } std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode( -@@ -163,7 +163,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode( +@@ -158,7 +158,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode( .SetTimeout(timeout) .SetPostData(post_data) .SetChannel(version_info::Channel::STABLE) @@ -2060,18 +2072,6 @@ diff --git a/components/manta/base_provider.cc b/components/manta/base_provider. } } // namespace manta -diff --git a/components/omnibox/composebox/composebox_query_controller.cc b/components/omnibox/composebox/composebox_query_controller.cc ---- a/components/omnibox/composebox/composebox_query_controller.cc -+++ b/components/omnibox/composebox/composebox_query_controller.cc -@@ -524,7 +524,7 @@ ComposeboxQueryController::CreateEndpointFetcher( - .SetTimeout(timeout) - .SetUploadProgressCallback(std::move(upload_progress_callback)) - .SetUrl(fetch_url) -- .Build()); -+ .Build(), kTrafficAnnotationTag); - } - - lens::LensOverlayClientContext ComposeboxQueryController::CreateClientContext() diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Bromite-auto-updater.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Bromite-auto-updater.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 49b9b49d..a91e5acf 100644 --- a/build/patches/Bubble-Locking-on-UI-DevTools.patch +++ b/build/patches/Bubble-Locking-on-UI-DevTools.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/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/ui/views/toolbar/reload_button.cc --- a/chrome/browser/ui/views/toolbar/reload_button.cc +++ b/chrome/browser/ui/views/toolbar/reload_button.cc -@@ -225,6 +225,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) { +@@ -274,6 +274,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) { command = IDC_RELOAD; } @@ -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 -@@ -1465,6 +1465,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1468,6 +1468,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, // initialized. void SaveWindowPlacementIfNeeded(); @@ -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. -@@ -1505,13 +1518,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1508,13 +1521,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, void set_widget_closed() { widget_closed_ = true; } private: @@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h class PaintAsActiveLockImpl; friend class ButtonTest; -@@ -1522,11 +1528,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1525,11 +1531,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 59c168c6..d4d00b3f 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -129,7 +129,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_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 -@@ -364,6 +364,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { +@@ -375,6 +375,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { ExtensionUpdater::CheckParams params; params.fetch_priority = DownloadFetchPriority::kForeground; params.install_immediately = true; @@ -137,7 +137,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f params.callback = base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this); updater->CheckNow(std::move(params)); -@@ -500,7 +501,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -511,7 +512,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { const developer::ProfileConfigurationUpdate& update = params->update; @@ -146,7 +146,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)) { -@@ -514,6 +515,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -525,6 +526,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { ->MarkNoticeAsAcknowledgedGlobally(); } @@ -243,7 +243,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 -@@ -95,6 +95,7 @@ UninstallPingSender::FilterResult ShouldSendUninstallPing( +@@ -96,6 +96,7 @@ UninstallPingSender::FilterResult ShouldSendUninstallPing( Profile* profile, const Extension* extension, UninstallReason reason) { @@ -267,7 +267,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 -@@ -431,6 +431,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( +@@ -436,6 +436,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( const Extension* extension) { @@ -291,7 +291,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 -@@ -247,8 +247,6 @@ ExtensionService::ExtensionService( +@@ -248,8 +248,6 @@ ExtensionService::ExtensionService( UpgradeDetector::GetInstance()->AddObserver(this); #endif @@ -300,7 +300,7 @@ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/ext ExtensionManagementFactory::GetForBrowserContext(profile_)->AddObserver(this); if (autoupdate_enabled) { -@@ -763,7 +761,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() { +@@ -764,7 +762,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. @@ -374,7 +374,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro CHECK(enabled_); if (params.ids.empty()) { // Checking all extensions. Cancel pending DoCheckSoon() call if there's -@@ -442,7 +454,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -450,7 +462,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { int request_id = next_request_id_++; @@ -383,7 +383,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro if (params.ids.empty()) { NotifyStarted(); } -@@ -512,7 +524,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -519,7 +531,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { update_check_params.update_info[pending_id] = GetExtensionUpdateData(pending_id); } else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) { @@ -392,7 +392,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 -@@ -522,7 +534,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -529,7 +541,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(); @@ -401,7 +401,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 = -@@ -545,6 +557,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -552,6 +564,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { LOG(WARNING) << "Corrupt extension with id " << pending_id << " will be reinstalled with ExtensionDownloader."; } @@ -410,7 +410,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro } else { InstallStageTracker::Get(profile_)->ReportFailure( pending_id, -@@ -557,13 +571,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -564,13 +578,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { AddToDownloader(®istry_->disabled_extensions(), pending_ids, request_id, params.fetch_priority, &update_check_params); ExtensionSet remotely_disabled_extensions; @@ -424,7 +424,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 { -@@ -571,7 +578,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -578,7 +585,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { const Extension* extension = registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING); if (extension) { @@ -433,7 +433,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)) { -@@ -715,7 +722,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -722,7 +729,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( file.extension_id, InstallStageTracker::Stage::INSTALLING); UpdatePingData(file.extension_id, ping); @@ -442,7 +442,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)); -@@ -726,6 +733,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -733,6 +740,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id, DownloadPingData* ping_data) { @@ -450,7 +450,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)); -@@ -845,7 +853,7 @@ bool ExtensionUpdater::CanUseUpdateService( +@@ -852,7 +860,7 @@ bool ExtensionUpdater::CanUseUpdateService( void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) { std::set request_ids; @@ -459,7 +459,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro << crx_file.info.path.value(); // The delegate is now responsible for cleaning up the temp file at -@@ -1054,7 +1062,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { +@@ -1061,7 +1069,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { if (!request.in_progress_ids.empty() || request.awaiting_update_service) { return; // This request is not done yet. } @@ -504,7 +504,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 -@@ -594,7 +594,7 @@ void WebstoreInstaller::StartDownload( +@@ -595,7 +595,7 @@ void WebstoreInstaller::StartDownload( traffic_annotation)); params->set_file_path(file); params->set_initiator(render_frame_host->GetLastCommittedOrigin()); @@ -556,7 +556,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 -@@ -342,6 +342,11 @@ export class Service implements ServiceInterface { +@@ -356,6 +356,11 @@ export class Service implements ServiceInterface { {inDeveloperMode: inDevMode}); } @@ -1201,8 +1201,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 -@@ -172,4 +172,11 @@ BASE_FEATURE(kRuntimeOnMessageWebExtensionPolyfillSupport, - "RuntimeOnMessageWebExtensionPolyfillSupport", +@@ -182,4 +182,11 @@ BASE_FEATURE(kEnableShouldShowPromotion, base::FEATURE_DISABLED_BY_DEFAULT); + BASE_FEATURE(kEnableWebRequestCollapsedListeners, base::FEATURE_DISABLED_BY_DEFAULT); +CROMITE_FEATURE(kEnableExtensionAutoupdate, @@ -1216,9 +1216,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 -@@ -287,6 +287,16 @@ BASE_DECLARE_FEATURE(kContentVerifyJobUseJobVersionForHashing); - // during execution) the error is passed back to the sender. - BASE_DECLARE_FEATURE(kRuntimeOnMessageWebExtensionPolyfillSupport); +@@ -300,6 +300,16 @@ BASE_DECLARE_FEATURE(kEnableShouldShowPromotion); + // Enables the "collapsed listeners" strategy for webRequest lazy listeners. + BASE_DECLARE_FEATURE(kEnableWebRequestCollapsedListeners); +// Activates the auto update of extensions. +// the only data provided by default is the list of extensions. 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 88636bb7..84514312 100644 --- a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc --- a/services/network/cors/preflight_controller.cc +++ b/services/network/cors/preflight_controller.cc -@@ -752,6 +752,10 @@ void PreflightController::ClearCorsPreflightCache( +@@ -755,6 +755,10 @@ void PreflightController::ClearCorsPreflightCache( cache_.ClearCache(std::move(url_filter)); } @@ -55,7 +55,7 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h --- a/services/network/cors/preflight_controller.h +++ b/services/network/cors/preflight_controller.h -@@ -151,6 +151,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final { +@@ -152,6 +152,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final { url_loader_network_service_observer, const PreflightMode& preflight_mode); @@ -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 -@@ -1372,6 +1372,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1373,6 +1373,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 6c55ae48..af8007ba 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -63,7 +63,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd std::string brand_version = output_version_type == blink::UserAgentBrandVersionType::kFullVersion -@@ -698,6 +696,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service, +@@ -693,6 +691,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) { } // High entropy client hints. @@ -270,7 +270,7 @@ 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 -@@ -569,6 +569,11 @@ +@@ -592,6 +592,11 @@ name: "AriaNotifyV2", status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"}, }, @@ -282,7 +282,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 { name: "AriaRowColIndexText", status: "stable", -@@ -976,8 +981,7 @@ +@@ -1019,8 +1024,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 diff --git a/build/patches/Close-Sessions-On-Ip-Change.patch b/build/patches/Close-Sessions-On-Ip-Change.patch index fbce7cbc..256bbe55 100644 --- a/build/patches/Close-Sessions-On-Ip-Change.patch +++ b/build/patches/Close-Sessions-On-Ip-Change.patch @@ -88,7 +88,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 -@@ -509,7 +509,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -511,7 +511,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT); // NetworkChangeNotifier::AreNetworkHandlesSupported). #if BUILDFLAG(IS_ANDROID) inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default = diff --git a/build/patches/Compress-libchrome-to-free-up-some-space.patch b/build/patches/Compress-libchrome-to-free-up-some-space.patch index ef077093..f60bdcf4 100644 --- a/build/patches/Compress-libchrome-to-free-up-some-space.patch +++ b/build/patches/Compress-libchrome-to-free-up-some-space.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/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni -@@ -677,6 +677,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -674,6 +674,7 @@ template("chrome_common_apk_or_module_tmpl") { [ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ] loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ] library_always_compress += [ "libchrome_crashpad_handler.so" ] diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index f97bd304..c1472052 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 -@@ -652,7 +652,7 @@ chrome_java_resources = [ +@@ -664,7 +664,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", diff --git a/build/patches/Cromite-Branding.patch b/build/patches/Cromite-Branding.patch index 0872fd44..d1d1c667 100644 --- a/build/patches/Cromite-Branding.patch +++ b/build/patches/Cromite-Branding.patch @@ -38,7 +38,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes .../chromium/product_logo_32.png | Bin 822 -> 2301 bytes chrome/browser/BUILD.gn | 1 + - .../browser/flags/ChromeFeatureList.java | 2 +- .../browser/hub/HubToolbarMediator.java | 2 +- .../android/res/layout/hub_toolbar_layout.xml | 82 ++++++++------- .../chrome/browser/omaha/UpdateConfigs.java | 2 +- @@ -68,7 +67,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html content/child/runtime_features.cc | 44 ++++----- .../Cromite-Branding.inc | 2 + tools/grit/grit/grd_reader.py | 35 +++++++ - 64 files changed, 261 insertions(+), 173 deletions(-) + 63 files changed, 260 insertions(+), 172 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc diff --git a/build/BUILD.gn b/build/BUILD.gn @@ -92,7 +91,7 @@ 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 -@@ -187,6 +187,10 @@ declare_args() { +@@ -186,6 +186,10 @@ declare_args() { clang_warning_suppression_file = "" } @@ -106,7 +105,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml -@@ -189,7 +189,7 @@ by a child template that "extends" this file. +@@ -200,7 +200,7 @@ by a child template that "extends" this file. key. @@ -13452,7 +13439,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 -@@ -2344,7 +2344,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2371,7 +2371,7 @@ Your Google account may have other forms of browsing history like searches and a About Chrome @@ -13461,7 +13448,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Application version -@@ -5536,7 +5536,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5758,7 +5758,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -13517,7 +13504,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 -@@ -1014,7 +1014,7 @@ +@@ -1020,7 +1020,7 @@ @@ -18425,7 +18412,7 @@ i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI 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 -@@ -1136,6 +1136,7 @@ bool AutocompleteController::ShouldRunProvider( +@@ -1109,6 +1109,7 @@ bool AutocompleteController::ShouldRunProvider( #if BUILDFLAG(IS_ANDROID) if (omnibox::IsAndroidHub(input_.current_page_classification())) { @@ -19174,7 +19161,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() { +@@ -573,19 +573,22 @@ void ResolveInvalidConfigurations() { base::FeatureList::IsEnabled( features::kPrivacySandboxAdsAPIsM1Override)) && !base::FeatureList::IsEnabled(blink::features::kFencedFrames)) { @@ -19201,7 +19188,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() { +@@ -593,12 +596,14 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableFeatureFromString( "FencedFramesLocalUnpartitionedDataAccess", false); } @@ -19217,7 +19204,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() { +@@ -606,30 +611,23 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableTopicsDocumentAPI(false); WebRuntimeFeatures::EnableTopicsImgAPI(false); } else { @@ -19254,7 +19241,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() { +@@ -637,23 +635,25 @@ void ResolveInvalidConfigurations() { << " in addition."; WebRuntimeFeatures::EnableAttributionReporting(false); } diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index 1dfde8d4..17f396bd 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -23,12 +23,12 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re android:textAppearance="@style/TextAppearance.SearchBoxText" + android:inputType="textUri" android:hint="@string/omnibox_empty_hint" + android:textAlignment="viewStart" app:layout_constraintStart_toEndOf="@id/location_bar_status" - app:layout_constraintEnd_toStartOf="@id/url_action_container" 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 -@@ -331,8 +331,17 @@ class LocationBarMediator +@@ -378,8 +378,17 @@ class LocationBarMediator if (!mUrlFocusedWithPastedText && !shouldRetainOmniboxOnFocus && mLocationBarLayout.shouldClearTextOnFocus()) { @@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } else if (shouldRetainOmniboxOnFocus) { mUrlCoordinator.setSelectAllOnFocus(true); } -@@ -1666,7 +1675,6 @@ class LocationBarMediator +@@ -1798,7 +1807,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -75,7 +75,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow private boolean mPendingScroll; private boolean mIsInCct; -@@ -345,6 +347,28 @@ public class UrlBar extends AutocompleteEditText { +@@ -344,6 +346,28 @@ public class UrlBar extends AutocompleteEditText { fixupTextDirection(); mShouldSendTypingStartedEvent = focused; diff --git a/build/patches/Disable-CSS-blink-feature-support.patch b/build/patches/Disable-CSS-blink-feature-support.patch index 29c20441..402611e7 100644 --- a/build/patches/Disable-CSS-blink-feature-support.patch +++ b/build/patches/Disable-CSS-blink-feature-support.patch @@ -16,7 +16,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/css/parser/css_supports_parser.cc b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc --- a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc +++ b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc -@@ -403,7 +403,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) { +@@ -263,7 +263,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) { feature_name.Value().Utf8()) && guard.Release()) { stream.ConsumeWhitespace(); diff --git a/build/patches/Disable-CSSDynamicRangeLimit.patch b/build/patches/Disable-CSSDynamicRangeLimit.patch index 5200fda9..9ff8e6e5 100644 --- a/build/patches/Disable-CSSDynamicRangeLimit.patch +++ b/build/patches/Disable-CSSDynamicRangeLimit.patch @@ -15,7 +15,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 -@@ -1326,7 +1326,7 @@ +@@ -1398,7 +1398,7 @@ }, { name: "CSSDynamicRangeLimit", diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index 257c473b..33907761 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -4,50 +4,16 @@ Subject: Disable Compose feature License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - chrome/browser/BUILD.gn | 9 +++++++-- chrome/browser/ui/webui/settings/settings_ui.cc | 2 +- components/compose/core/browser/compose_features.cc | 2 ++ components/compose/features.gni | 2 +- - 4 files changed, 11 insertions(+), 4 deletions(-) + 3 files changed, 4 insertions(+), 2 deletions(-) -diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn ---- a/chrome/browser/BUILD.gn -+++ b/chrome/browser/BUILD.gn -@@ -8435,6 +8435,12 @@ static_library("browser") { - deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ] - } - -+ if (!is_android) { -+ deps += [ -+ ":compose_optimization_guide_proto", -+ ] -+ } -+ - if (enable_compose) { - sources += [ - "compose/chrome_compose_client.cc", -@@ -8450,7 +8456,6 @@ static_library("browser") { - ] - - deps += [ -- ":compose_optimization_guide_proto", - "//chrome/common/compose", - "//chrome/common/compose:mojo_bindings", - "//components/autofill/content/browser", -@@ -8870,7 +8875,7 @@ source_set("font_pref") { - deps = [ "//chrome/common" ] - } - --if (enable_compose) { -+if (!is_android) { - proto_library("compose_optimization_guide_proto") { - sources = [ "compose/proto/compose_optimization_guide.proto" ] - cc_generator_options = "lite=true:" 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 -@@ -351,7 +351,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) - base::FeatureList::IsEnabled(features::kLinkedServicesSetting)); +@@ -354,7 +354,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) + base::FeatureList::IsEnabled(permissions::features::kKeyboardLockPrompt)); #if BUILDFLAG(ENABLE_COMPOSE) - const bool compose_enabled = ComposeEnabling::IsEnabledForProfile(profile); diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch index ff16711d..3a1999d2 100644 --- a/build/patches/Disable-Compression-Dictionary-Transport.patch +++ b/build/patches/Disable-Compression-Dictionary-Transport.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/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 -@@ -1467,8 +1467,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1447,8 +1447,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( registry->RegisterBooleanPref(prefs::kSandboxExternalProtocolBlocked, true); registry->RegisterBooleanPref(prefs::kSSLErrorOverrideAllowed, true); registry->RegisterListPref(prefs::kSSLErrorOverrideAllowedForOrigins); diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch index b33efa59..8e6b7889 100644 --- a/build/patches/Disable-FedCm.patch +++ b/build/patches/Disable-FedCm.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -671,7 +671,7 @@ void ContentSettingsRegistry::Init() { +@@ -650,7 +650,7 @@ void ContentSettingsRegistry::Init() { PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION, @@ -39,7 +39,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 -@@ -2143,7 +2143,7 @@ +@@ -2222,7 +2222,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index 85071dd9..1b6272f8 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -51,10 +51,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j public static final String EXTRA_ITEM_PICKER_MAX_SELECTABLE_ITEMS = "org.chromium.chrome.browser.extras.item_picker_max_selectable_items"; - - private static @Nullable Pair sPendingReferrer; - private static int sReferrerId; - private static @Nullable String sPendingIncognitoUrl; -@@ -566,8 +561,6 @@ public class IntentHandler { + public static final String EXTRA_ITEM_PICKER_ERROR = + "org.chromium.chrome.browser.chrome_item_picker.EXTRA_ITEM_PICKER_ERROR"; + +@@ -569,8 +564,6 @@ public class IntentHandler { return ExternalAppId.LINE; } else if (PACKAGE_WHATSAPP.equals(packageName)) { return ExternalAppId.WHATSAPP; @@ -240,7 +240,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 -@@ -266,7 +266,7 @@ public class PdfCoordinator { +@@ -276,7 +276,7 @@ public class PdfCoordinator { } @Nullable String requestAssistContent(String filename, boolean isWorkProfile) { diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch index 271cc6f7..2a1ccdc1 100644 --- a/build/patches/Disable-GetInstalledRelatedApps-API.patch +++ b/build/patches/Disable-GetInstalledRelatedApps-API.patch @@ -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 -@@ -2886,9 +2886,8 @@ +@@ -2952,9 +2952,8 @@ status: "stable", }, { diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index 816a1081..17f68d94 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 -@@ -325,8 +325,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -328,8 +328,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) #endif // BUILDFLAG(IS_CHROMEOS) bool show_privacy_guide = @@ -31,5 +31,5 @@ diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui + false; html_source->AddBoolean("showPrivacyGuide", show_privacy_guide); - html_source->AddBoolean("enableHandTrackingContentSetting", + html_source->AddBoolean( -- diff --git a/build/patches/Disable-Real-Box.patch b/build/patches/Disable-Real-Box.patch index fb52c17a..c62696f8 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 -@@ -2417,7 +2417,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2235,7 +2235,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -21,7 +21,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse + registry->RegisterBooleanPref(prefs::kLensDesktopNTPSearchEnabled, false); #endif - registry->RegisterListPref( + registry->RegisterBooleanPref(prefs::kDisableScreenshots, false); diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html --- a/chrome/browser/resources/new_tab_page/app.html +++ b/chrome/browser/resources/new_tab_page/app.html @@ -40,19 +40,19 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res - ?can-show-secondary-side="${this.realboxCanShowSecondarySide}" - ?compose-button-enabled="${this.composeButtonEnabled}" - ?composebox-enabled="${this.composeboxEnabled}" -- realbox-layout-mode="${this.realboxLayoutMode_}" +- searchbox-layout-mode="${this.realboxLayoutMode_}" - ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}" - ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}" -- @dropdown-visible-changed="${this.onDropdownVisibleChanged_}" -- @searchbox-input-focus-changed="${this.onInputFocusChanged_}"> +- @searchbox-input-focus-changed="${this.onInputFocusChanged_}" +- ?ntp-next-features-enabled="${this.ntpNextFeaturesEnabled_}"> - ${this.showComposebox_ ? html` - & optimization_types) { @@ -236,13 +236,13 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU "prediction_service/passage_embedder_delegate.h", - "prediction_service/permissions_ai_ui_selector.cc", - "prediction_service/permissions_ai_ui_selector.h", - "prediction_service/permissions_aiv1_handler.cc", - "prediction_service/permissions_aiv1_handler.h", "prediction_service/prediction_model_handler_provider.cc", + "prediction_service/prediction_model_handler_provider.h", + "prediction_service/prediction_service_factory.cc", 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 -@@ -472,8 +472,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( +@@ -481,8 +481,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( #endif selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); @@ -273,7 +273,7 @@ diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_dele diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc --- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc +++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc -@@ -718,6 +718,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack( +@@ -673,6 +673,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack( PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse( permissions::RequestType request_type) { @@ -284,21 +284,26 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc --- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc +++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc -@@ -13,11 +13,11 @@ - #include "chrome/browser/permissions/prediction_service/permissions_aiv1_handler.h" +@@ -13,15 +13,16 @@ + #include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h" #include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h" #include "components/permissions/features.h" --#include "components/permissions/prediction_service/permissions_aiv3_handler.h" --#include "components/permissions/prediction_service/permissions_aiv4_handler.h" - #include "components/permissions/request_type.h" ++#include "components/permissions/request_type.h" ++ ++#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + #include "components/permissions/prediction_service/permissions_aiv3_handler.h" + #include "components/permissions/prediction_service/permissions_aiv4_handler.h" +-#include "components/permissions/request_type.h" - #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) -+#include "components/permissions/prediction_service/permissions_aiv3_handler.h" -+#include "components/permissions/prediction_service/permissions_aiv4_handler.h" + #if BUILDFLAG(IS_ANDROID) + #include "components/download/public/background_service/download_params.h" + #endif + +-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "components/permissions/prediction_service/prediction_model_handler.h" #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) -@@ -27,7 +27,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider( +@@ -56,7 +57,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider( OptimizationGuideKeyedService* optimization_guide, passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider, passage_embeddings::Embedder* passage_embedder) @@ -313,7 +318,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h --- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h +++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h -@@ -59,9 +59,11 @@ class PredictionModelHandlerProvider +@@ -55,9 +55,11 @@ class PredictionModelHandlerProvider #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) private: @@ -323,8 +328,8 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand passage_embeddings::EmbedderMetadata metadata) override; +#endif - std::unique_ptr permissions_aiv1_handler_; #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) + std::unique_ptr diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc --- a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc +++ b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc @@ -382,7 +387,7 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p diff --git a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc --- a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc +++ b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc -@@ -139,3 +139,7 @@ const base::FeatureParam +@@ -148,3 +148,7 @@ const base::FeatureParam kSuppressesSearchPrefetchOnSlowNetworkThreshold{ &kSuppressesSearchPrefetchOnSlowNetwork, "slow_network_threshold_for_search_prefetch", base::Milliseconds(208)}; @@ -404,10 +409,10 @@ 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 -@@ -1209,7 +1209,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1221,7 +1221,6 @@ void ChromeBrowserMainExtraPartsProfiles:: + #else policy::UserPolicySigninServiceFactory::GetInstance(); #endif - PolicyBlocklistFactory::GetInstance(); - PredictionModelHandlerProviderFactory::GetInstance(); PredictionServiceFactory::GetInstance(); predictors::AutocompleteActionPredictorFactory::GetInstance(); @@ -426,7 +431,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin 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 @@ +@@ -16,6 +16,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" #include "components/safe_browsing/core/common/features.h" @@ -434,7 +439,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific #include "content/public/browser/browser_context.h" namespace safe_browsing { -@@ -50,6 +51,7 @@ NotificationContentDetectionServiceFactory:: +@@ -51,6 +52,7 @@ NotificationContentDetectionServiceFactory:: std::unique_ptr NotificationContentDetectionServiceFactory:: BuildServiceInstanceForBrowserContext( content::BrowserContext* context) const { @@ -442,7 +447,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific auto* opt_guide = OptimizationGuideKeyedServiceFactory::GetForProfile( Profile::FromBrowserContext(context)); if (!opt_guide) { -@@ -81,6 +83,7 @@ NotificationContentDetectionServiceFactory:: +@@ -82,6 +84,7 @@ NotificationContentDetectionServiceFactory:: content::BrowserContext* context) const { CHECK(opt_guide); CHECK(context); @@ -450,7 +455,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific auto database_manager = g_browser_process->safe_browsing_service()->database_manager(); scoped_refptr background_task_runner = -@@ -88,6 +91,9 @@ NotificationContentDetectionServiceFactory:: +@@ -89,6 +92,9 @@ NotificationContentDetectionServiceFactory:: {base::MayBlock(), base::TaskPriority::BEST_EFFORT}); return std::make_unique( opt_guide, background_task_runner, database_manager, context); @@ -463,18 +468,18 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific diff --git a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java b/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java --- a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java +++ b/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java -@@ -92,6 +92,7 @@ public class AndroidPrerenderManager { +@@ -91,6 +91,7 @@ public class AndroidPrerenderManager { * @param prerenderUrl The url to be prerendered. */ public void startPrerendering(GURL prerenderUrl) { + if ((true)) return; - if (mNativeAndroidPrerenderManager == 0 || mWebContents == null) return; + if (mNativeAndroidPrerenderManager == 0 || mTab == null) return; AndroidPrerenderManagerJni.get() - .startPrerendering(mNativeAndroidPrerenderManager, prerenderUrl, mWebContents); + .startPrerendering(mNativeAndroidPrerenderManager, prerenderUrl, mTab); 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 -@@ -512,11 +512,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { +@@ -565,11 +565,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { } AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() { @@ -486,7 +491,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows } AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() { -@@ -1247,18 +1243,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( +@@ -1401,18 +1397,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( optimization_guide::ModelQualityLogsUploaderService* ChromeAutofillClient::GetMqlsUploadService() { @@ -504,11 +509,11 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows -#endif } - void ChromeAutofillClient::ShowEntitySaveOrUpdateBubble( + void ChromeAutofillClient::ShowEntityImportBubble( 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 -@@ -458,7 +458,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -464,7 +464,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); @@ -589,7 +594,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc #include "chrome/renderer/accessibility/phrase_segmentation/dependency_tree.h" #include "chrome/renderer/accessibility/phrase_segmentation/phrase_segmenter.h" #include "chrome/renderer/accessibility/phrase_segmentation/token_boundaries.h" -@@ -28,6 +30,7 @@ +@@ -27,6 +29,7 @@ namespace { @@ -597,7 +602,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc // Returns the dependency parser model for this renderer process. DependencyParserModel& GetDependencyParserModel_() { static base::NoDestructor instance; -@@ -40,6 +43,7 @@ std::vector GetDependencyHeads(base::span input) { +@@ -39,6 +42,7 @@ std::vector GetDependencyHeads(base::span input) { ? dependency_parser_model.GetDependencyHeads(input) : std::vector(); } @@ -605,7 +610,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc } // namespace -@@ -164,10 +168,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech( +@@ -163,10 +167,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech( } } @@ -619,7 +624,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc void ReadAloudAppModel::CalculatePhrases( a11y::ReadAloudCurrentGranularity& granularity) { if (!features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) { -@@ -224,19 +231,23 @@ void ReadAloudAppModel::CalculatePhrases( +@@ -223,19 +230,23 @@ void ReadAloudAppModel::CalculatePhrases( base::BindOnce(&ReadAloudAppModel::UpdatePhraseBoundaries, weak_ptr_factory_.GetWeakPtr(), phrase_tokens)); } @@ -645,7 +650,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc // Reset the phrase calculation flag, so that the next phrase calculation can // be scheduled, if needed. is_calculating_phrases = false; -@@ -298,6 +309,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector tokens, +@@ -297,6 +308,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector tokens, current_phrase_calculation_index_ = -1; LOG(WARNING) << "All phrases calculated!"; } @@ -712,7 +717,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" -@@ -1786,6 +1788,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1794,6 +1796,7 @@ void ReadAnythingAppController::OnConnected() { render_frame()->GetBrowserInterfaceBroker().GetInterface( std::move(page_handler_factory_receiver)); @@ -720,7 +725,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; -@@ -1794,6 +1797,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1802,6 +1805,7 @@ void ReadAnythingAppController::OnConnected() { page_handler_->GetDependencyParserModel( base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, weak_ptr_factory_.GetWeakPtr())); @@ -728,7 +733,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::OnCopy() const { -@@ -2034,8 +2038,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() { +@@ -2042,8 +2046,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() { } void ReadAnythingAppController::PreprocessTextForSpeech() { @@ -739,7 +744,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::MovePositionToNextGranularity() { -@@ -2289,14 +2295,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { +@@ -2297,14 +2303,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { void ReadAnythingAppController::UpdateDependencyParserModel( base::File model_file) { @@ -771,7 +776,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr class ReadAnythingAppControllerTest; class ReadAnythingAppControllerScreen2xDataCollectionModeTest; -@@ -310,7 +312,9 @@ class ReadAnythingAppController +@@ -311,7 +313,9 @@ class ReadAnythingAppController // available. void UpdateDependencyParserModel(base::File model_file); @@ -784,7 +789,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -66,7 +66,7 @@ static_library("utility") { +@@ -64,7 +64,7 @@ static_library("utility") { "//printing/buildflags", "//services/data_decoder:lib", "//services/network:network_service", @@ -796,7 +801,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 -@@ -249,13 +249,6 @@ auto RunMirroringService( +@@ -243,13 +243,6 @@ auto RunMirroringService( std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner()); } @@ -810,7 +815,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) -@@ -466,7 +459,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { +@@ -444,7 +437,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { #if !BUILDFLAG(IS_ANDROID) services.Add(RunProfileImporter); services.Add(RunMirroringService); @@ -821,7 +826,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -622,7 +622,7 @@ test("components_unittests") { +@@ -625,7 +625,7 @@ test("components_unittests") { "//components/one_time_tokens/core/browser:unit_tests", "//components/page_info:unit_tests", "//components/permissions:unit_tests", @@ -844,7 +849,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ GeoIpCountryCode country_code; LanguageCode current_page_language; std::unique_ptr log_manager; -@@ -707,6 +709,7 @@ void AutofillManager::ParseFormsAsyncCommon( +@@ -710,6 +712,7 @@ void AutofillManager::ParseFormsAsyncCommon( } } @@ -852,7 +857,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ if (!context.autofill_predictions.empty()) { context.autofill_predictions[i].ApplyTo(form_structure->fields()); } -@@ -714,6 +717,7 @@ void AutofillManager::ParseFormsAsyncCommon( +@@ -717,6 +720,7 @@ void AutofillManager::ParseFormsAsyncCommon( context.password_manager_predictions[i].ApplyTo( form_structure->fields()); } @@ -860,7 +865,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ if (!context.regex_predictions.empty()) { context.regex_predictions[i].ApplyTo(form_structure->fields()); } -@@ -955,6 +959,7 @@ void AutofillManager::LogCurrentFieldTypes( +@@ -979,6 +983,7 @@ void AutofillManager::LogCurrentFieldTypes( } } @@ -868,7 +873,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ void AutofillManager::SubscribeToMlModelChanges( FieldClassificationModelHandler& handler) { switch (handler.optimization_target()) { -@@ -978,5 +983,6 @@ void AutofillManager::SubscribeToMlModelChanges( +@@ -1002,5 +1007,6 @@ void AutofillManager::SubscribeToMlModelChanges( NOTREACHED(); } } @@ -878,15 +883,15 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h --- a/components/autofill/core/browser/foundations/autofill_manager.h +++ b/components/autofill/core/browser/foundations/autofill_manager.h -@@ -39,6 +39,7 @@ +@@ -38,6 +38,7 @@ + #include "components/autofill/core/common/mojom/autofill_types.mojom.h" #include "components/autofill/core/common/signatures.h" #include "components/autofill/core/common/unique_ids.h" - #include "components/optimization_guide/proto/models.pb.h" +#include "components/optimization_guide/machine_learning_tflite_buildflags.h" #include "components/translate/core/browser/translate_driver.h" namespace autofill { -@@ -366,10 +367,12 @@ class AutofillManager +@@ -368,10 +369,12 @@ class AutofillManager // Reparses all known forms. void ReparseKnownForms(); @@ -1063,7 +1068,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" -@@ -131,6 +133,7 @@ using ProviderType = AutocompleteProvider::Type; +@@ -132,6 +134,7 @@ using ProviderType = AutocompleteProvider::Type; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); @@ -1071,7 +1076,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 = -@@ -239,6 +242,7 @@ void RecordTotalMatchesScored(size_t num_scored) { +@@ -240,6 +243,7 @@ void RecordTotalMatchesScored(size_t num_scored) { base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches", num_scored); } @@ -1120,15 +1125,15 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo api_key_(features::GetOptimizationGuideServiceAPIKey()), get_base_model_dir_for_download_callback_( get_base_model_dir_for_download_callback), -@@ -136,6 +136,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default; - void PredictionModelDownloadManager::StartDownload( +@@ -137,6 +137,7 @@ void PredictionModelDownloadManager::StartDownload( const GURL& download_url, - proto::OptimizationTarget optimization_target) { + proto::OptimizationTarget optimization_target, + const std::optional& scheduling_params) { + if ((true)) return; download::DownloadParams download_params; download_params.client = download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS; -@@ -293,6 +294,7 @@ bool PredictionModelDownloadManager::VerifyDownload( +@@ -299,6 +300,7 @@ bool PredictionModelDownloadManager::VerifyDownload( const base::FilePath& download_file_path, const base::FilePath& base_model_dir, bool delete_file_on_error) { @@ -1169,7 +1174,7 @@ diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/compone switch (optimization_type_decision) { case OptimizationTypeDecision::kAllowedByOptimizationFilter: case OptimizationTypeDecision::kAllowedByHint: -@@ -2040,4 +2041,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys( +@@ -2057,4 +2058,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys( hint_cache_->RemoveHintsForHosts(std::move(on_success), hint_keys); } @@ -1190,7 +1195,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -253,8 +249,7 @@ size_t MaxHostKeyedHintCacheSize() { +@@ -244,8 +240,7 @@ size_t MaxHostKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -1200,8 +1205,8 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -659,5 +654,10 @@ bool IsPrivacyGuideAiSettingsEnabled() { - return base::FeatureList::IsEnabled(kPrivacyGuideAiSettings); +@@ -579,5 +574,10 @@ bool ShouldEnableOptimizationGuideIconView() { + return base::FeatureList::IsEnabled(kOptimizationGuideIconView); } +SET_CROMITE_FEATURE_DISABLED(kOptimizationHints); @@ -1250,7 +1255,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_m diff --git a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn --- a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn +++ b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn -@@ -43,6 +43,13 @@ source_set("notification_content_detection") { +@@ -42,6 +42,13 @@ source_set("notification_content_detection") { ] } @@ -1267,7 +1272,7 @@ diff --git a/components/safe_browsing/content/browser/notification_content_detec diff --git a/content/browser/service_worker/service_worker_main_resource_loader.cc b/content/browser/service_worker/service_worker_main_resource_loader.cc --- a/content/browser/service_worker/service_worker_main_resource_loader.cc +++ b/content/browser/service_worker/service_worker_main_resource_loader.cc -@@ -544,6 +544,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload( +@@ -550,6 +550,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload( bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest( scoped_refptr context, scoped_refptr version) { @@ -1395,7 +1400,7 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webnn_context_provider_impl.cc --- a/services/webnn/webnn_context_provider_impl.cc +++ b/services/webnn/webnn_context_provider_impl.cc -@@ -208,22 +208,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( +@@ -236,62 +236,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( } #if BUILDFLAG(IS_WIN) @@ -1406,13 +1411,53 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn - LOG(ERROR) << "[WebNN] Failed to create ONNX Runtime context: " - << env_creation_results.error(); - } else { +- mojom::Device device_type = options->device; +- // Falls back to GPU if the device type is NPU but NPU is disabled. +- if (device_type == mojom::Device::kNpu && +- gpu_feature_info_.IsWorkaroundEnabled(gpu::DISABLE_WEBNN_FOR_NPU)) { +- device_type = mojom::Device::kGpu; +- LOG(WARNING) << "[WebNN] [WARNING] NPU device is disabled to create " +- "ONNX Runtime context. Falling back to GPU."; +- } +- +- if (!task_runner->BelongsToCurrentThread()) { +- // Re-create sequence for the new task runner. Destroying the old +- // sequence is safe since it has no scheduled tasks yet. +- sequence.reset(); +- sequence = std::make_unique(*scheduler_, task_runner, +- command_buffer_id); +- +- scoped_trace.AddStep("Create on sequence"); +- +- // Safe to use base::Unretained for shared_image_manager_ since it +- // lives on the GPU service, which is guaranteed to outlive the provider +- // and its contexts. +- task_runner->PostTaskAndReplyWithResult( +- FROM_HERE, +- base::BindOnce( +- &ort::ContextImplOrt::Create, std::move(receiver), AsWeakPtr(), +- env_creation_results.value()->GetEpWorkarounds(device_type), +- std::move(options), device_type, +- std::move(write_tensor_consumer), +- std::move(read_tensor_producer), +- std::move(env_creation_results.value()), command_buffer_id, +- std::move(sequence), std::move(memory_tracker_), task_runner, +- base::Unretained(shared_image_manager_.get()), +- main_thread_task_runner_, std::move(scoped_trace)), +- base::BindOnce(&WebNNContextProviderImpl::OnCreateWebNNContextImpl, +- AsWeakPtr(), std::move(callback), std::move(remote), +- std::move(write_tensor_producer), +- std::move(read_tensor_consumer))); +- return; +- } - context_impl = base::MakeRefCounted( -- std::move(receiver), this, -- env_creation_results.value()->GetEpWorkarounds(options->device), -- std::move(options), std::move(write_tensor_consumer), +- std::move(receiver), AsWeakPtr(), +- env_creation_results.value()->GetEpWorkarounds(device_type), +- std::move(options), device_type, std::move(write_tensor_consumer), - std::move(read_tensor_producer), - std::move(env_creation_results.value()), command_buffer_id, -- std::move(sequence), std::move(scheduler_task_runner)); +- std::move(sequence), memory_tracker_, std::move(task_runner), +- shared_image_manager_, main_thread_task_runner_); - } - } else if (dml::ShouldCreateDmlContext(*options)) { + if (dml::ShouldCreateDmlContext(*options)) { @@ -1422,7 +1467,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn 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 -@@ -1845,6 +1845,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( +@@ -1867,6 +1867,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( } bool HTMLDocumentParser::ShouldSkipPreloadScan() { @@ -1433,7 +1478,7 @@ 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 -@@ -662,6 +662,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { +@@ -664,6 +664,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { return; } @@ -1444,7 +1489,7 @@ diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculat 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 -@@ -3851,7 +3851,7 @@ +@@ -3898,7 +3898,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", @@ -1452,5 +1497,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "test", }, { - name: "PrerenderUntilScript", + // Used to allow prerender cross-origin iframes with an opt-in response -- diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index 73f45d83..2c8a0bae 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.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/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 -@@ -1800,6 +1800,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1772,6 +1772,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo(Profile profile) { @@ -29,7 +29,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 -@@ -180,7 +180,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -183,7 +183,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, false); @@ -52,7 +52,7 @@ diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_contr 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 -@@ -45,6 +45,7 @@ user_education::FeaturePromoResult +@@ -47,6 +47,7 @@ user_education::FeaturePromoResult BrowserFeaturePromoController20::CanShowPromoForElement( ui::TrackedElement* anchor_element, const user_education::UserEducationContextPtr& context) const { diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index 946d6405..465bfda3 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -16,9 +16,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/android/java/AndroidManifest.xml | 4 - .../ChromeSiteSettingsDelegate.java | 2 + .../k_anonymity_trust_token_getter.cc | 2 +- - .../privacy_page/privacy_page_index.html | 8 - + .../privacy_page/privacy_page_index.html | 9 - chrome/browser/resources/settings/route.ts | 2 +- - .../site_settings_page/site_settings_page.ts | 1 + + .../site_settings/site_settings_page.ts | 1 + .../aggregatable_trigger_config.cc | 2 +- components/attribution_reporting/features.cc | 1 + .../core/browser/content_settings_registry.cc | 2 +- @@ -46,14 +46,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html third_party/blink/renderer/core/page/page.cc | 2 +- .../platform/runtime_enabled_features.json5 | 20 +- ui/events/android/motion_event_android.cc | 8 +- - 35 files changed, 103 insertions(+), 433 deletions(-) + 35 files changed, 103 insertions(+), 434 deletions(-) create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc 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 -@@ -1317,6 +1317,7 @@ network::mojom::AttributionSupport +@@ -1352,6 +1352,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -61,7 +61,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: -@@ -1335,6 +1336,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1370,6 +1371,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -82,7 +82,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1784,7 +1784,7 @@ public class AwSettings { +@@ -1788,7 +1788,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -95,14 +95,14 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro --- a/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml @@ -39,7 +39,6 @@ by a child template that "extends" this file. - - {% endif %} + + - @@ -30,12 +30,12 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -562,7 +562,7 @@ void ToolbarView::Update(WebContents* tab) { - } +@@ -572,7 +572,7 @@ void ToolbarView::Update(WebContents* tab) { - if (reload_) { -- reload_->SetMenuEnabled(chrome::IsDebuggerAttachedToCurrentTab(browser_)); -+ reload_->SetMenuEnabled(true); + if (ReloadControl* reload_control = GetReloadButton(); reload_control) { + reload_control->SetMenuEnabled( +- chrome::IsDebuggerAttachedToCurrentTab(browser_)); ++ true); } } diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 0c3a23e5..8a1225e0 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -187,7 +187,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/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 -@@ -457,20 +457,8 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -465,20 +465,8 @@ public class MainSettings extends ChromeBaseSettingsFragment } private void updateAutofillPreferences() { @@ -213,7 +213,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java -@@ -117,6 +117,13 @@ import java.nio.ByteBuffer; +@@ -120,6 +120,13 @@ import java.nio.ByteBuffer; import java.util.Objects; import java.util.function.Supplier; @@ -227,7 +227,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. -@@ -1132,6 +1139,11 @@ class TabImpl implements Tab { +@@ -1269,6 +1276,11 @@ class TabImpl implements Tab { for (TabObserver observer : mObservers) observer.onDestroyed(this); mObservers.clear(); @@ -239,7 +239,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mUserDataHost.destroy(); mTabViewManager.destroy(); hideNativePage(false, null); -@@ -1449,7 +1461,7 @@ class TabImpl implements Tab { +@@ -1612,7 +1624,7 @@ class TabImpl implements Tab { * @return iff the AutofillProvider should provide a ViewStructure when prompted. */ boolean providesAutofillStructure() { @@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav if (mProfile == null || !mProfile.isNativeInitialized()) { return false; } -@@ -2253,16 +2265,21 @@ class TabImpl implements Tab { +@@ -2378,16 +2390,21 @@ class TabImpl implements Tab { * @return true if the the provider is available for the given WebContents. */ private boolean prepareAutofillProvider(WebContents newWebContents) { @@ -276,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav // TODO: crbug.com/432447902 — Provide only an activity context and push changes. mAutofillProvider = new AutofillProvider( -@@ -2272,7 +2289,16 @@ class TabImpl implements Tab { +@@ -2397,7 +2414,16 @@ class TabImpl implements Tab { getContext().getString(R.string.app_name)); TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid); } @@ -297,7 +297,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc --- a/chrome/browser/android/tab_android.cc +++ b/chrome/browser/android/tab_android.cc -@@ -36,6 +36,7 @@ +@@ -38,6 +38,7 @@ #include "chrome/browser/resource_coordinator/tab_load_tracker.h" #include "chrome/browser/sync/glue/synced_tab_delegate_android.h" #include "chrome/browser/tab_contents/tab_util.h" @@ -305,7 +305,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_ #include "chrome/browser/ui/android/context_menu_helper.h" #include "chrome/browser/ui/android/tab_model/tab_model.h" #include "chrome/browser/ui/android/tab_model/tab_model_list.h" -@@ -449,8 +450,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) { +@@ -447,8 +448,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) { ->MaybeInitKeyboardSuppressor(); return; } @@ -344,7 +344,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java -@@ -74,6 +74,7 @@ public final class AutofillThirdPartyModeContentProvider extends ContentProvider +@@ -75,6 +75,7 @@ public final class AutofillThirdPartyModeContentProvider extends ContentProvider @Nullable String selection, String @Nullable [] selectionArgs, @Nullable String sortOrder) { @@ -355,7 +355,7 @@ diff --git a/chrome/browser/autofill/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 -@@ -314,6 +314,12 @@ CHAR_LIMIT guidelines: +@@ -317,6 +317,12 @@ CHAR_LIMIT guidelines: You and Google @@ -495,7 +495,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow 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 -@@ -400,9 +400,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -406,9 +406,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents); ChainedBackNavigationTracker::CreateForWebContents(web_contents); chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents); @@ -509,7 +509,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc diff --git a/components/android_autofill/browser/BUILD.gn b/components/android_autofill/browser/BUILD.gn --- a/components/android_autofill/browser/BUILD.gn +++ b/components/android_autofill/browser/BUILD.gn -@@ -41,6 +41,7 @@ android_library("java") { +@@ -42,6 +42,7 @@ android_library("java") { "java/src/org/chromium/components/autofill/AutofillRequest.java", "java/src/org/chromium/components/autofill/AutofillSelectionActionMenuDelegate.java", "java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java", @@ -745,7 +745,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc --- a/components/autofill/content/browser/content_autofill_driver_factory.cc +++ b/components/autofill/content/browser/content_autofill_driver_factory.cc -@@ -24,6 +24,12 @@ +@@ -25,6 +25,12 @@ #include "content/public/browser/web_contents.h" #include "third_party/blink/public/common/features.h" @@ -758,7 +758,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory namespace autofill { class ScopedAutofillManagersObservation; -@@ -128,6 +134,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame( +@@ -134,6 +140,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame( return nullptr; } driver = std::make_unique(render_frame_host, this); @@ -774,7 +774,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc --- a/components/autofill/content/renderer/autofill_agent.cc +++ b/components/autofill/content/renderer/autofill_agent.cc -@@ -1545,14 +1545,19 @@ void AutofillAgent::ShowSuggestions( +@@ -1547,14 +1547,19 @@ void AutofillAgent::ShowSuggestions( password_generation_agent_->ShowPasswordGenerationSuggestions( input_element, form_cache)) { is_popup_possibly_visible_ = true; @@ -797,7 +797,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc --- a/components/autofill/content/renderer/password_autofill_agent.cc +++ b/components/autofill/content/renderer/password_autofill_agent.cc -@@ -858,7 +858,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange( +@@ -851,7 +851,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange( void PasswordAutofillAgent::TrackAutofilledElement( const WebFormControlElement& element) { @@ -838,7 +838,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h --- a/components/autofill/core/browser/foundations/autofill_manager.h +++ b/components/autofill/core/browser/foundations/autofill_manager.h -@@ -236,6 +236,8 @@ class AutofillManager +@@ -238,6 +238,8 @@ class AutofillManager LifecycleState new_state, base::PassKey pass_key); @@ -850,7 +850,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.cc b/components/autofill/core/browser/foundations/browser_autofill_manager.cc --- a/components/autofill/core/browser/foundations/browser_autofill_manager.cc +++ b/components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -827,6 +827,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() { +@@ -828,6 +828,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() { return weak_ptr_factory_.GetWeakPtr(); } @@ -862,7 +862,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h --- a/components/autofill/core/browser/foundations/browser_autofill_manager.h +++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h -@@ -458,6 +458,8 @@ class BrowserAutofillManager : public AutofillManager { +@@ -460,6 +460,8 @@ class BrowserAutofillManager : public AutofillManager { // latter check is needed because IPC messages can arrive out of order. void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp); @@ -874,7 +874,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag 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 -@@ -797,7 +797,6 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid, +@@ -871,7 +871,6 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid, // virtual view structures to third party providers. BASE_FEATURE(kAutofillThirdPartyModeContentProvider, base::FEATURE_ENABLED_BY_DEFAULT); @@ -885,7 +885,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc -@@ -69,6 +69,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -75,6 +75,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(kAutofillCreditCardFidoAuthOfferCheckboxState, true); #endif @@ -894,7 +894,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy, 0); registry->RegisterStringPref(kAutofillUploadEncodingSeed, ""); registry->RegisterDictionaryPref(kAutofillVoteUploadEvents); -@@ -108,7 +110,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -114,7 +116,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID) @@ -906,7 +906,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h --- a/components/autofill/core/common/autofill_prefs.h +++ b/components/autofill/core/common/autofill_prefs.h -@@ -128,6 +128,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] = +@@ -140,6 +140,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] = // retention policy was run. inline constexpr char kAutocompleteLastVersionRetentionPolicy[] = "autocomplete.retention_policy_last_version"; diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch index e0f3ca12..2b91edde 100644 --- a/build/patches/Enable-network-isolation-features.patch +++ b/build/patches/Enable-network-isolation-features.patch @@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.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 -@@ -446,8 +446,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { +@@ -454,8 +454,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { experiment_parts.push_back(kDiskCacheExperimentNameNone); // SplitCacheByIncludeCredentials experiment: experiment_parts.push_back(credentials_field_trial @@ -55,7 +55,7 @@ new file mode 100644 diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc --- a/net/http/http_cache.cc +++ b/net/http/http_cache.cc -@@ -705,7 +705,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) { +@@ -705,7 +705,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo& request) { // static // Generate a key that can be used inside the cache. @@ -64,7 +64,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc const GURL& url, int load_flags, const NetworkIsolationKey& network_isolation_key, -@@ -743,8 +743,8 @@ std::string HttpCache::GenerateCacheKey( +@@ -744,8 +744,8 @@ std::string HttpCache::GenerateCacheKey( const bool is_initiator_cross_site = !net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url)); if (is_initiator_cross_site) { @@ -75,29 +75,30 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc } } isolation_key = base::StrCat( -@@ -759,9 +759,11 @@ std::string HttpCache::GenerateCacheKey( +@@ -764,10 +764,12 @@ std::string HttpCache::GenerateCacheKey( // Strip out the reference, username, and password sections of the URL and // concatenate with the credential_key, the post_key, and the network // isolation key if we are splitting the cache. -- return base::StringPrintf("%c/%" PRId64 "/%s%s", credential_key, -+ auto key = base::StringPrintf("%c/%" PRId64 "/%s%s", credential_key, - upload_data_identifier, isolation_key.c_str(), - HttpUtil::SpecForRequest(url).c_str()); +- return base::StringPrintf( ++ auto key = base::StringPrintf( + "%c/%" PRId64 "/%s%s", credential_key, upload_data_identifier, + isolation_key.c_str(), + include_url ? HttpUtil::SpecForRequest(url).c_str() : ""); + // LOG(INFO) << "---key=" << key; + return key; } // static -@@ -784,11 +786,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL( +@@ -788,11 +790,13 @@ std::optional HttpCache::GenerateCacheKeyInternal( const int64_t upload_data_identifier = - request->upload_data_stream ? request->upload_data_stream->identifier() - : int64_t(0); + request.upload_data_stream ? request.upload_data_stream->identifier() + : int64_t{0}; - return GenerateCacheKey( + auto key = GenerateCacheKey2( - url, request->load_flags, request->network_isolation_key, - upload_data_identifier, request->is_subframe_document_resource, - request->is_main_frame_navigation, request->is_shared_resource, - request->initiator); + url, request.load_flags, request.network_isolation_key, + upload_data_identifier, request.is_subframe_document_resource, + request.is_main_frame_navigation, request.is_shared_resource, + request.initiator, include_url); + if (key.empty()) return std::nullopt; + return key; } @@ -106,7 +107,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc diff --git a/net/http/http_cache.h b/net/http/http_cache.h --- a/net/http/http_cache.h +++ b/net/http/http_cache.h -@@ -533,7 +533,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory { +@@ -546,7 +546,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory { // Generates a cache key given the various pieces used to construct the key. // Must not be called if a corresponding `CanGenerateCacheKeyForRequest` // returns false. diff --git a/build/patches/Enable-platform-aac-audio-and-h264-video.patch b/build/patches/Enable-platform-aac-audio-and-h264-video.patch index f39aab5c..5381b2ee 100644 --- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch +++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch @@ -13,14 +13,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html media/BUILD.gn | 2 ++ .../src/org/chromium/media/AudioManagerAndroid.java | 2 ++ media/base/android/media_codec_util.cc | 4 ++++ - media/base/win/mf_helpers.cc | 5 +++++ + media/base/win/mf_helpers.cc | 4 ++++ media/filters/ffmpeg_audio_decoder.cc | 10 ++++++++++ media/filters/ffmpeg_demuxer.cc | 1 + media/filters/ffmpeg_video_decoder.cc | 11 +++++++++++ media/filters/win/media_foundation_audio_decoder.cc | 9 +++++++++ media/gpu/windows/supported_profile_helpers.cc | 13 ++++++++++++- media/media_options.gni | 8 ++++++++ - 11 files changed, 71 insertions(+), 1 deletion(-) + 11 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 cromite_flags/media/base/media_switches_cc/Enable-platform-aac-audio-and-h264-video.inc diff --git a/cromite_flags/media/base/media_switches_cc/Enable-platform-aac-audio-and-h264-video.inc b/cromite_flags/media/base/media_switches_cc/Enable-platform-aac-audio-and-h264-video.inc @@ -50,7 +50,7 @@ diff --git a/media/BUILD.gn b/media/BUILD.gn diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java --- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java +++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java -@@ -668,6 +668,8 @@ class AudioManagerAndroid { +@@ -669,6 +669,8 @@ class AudioManagerAndroid { break; } } @@ -70,7 +70,7 @@ diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_c #include "media/base/android/media_codec_bridge.h" #include "media/base/video_codecs.h" #include "third_party/re2/src/re2/re2.h" -@@ -107,6 +108,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) { +@@ -103,6 +104,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) { // static std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec, SampleFormat sample_format) { @@ -83,15 +83,7 @@ diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_c diff --git a/media/base/win/mf_helpers.cc b/media/base/win/mf_helpers.cc --- a/media/base/win/mf_helpers.cc +++ b/media/base/win/mf_helpers.cc -@@ -28,6 +28,7 @@ - #include "gpu/command_buffer/service/shared_image/shared_image_manager.h" - #include "gpu/command_buffer/service/shared_image/shared_image_representation.h" - #include "gpu/ipc/common/dxgi_helpers.h" -+#include "media/media_buildflags.h" - #include "media/base/audio_codecs.h" - #include "media/base/audio_decoder_config.h" - #include "media/base/channel_layout.h" -@@ -479,7 +480,11 @@ HRESULT GetAacAudioType(const AudioDecoderConfig& decoder_config, +@@ -483,7 +483,11 @@ HRESULT GetAacAudioType(const AudioDecoderConfig& decoder_config, size_t extra_size = wave_format_size - sizeof(WAVEFORMATEX); aac_wave_format->wfx.cbSize = static_cast(extra_size); @@ -126,7 +118,7 @@ diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_ diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc --- a/media/filters/ffmpeg_demuxer.cc +++ b/media/filters/ffmpeg_demuxer.cc -@@ -808,6 +808,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() { +@@ -725,6 +725,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() { // FFmpeg doesn't understand xHE-AAC profiles yet, which can't be put in // ADTS anyways, so skip bitstream conversion when the profile is // unknown. @@ -165,7 +157,7 @@ diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_ diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters/win/media_foundation_audio_decoder.cc --- a/media/filters/win/media_foundation_audio_decoder.cc +++ b/media/filters/win/media_foundation_audio_decoder.cc -@@ -106,11 +106,15 @@ std::optional GetTypeInfo( +@@ -102,11 +102,15 @@ std::optional GetTypeInfo( #endif #if BUILDFLAG(USE_PROPRIETARY_CODECS) case AudioCodec::kAAC: @@ -181,7 +173,7 @@ diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters #endif #if BUILDFLAG(ENABLE_PLATFORM_AC4_AUDIO) case AudioCodec::kAC4: -@@ -332,8 +336,13 @@ void MediaFoundationAudioDecoder::Reset(base::OnceClosure reset_cb) { +@@ -328,8 +332,13 @@ void MediaFoundationAudioDecoder::Reset(base::OnceClosure reset_cb) { } bool MediaFoundationAudioDecoder::NeedsBitstreamConversion() const { diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch index bf872cf7..e786d1e6 100644 --- a/build/patches/Enable-search-engine-settings-desktop-ui.patch +++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch @@ -142,7 +142,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources 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 -@@ -2249,6 +2249,9 @@ +@@ -2297,6 +2297,9 @@ URL with %s in place of query @@ -420,7 +420,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 -@@ -3718,6 +3718,9 @@ static_library("browser") { +@@ -3714,6 +3714,9 @@ static_library("browser") { "//components/user_scripts/android", ] } @@ -433,7 +433,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc --- a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc +++ b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc -@@ -366,6 +366,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -370,6 +370,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( #endif // !BUILDFLAG(IS_CHROMEOS) >(map); @@ -442,7 +442,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop +#endif RegisterWebUIControllerInterfaceBinder< help_bubble::mojom::HelpBubbleHandlerFactory, UserEducationInternalsUI, - settings::SettingsUI, ReadingListUI, NewTabPageUI, CustomizeChromeUI, + ReadingListUI, NewTabPageUI, CustomizeChromeUI, PasswordManagerUI, diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensions/extension_util.h --- a/chrome/browser/extensions/extension_util.h +++ b/chrome/browser/extensions/extension_util.h @@ -872,7 +872,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/ 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 -@@ -684,7 +684,11 @@ static_library("ui") { +@@ -687,7 +687,11 @@ static_library("ui") { deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ] } } @@ -885,7 +885,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn # TODO(crbug.com/413572035): Move into build files of the actual # modules depending on this. eg: autofill, user_education. if (is_chrome_branded) { -@@ -1012,6 +1016,25 @@ static_library("ui") { +@@ -1023,6 +1027,25 @@ static_library("ui") { "//extensions/browser:extension_action_enums", ] } @@ -1107,7 +1107,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -443,4 +448,7 @@ void RegisterChromeWebUIConfigs() { +@@ -445,4 +450,7 @@ void RegisterChromeWebUIConfigs() { #if BUILDFLAG(ENTERPRISE_WATERMARK) map.AddWebUIConfig(std::make_unique()); #endif @@ -1324,7 +1324,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2586,6 +2586,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { +@@ -2743,6 +2743,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { {"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL}, {"searchEnginesQueryURLExplanation", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION}, @@ -1333,7 +1333,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide {"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT}, {"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE}, {"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE}, -@@ -3879,7 +3881,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -4042,7 +4044,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, AddSiteSettingsStrings(html_source, profile); AddSiteDataPageStrings(html_source, profile); AddStorageAccessStrings(html_source); @@ -1893,7 +1893,7 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s 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 -@@ -2149,6 +2149,10 @@ void TemplateURL::SetURL(const std::string& url) { +@@ -2158,6 +2158,10 @@ void TemplateURL::SetURL(const std::string& url) { url_ref().InvalidateCachedValues(); } @@ -1907,7 +1907,7 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h --- a/components/search_engines/template_url.h +++ b/components/search_engines/template_url.h -@@ -1012,6 +1012,7 @@ class TemplateURL { +@@ -1014,6 +1014,7 @@ class TemplateURL { bool CreatedByRegulatoryProgram() const; void SetURL(const std::string& url); @@ -1918,7 +1918,7 @@ diff --git a/components/search_engines/template_url.h b/components/search_engine diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc --- a/components/search_engines/template_url_service.cc +++ b/components/search_engines/template_url_service.cc -@@ -804,13 +804,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( +@@ -803,13 +803,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( std::unique_ptr template_url, const std::u16string& short_name, const std::u16string& keyword, @@ -1935,7 +1935,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear return Add(std::move(template_url)); } -@@ -1031,7 +1033,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { +@@ -1030,7 +1032,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { void TemplateURLService::ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -1945,7 +1945,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear DCHECK(!IsCreatedByExtension(*url)); DCHECK(!keyword.empty()); DCHECK(!search_url.empty()); -@@ -1051,6 +1054,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, +@@ -1050,6 +1053,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, // The urls have changed, reset the favicon url. data.favicon_url = GURL(); } @@ -2335,7 +2335,7 @@ diff --git a/ui/webui/resources/css/BUILD.gn b/ui/webui/resources/css/BUILD.gn diff --git a/ui/webui/resources/images/BUILD.gn b/ui/webui/resources/images/BUILD.gn --- a/ui/webui/resources/images/BUILD.gn +++ b/ui/webui/resources/images/BUILD.gn -@@ -59,7 +59,7 @@ generate_grd("build_grdp") { +@@ -60,7 +60,7 @@ generate_grd("build_grdp") { ] } diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch index b40cf07b..0e9d3b0a 100644 --- a/build/patches/Enable-share-intent.patch +++ b/build/patches/Enable-share-intent.patch @@ -34,7 +34,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 -@@ -588,6 +588,7 @@ chrome_java_resources = [ +@@ -597,6 +597,7 @@ chrome_java_resources = [ "java/res/layout/shopping_accessory_view_layout.xml", "java/res/layout/status_indicator_container.xml", "java/res/layout/suggestions_tile_view_condensed.xml", @@ -45,7 +45,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 -@@ -1007,6 +1007,7 @@ chrome_java_sources = [ +@@ -1022,6 +1022,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/signin/SigninCheckerProvider.java", "java/src/org/chromium/chrome/browser/signin/SigninFirstRunFragment.java", "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java", @@ -56,7 +56,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml -@@ -260,12 +260,6 @@ by a child template that "extends" this file. +@@ -271,12 +271,6 @@ by a child template that "extends" this file. @@ -69,7 +69,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -344,6 +338,10 @@ by a child template that "extends" this file. +@@ -355,6 +349,10 @@ by a child template that "extends" this file. @@ -80,7 +80,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -380,6 +378,24 @@ by a child template that "extends" this file. +@@ -391,6 +389,24 @@ by a child template that "extends" this file. @@ -211,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** A hash code for the URL to verify intent data hasn't been modified. */ public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash"; -@@ -1533,6 +1536,17 @@ public class IntentHandler { +@@ -1536,6 +1539,17 @@ public class IntentHandler { return IntentUtils.safeGetIntExtra(intent, EXTRA_DEST_TAB_ID, Tab.INVALID_TAB_ID); } @@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** * Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent * will be trusted and therefore able to launch Incognito tabs. -@@ -1734,7 +1748,7 @@ public class IntentHandler { +@@ -1737,7 +1751,7 @@ public class IntentHandler { String headers = getExtraHeadersFromIntent(intent); headers = maybeAddAdditionalContentHeaders(intent, url, headers); @@ -241,7 +241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java --- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java -@@ -48,6 +48,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge; +@@ -52,6 +52,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; @@ -249,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis import org.chromium.chrome.browser.searchwidget.SearchActivity; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient; -@@ -224,11 +225,22 @@ public class LaunchIntentDispatcher { +@@ -229,11 +230,22 @@ public class LaunchIntentDispatcher { String query = null; final String action = intent.getAction(); @@ -272,7 +272,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis // Only the ChromeLauncherActivity can handle search intents. Drop the intent and abort the // launch. -@@ -507,8 +519,8 @@ public class LaunchIntentDispatcher { +@@ -511,8 +523,8 @@ public class LaunchIntentDispatcher { /*incognito*/true); newIntent.setData(mIntent.getData()); newIntent.setPackage(applicationContext.getPackageName()); @@ -285,7 +285,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -106,6 +106,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStore; +@@ -107,6 +107,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl; import org.chromium.chrome.browser.ui.cars.DrivingRestrictionsManager; import org.chromium.chrome.browser.ui.hats.SurveyClientFactory; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager; @@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import org.chromium.chrome.browser.usb.UsbNotificationManager; import org.chromium.chrome.browser.util.AfterStartupTaskUtils; import org.chromium.chrome.browser.webapps.ChromeWebApkHost; -@@ -719,6 +720,7 @@ public class ProcessInitializationHandler { +@@ -730,6 +731,7 @@ public class ProcessInitializationHandler { tasks.add(WebApkUninstallTracker::runDeferredTasks); @@ -468,7 +468,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 -@@ -403,6 +403,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -408,6 +408,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kRelatedSearchesAllLanguage, &kRelatedSearchesSwitch, &kReloadTabUiResourcesIfChanged, @@ -479,7 +479,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 -@@ -573,6 +573,7 @@ public abstract class ChromeFeatureList { +@@ -578,6 +578,7 @@ public abstract class ChromeFeatureList { "ReadAloudIPHMenuButtonHighlightCCT"; public static final String READALOUD_PLAYBACK = "ReadAloudPlayback"; public static final String READALOUD_TAP_TO_SEEK = "ReadAloudTapToSeek"; @@ -490,7 +490,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 -@@ -6089,6 +6089,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6326,6 +6326,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d Make sure a phone app is enabled on this device diff --git a/build/patches/Enable-snackbar-swipe.patch b/build/patches/Enable-snackbar-swipe.patch index c5e31df6..0efad72a 100644 --- a/build/patches/Enable-snackbar-swipe.patch +++ b/build/patches/Enable-snackbar-swipe.patch @@ -74,7 +74,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro mSnackbarView = mContainerView.findViewById(R.id.snackbar); mAnimationDuration = mContainerView.getResources().getInteger(android.R.integer.config_mediumAnimTime); -@@ -503,4 +523,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -505,4 +525,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { public @Nullable EdgeToEdgePadAdjuster getEdgeToEdgePadAdjusterForTesting() { return mEdgeToEdgePadAdjuster; } diff --git a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch index 7da4ab16..e2d7f654 100644 --- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch +++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch @@ -28,7 +28,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts --- a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts +++ b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts -@@ -183,6 +183,9 @@ export class DebuggerModel extends SDKModel { +@@ -187,6 +187,9 @@ export class DebuggerModel extends SDKModel { Common.Settings.Settings.instance() .moduleSetting('disable-async-stack-traces') .addChangeListener(this.asyncStackTracesStateChanged, this); @@ -38,7 +38,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel. Common.Settings.Settings.instance() .moduleSetting('breakpoints-active') .addChangeListener(this.breakpointsActiveChanged, this); -@@ -196,6 +199,7 @@ export class DebuggerModel extends SDKModel { +@@ -200,6 +203,7 @@ export class DebuggerModel extends SDKModel { Common.Settings.Settings.instance() .moduleSetting('js-source-maps-enabled') .addChangeListener(event => this.#sourceMapManager.setEnabled((event.data as boolean))); @@ -46,7 +46,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel. const resourceTreeModel = (target.model(ResourceTreeModel) as ResourceTreeModel); if (resourceTreeModel) { -@@ -387,6 +391,11 @@ export class DebuggerModel extends SDKModel { +@@ -391,6 +395,11 @@ export class DebuggerModel extends SDKModel { return this.agent.invoke_setAsyncCallStackDepth({maxDepth}); } @@ -101,7 +101,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js --- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js +++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js -@@ -1483,6 +1483,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume +@@ -1481,6 +1481,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume inspectorBackend.registerCommand("Debugger.searchInContent", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to search in.", "typeRef": "Runtime.ScriptId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in script content."); inspectorBackend.registerCommand("Debugger.setAsyncCallStackDepth", [{"name": "maxDepth", "type": "number", "optional": false, "description": "Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async call stacks (default).", "typeRef": null}], [], "Enables or disables async call stacks tracking."); inspectorBackend.registerCommand("Debugger.setBlackboxExecutionContexts", [{"name": "uniqueIds", "type": "array", "optional": false, "description": "Array of execution context unique ids for the debugger to ignore.", "typeRef": "string"}], [], "Replace previous blackbox execution contexts with passed ones. Forces backend to skip stepping/pausing in scripts in these execution contexts. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful."); @@ -115,7 +115,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBack diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts -@@ -5158,6 +5158,10 @@ export namespace ProtocolMapping { +@@ -5150,6 +5150,10 @@ export namespace ProtocolMapping { paramsType: [Protocol.Debugger.SetBlackboxExecutionContextsRequest]; returnType: void; }; @@ -129,7 +129,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapp diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts -@@ -4619,6 +4619,8 @@ declare namespace ProtocolProxyApi { +@@ -4606,6 +4606,8 @@ declare namespace ProtocolProxyApi { */ invoke_setBlackboxExecutionContexts(params: Protocol.Debugger.SetBlackboxExecutionContextsRequest): Promise; @@ -141,7 +141,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-prox diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b/third_party/devtools-frontend/src/front_end/generated/protocol.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol.ts -@@ -19935,6 +19935,10 @@ export namespace Debugger { +@@ -19882,6 +19882,10 @@ export namespace Debugger { uniqueIds: string[]; } @@ -155,7 +155,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json --- a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json +++ b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json -@@ -30279,8 +30279,17 @@ +@@ -30227,8 +30227,17 @@ "$ref": "WasmDisassemblyChunk" } ] @@ -175,7 +175,7 @@ diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools "name": "nextWasmDisassemblyChunk", "description": "Disassemble the next chunk of lines for the module corresponding to the\nstream. If disassembly is complete, this API will invalidate the streamId\nand return an empty chunk. Any subsequent calls for the now invalid stream\nwill return errors.", "experimental": true, -@@ -33470,4 +33479,4 @@ +@@ -33418,4 +33427,4 @@ ] } ] @@ -199,7 +199,7 @@ diff --git a/v8/include/js_protocol.pdl b/v8/include/js_protocol.pdl diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h --- a/v8/src/common/message-template.h +++ b/v8/src/common/message-template.h -@@ -759,6 +759,7 @@ namespace internal { +@@ -761,6 +761,7 @@ namespace internal { /* AggregateError */ \ T(AllPromisesRejected, "All promises were rejected") \ T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \ diff --git a/build/patches/Experimental-support-for-extensions-on-Android.patch b/build/patches/Experimental-support-for-extensions-on-Android.patch index 1bf121f6..cb745a27 100644 --- a/build/patches/Experimental-support-for-extensions-on-Android.patch +++ b/build/patches/Experimental-support-for-extensions-on-Android.patch @@ -13,20 +13,19 @@ folder in case of a crash on startup. License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- android_webview/BUILD.gn | 2 +- - base/android/device_info.cc | 6 ++- + base/android/device_info.cc | 6 +- base/android/device_info.h | 3 +- - .../src/org/chromium/base/DeviceInfo.java | 6 ++- + .../src/org/chromium/base/DeviceInfo.java | 6 +- build/BUILD.gn | 2 +- build/config/android/rules.gni | 4 +- - build/config/chrome_build.gni | 7 +-- + build/config/chrome_build.gni | 7 +- build/config/compiler/BUILD.gn | 2 +- build/config/compiler/pgo/BUILD.gn | 2 +- - chrome/android/BUILD.gn | 6 +-- + chrome/android/BUILD.gn | 6 +- chrome/android/chrome_public_apk_tmpl.gni | 2 +- - .../java/res/layout/manage_space_activity.xml | 14 ++++- - .../java/res/xml/developer_preferences.xml | 6 +++ + .../java/res/layout/manage_space_activity.xml | 14 +++- + .../java/res/xml/developer_preferences.xml | 6 ++ .../browser/ChromeBaseAppCompatActivity.java | 2 +- - .../chrome/browser/SwipeRefreshHandler.java | 2 +- .../AppMenuPropertiesDelegateImpl.java | 2 +- .../settings/AppearanceSettingsFragment.java | 2 +- .../overlays/strip/StripLayoutUtils.java | 2 +- @@ -35,81 +34,81 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../MediaCaptureNotificationServiceImpl.java | 8 +-- .../browser/multiwindow/MultiWindowUtils.java | 2 +- .../ChromeSiteSettingsDelegate.java | 2 +- - .../site_settings/ManageSpaceActivity.java | 20 +++++++ + .../site_settings/ManageSpaceActivity.java | 20 ++++++ ...InterceptNavigationDelegateClientImpl.java | 2 +- - .../browser/tab/RequestDesktopUtils.java | 6 +-- + .../browser/tab/RequestDesktopUtils.java | 6 +- .../tab/TabContextMenuItemDelegate.java | 4 +- .../TabbedAppMenuPropertiesDelegate.java | 2 +- .../tabbed_mode/TabbedRootUiCoordinator.java | 2 +- .../chrome/browser/ui/RootUiCoordinator.java | 2 +- - chrome/app/extensions_strings.grdp | 7 +++ + chrome/app/extensions_strings.grdp | 7 ++ chrome/app/theme/theme_resources.grd | 4 +- chrome/browser/BUILD.gn | 8 +-- chrome/browser/about_flags.cc | 4 ++ ...chrome_selection_dropdown_menu_delegate.cc | 4 +- - .../bookmarks/bar/BookmarkBarUtils.java | 6 +-- + .../bookmarks/bar/BookmarkBarUtils.java | 6 +- .../bar/BookmarkBarVisibilityProvider.java | 2 +- chrome/browser/browser_process_impl.cc | 2 +- - chrome/browser/chrome_browser_field_trials.cc | 54 +++++++++---------- + chrome/browser/chrome_browser_field_trials.cc | 72 +++++++++---------- .../chrome_browser_interface_binders_webui.cc | 4 +- .../browser/chrome_content_browser_client.cc | 4 +- chrome/browser/devtools/BUILD.gn | 2 +- .../chrome_download_manager_delegate.cc | 2 +- - chrome/browser/extensions/BUILD.gn | 12 ++++- + chrome/browser/extensions/BUILD.gn | 12 +++- .../chrome_extensions_api_client_android.cc | 2 +- .../extensions/extension_management.cc | 8 ++- .../browser/extensions/extension_management.h | 2 +- - chrome/browser/extensions/extension_util.cc | 11 ++++ + chrome/browser/extensions/extension_util.cc | 11 +++ .../feedback/DeviceInfoFeedbackSource.java | 2 +- chrome/browser/media/router/BUILD.gn | 4 +- .../browser/media/router/discovery/BUILD.gn | 2 +- - .../media/router/media_router_feature.cc | 10 ++-- + .../media/router/media_router_feature.cc | 10 +-- .../media/router/media_router_feature.h | 2 +- .../media/webrtc/webrtc_event_log_manager.cc | 4 +- .../policy_value_and_status_aggregator.cc | 2 +- ...hrome_browser_main_extra_parts_profiles.cc | 2 +- - .../profiles/off_the_record_profile_impl.cc | 9 +++- + .../profiles/off_the_record_profile_impl.cc | 9 ++- chrome/browser/profiles/profile_destroyer.cc | 2 +- chrome/browser/resources/BUILD.gn | 2 +- chrome/browser/resources/discards/BUILD.gn | 2 +- - .../resources/extensions/detail_view.css | 6 +++ + .../resources/extensions/detail_view.css | 6 ++ .../resources/extensions/extensions.html | 8 ++- - .../resources/extensions/item_list.css | 11 ++++ - .../resources/extensions/toolbar.html.ts | 7 --- + .../resources/extensions/item_list.css | 11 +++ + .../resources/extensions/toolbar.html.ts | 7 -- ...omeProvidedSharingOptionsProviderBase.java | 4 +- - chrome/browser/startup_data.cc | 6 +-- - chrome/browser/startup_data.h | 6 +-- + chrome/browser/startup_data.cc | 6 +- + chrome/browser/startup_data.h | 6 +- .../common/task_manager_features.cc | 2 +- - chrome/browser/ui/BUILD.gn | 6 +-- - .../browser/ui/android/context_menu_helper.cc | 6 +-- + chrome/browser/ui/BUILD.gn | 6 +- + .../browser/ui/android/context_menu_helper.cc | 6 +- .../browser/ui/android/context_menu_helper.h | 4 +- chrome/browser/ui/android/extensions/BUILD.gn | 4 +- - .../extensions/extension_actions_bridge.cc | 23 ++++++++ + .../extensions/extension_actions_bridge.cc | 23 ++++++ .../extensions/extension_actions_bridge.h | 1 + .../res/layout/extensions_menu_footer.xml | 3 +- .../extensions/java/res/values/dimens.xml | 1 + - .../ui/extensions/ExtensionActionsBridge.java | 6 +++ + .../ui/extensions/ExtensionActionsBridge.java | 6 ++ .../extensions/windowing/internal/BUILD.gn | 2 +- - .../Enable-extensions-Android.grdp | 15 ++++++ - .../Extensions-Android.grdp | 9 ++++ + .../Enable-extensions-Android.grdp | 15 ++++ + .../Extensions-Android.grdp | 9 +++ chrome/browser/ui/android/tab_model/BUILD.gn | 4 +- - .../browser/ui/android/tab_model/tab_model.cc | 6 +-- + .../browser/ui/android/tab_model/tab_model.cc | 6 +- .../browser/ui/android/tab_model/tab_model.h | 2 +- - .../android/tab_model/tab_model_jni_bridge.cc | 12 ++--- + .../android/tab_model/tab_model_jni_bridge.cc | 12 ++-- .../android/tab_model/tab_model_test_helper.h | 2 +- - .../toolbar/java/res/layout/toolbar_phone.xml | 6 +++ + .../toolbar/java/res/layout/toolbar_phone.xml | 6 ++ .../ExtensionActionListContainer.java | 8 ++- - .../ExtensionToolbarCoordinatorImpl.java | 10 +++- - .../extensions/ExtensionsMenuCoordinator.java | 7 ++- + .../ExtensionToolbarCoordinatorImpl.java | 10 ++- + .../extensions/ExtensionsMenuCoordinator.java | 7 +- .../ExtensionsMenuItemProperties.java | 5 +- .../ExtensionsMenuItemViewBinder.java | 2 + - .../extensions/ExtensionsMenuMediator.java | 9 +++- + .../extensions/ExtensionsMenuMediator.java | 9 ++- chrome/browser/ui/browser_navigator_params.cc | 4 +- chrome/browser/ui/browser_navigator_params.h | 4 +- chrome/browser/ui/browser_window/BUILD.gn | 2 +- .../ui/browser_window/internal/BUILD.gn | 2 +- chrome/browser/ui/prefs/BUILD.gn | 4 +- - chrome/browser/ui/prefs/prefs_tab_helper.cc | 10 ++-- + chrome/browser/ui/prefs/prefs_tab_helper.cc | 10 +-- chrome/browser/ui/tabs/tab_list_interface.h | 4 +- chrome/browser/ui/webid/BUILD.gn | 2 +- .../browser/ui/webui/chrome_web_ui_configs.cc | 4 +- @@ -119,12 +118,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html chrome/common/BUILD.gn | 2 +- chrome/common/chrome_switches.cc | 2 +- chrome/common/chrome_switches.h | 2 +- - chrome/common/extensions/api/api_sources.gni | 7 +++ + chrome/common/extensions/api/api_sources.gni | 7 ++ chrome/common/webui_url_constants.cc | 2 +- chrome/common/webui_url_constants.h | 2 +- - chrome/test/BUILD.gn | 14 ++--- + chrome/test/BUILD.gn | 14 ++-- chrome/version.gni | 2 +- - .../core/browser/host_content_settings_map.cc | 6 +++ + .../core/browser/host_content_settings_map.cc | 6 ++ .../embedder_support/view/ContentView.java | 2 +- .../browser/android/media_router_android.cc | 2 +- .../browser/android/media_router_android.h | 2 +- @@ -135,22 +134,22 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../cloud/user_policy_signin_service_base.cc | 2 +- .../common/cloud/cloud_policy_constants.cc | 2 +- .../service/variations_service_client.cc | 2 +- - .../installable/installable_icon_fetcher.cc | 6 +-- + .../installable/installable_icon_fetcher.cc | 6 +- .../installable/installable_icon_fetcher.h | 2 +- .../version/resources/about_version.html | 2 +- content/browser/browser_main_loop.cc | 2 +- .../media/video_capture_manager.cc | 4 +- - .../media/video_capture_manager.h | 6 +-- - .../browser/ContentUiEventHandler.java | 7 +-- + .../media/video_capture_manager.h | 6 +- + .../browser/ContentUiEventHandler.java | 7 +- content/public/common/content_features.cc | 2 +- - .../about_flags_cc/Extensions-Android.inc | 12 +++++ + .../about_flags_cc/Extensions-Android.inc | 12 ++++ .../about_flags_cc/Webstore-protection.inc | 8 +-- extensions/browser/BUILD.gn | 4 +- ...browser_context_keyed_service_factories.cc | 2 +- extensions/browser/api/system_cpu/BUILD.gn | 2 +- .../api/web_request/permission_helper.cc | 2 +- extensions/browser/extension_frame_host.cc | 8 +++ - extensions/browser/extension_host.cc | 24 +++++++-- + extensions/browser/extension_host.cc | 24 ++++++- extensions/buildflags/BUILD.gn | 3 +- extensions/buildflags/buildflags.gni | 4 +- extensions/common/api/schema.gni | 2 +- @@ -160,24 +159,23 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html extensions/common/features/feature.cc | 2 +- .../renderer/bindings/api_binding_util.cc | 2 +- gpu/config/gpu_finch_features.cc | 4 +- - gpu/vulkan/vulkan_util.cc | 2 +- net/features.gni | 4 +- skia/features.gni | 2 +- third_party/blink/common/features.cc | 2 +- .../renderer/modules/modules_initializer.cc | 4 +- tools/grit/grit_args.gni | 3 +- .../cpp_bundle_generator.py | 2 +- - .../ui/widget/PopupSpecCalculator.java | 9 +++- + .../ui/widget/PopupSpecCalculator.java | 9 ++- .../ui/test/util/UiDisableIfSkipCheck.java | 2 +- .../chromium/ui/test/util/UiRestriction.java | 2 +- ui/base/accelerators/command.cc | 2 +- ui/base/device_form_factor_android.cc | 2 +- - ui/gl/features.gni | 4 +- + ui/gl/features.gni | 2 +- ui/gl/gl_switches.cc | 4 +- ui/resources/ui_resources.grd | 2 +- ui/webui/resources/BUILD.gn | 4 +- - .../cr_elements/cr_toolbar/cr_toolbar.css | 6 +++ - 165 files changed, 539 insertions(+), 268 deletions(-) + .../cr_elements/cr_toolbar/cr_toolbar.css | 6 ++ + 163 files changed, 545 insertions(+), 274 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc @@ -185,7 +183,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn --- a/android_webview/BUILD.gn +++ b/android_webview/BUILD.gn -@@ -1306,7 +1306,7 @@ declare_args() { +@@ -1303,7 +1303,7 @@ declare_args() { # logic more easily on an emulator, so the decision to use the arm64 # orderfile for x64 (instead of arm32) is somewhat arbitrary. We just # needed to use some real orderfile. @@ -229,7 +227,7 @@ diff --git a/base/android/device_info.h b/base/android/device_info.h diff --git a/base/android/java/src/org/chromium/base/DeviceInfo.java b/base/android/java/src/org/chromium/base/DeviceInfo.java --- a/base/android/java/src/org/chromium/base/DeviceInfo.java +++ b/base/android/java/src/org/chromium/base/DeviceInfo.java -@@ -113,10 +113,14 @@ public final class DeviceInfo { +@@ -119,10 +119,14 @@ public final class DeviceInfo { return getInstance().mIDeviceInfo.isFoldable; } @@ -260,7 +258,7 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -2017,8 +2017,8 @@ if (!is_robolectric && enable_java_templates) { +@@ -2027,8 +2027,8 @@ if (!is_robolectric && enable_java_templates) { } else { defines += [ "_LOGTAG_PREFIX=cr_" ] } @@ -274,7 +272,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni --- a/build/config/chrome_build.gni +++ b/build/config/chrome_build.gni -@@ -26,7 +26,8 @@ declare_args() { +@@ -31,7 +31,8 @@ declare_args() { # Set to true to set defaults that enable features on Android that are more # typically available on desktop. @@ -284,7 +282,7 @@ diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni if (is_android) { # By default, Trichrome channels are compiled using separate package names. -@@ -44,12 +45,12 @@ declare_args() { +@@ -53,12 +54,12 @@ is_internal_chrome_branded = enable_src_internal && is_chrome_branded # Ensure !is_android implies !is_high_end_android. is_high_end_android = is_high_end_android && is_android @@ -302,7 +300,7 @@ diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni 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 -@@ -236,7 +236,7 @@ if (is_android) { +@@ -241,7 +241,7 @@ if (is_android) { # logic more easily on an emulator, so the decision to use the arm64 # orderfile for x64 (instead of arm32) is somewhat arbitrary. We just # needed to use some real orderfile. @@ -326,7 +324,7 @@ diff --git a/build/config/compiler/pgo/BUILD.gn b/build/config/compiler/pgo/BUIL diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -969,7 +969,7 @@ if (_is_default_toolchain) { +@@ -971,7 +971,7 @@ if (_is_default_toolchain) { "//chrome/browser/password_entry_edit/android/internal:java", ] @@ -335,7 +333,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn deps += [ "//chrome/browser/ui/android/extensions/windowing/internal:java", "//chrome/browser/ui/browser_window/internal:java", -@@ -1230,7 +1230,7 @@ if (_is_default_toolchain) { +@@ -1235,7 +1235,7 @@ if (_is_default_toolchain) { deps += [ "//chrome/browser/ui/android/extensions:junit" ] } @@ -344,7 +342,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn deps += [ "//chrome/browser/ui/browser_window/internal:junit" ] } } -@@ -2435,7 +2435,7 @@ if (_is_default_toolchain) { +@@ -2441,7 +2441,7 @@ if (_is_default_toolchain) { "//components/ip_protection/android/android_auth_client_lib/javatests:ip_protection_auth_javatests", ] @@ -405,7 +403,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -567,7 +567,7 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity +@@ -580,7 +580,7 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_OptOutEdgeToEdge); } @@ -414,22 +412,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_DesktopDensity); } -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java -@@ -445,7 +445,7 @@ public class SwipeRefreshHandler extends TabWebContentsUserData - @VisibleForTesting - boolean isRefreshOnOverscrollSupported() { - // TODO(https://crbug.com/422413654) Remove this after long-term fix -- if (DeviceInfo.isDesktop()) { -+ if (DeviceInfo.isDesktopFalse()) { - return !DeviceInput.supportsPrecisionPointer(); - } else { - return true; 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 -@@ -1138,7 +1138,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -1137,7 +1137,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties && !shouldShowReaderModePrefs(currentTab) && currentTab != null && currentTab.getWebContents() != null @@ -441,7 +427,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java -@@ -55,7 +55,7 @@ public class AppearanceSettingsFragment extends ChromeBaseSettingsFragment +@@ -58,7 +58,7 @@ public class AppearanceSettingsFragment extends ChromeBaseSettingsFragment // This fragment may be used on Desktop or tablets. For Desktop we use the current Profile's // UserPrefs. For tablets, we use the local device preference. @@ -528,19 +514,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/MediaCapt diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java -@@ -214,7 +214,7 @@ public class MultiWindowUtils implements ActivityStateListener { +@@ -221,7 +221,7 @@ public class MultiWindowUtils implements ActivityStateListener { return TabWindowManager.MAX_SELECTORS_S; } -- if (DeviceInfo.isDesktop() || XrUtils.isXrDevice()) { -+ if (DeviceInfo.isDesktopFalse() || XrUtils.isXrDevice()) { +- if (DeviceInfo.isDesktop() || DeviceInfo.isXr()) { ++ if (DeviceInfo.isDesktopFalse() || DeviceInfo.isXr()) { return TabWindowManager.MAX_SELECTORS; } 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 -@@ -173,7 +173,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -174,7 +174,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { return PermissionUtil.handTrackingNeedsAdditionalPermissions(); case SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE: // Desktop Android always requests desktop sites, so hide the category. @@ -603,7 +589,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/M diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java -@@ -204,7 +204,7 @@ public class InterceptNavigationDelegateClientImpl implements InterceptNavigatio +@@ -205,7 +205,7 @@ public class InterceptNavigationDelegateClientImpl implements InterceptNavigatio // TODO(crbug.com/417047079): Replace the following desktop windowing checks with a better // approach. // return MultiWindowUtils.getInstance().isInMultiWindowMode(getActivity()); @@ -645,9 +631,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk 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 -@@ -282,7 +282,9 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { - public void openInOtherWindow(GURL url, @Nullable Referrer referrer, boolean incognito) { - ChromeAsyncTabLauncher chromeAsyncTabLauncher = new ChromeAsyncTabLauncher(incognito); +@@ -304,7 +304,9 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { + public void openInAnotherWindow(GURL url, @Nullable Referrer referrer, boolean isIncognito) { + ChromeAsyncTabLauncher chromeAsyncTabLauncher = new ChromeAsyncTabLauncher(isIncognito); LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); - loadUrlParams.setReferrer(referrer); + if (!incognito) { @@ -655,11 +641,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM + } Activity activity = TabUtils.getActivity(mTab); assumeNonNull(activity); - Activity otherWindowActivity = + // null if there are no foreground window activities. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -779,7 +779,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -790,7 +790,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm // PDF. NativePage nativePage = currentTab.getNativePage(); boolean isPdfPage = nativePage != null && nativePage.isPdf(); @@ -671,22 +657,22 @@ 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/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 -@@ -1944,7 +1944,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { - return true; +@@ -1928,7 +1928,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } else if (id == R.id.toggle_bookmark_bar) { + // isActivityStateBookmarkBarCompatible already checks the flag sAndroidBookmarkBar. if (BookmarkBarUtils.isActivityStateBookmarkBarCompatible(mActivity)) { - if (DeviceInfo.isDesktop()) { + if (DeviceInfo.isDesktopCromite()) { + // Desktop uses the synced UserPref. BookmarkBarUtils.toggleUserPrefsShowBookmarksBar( mProfileSupplier.get(), /* fromKeyboardShortcut= */ true); - } else { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -612,7 +612,7 @@ public class RootUiCoordinator - - if (ChromeFeatureList.sLockTopControlsOnLargeTabletsV2.isEnabled()) { +@@ -682,7 +682,7 @@ public class RootUiCoordinator + } + if (BrowserControlsUtils.doSyncMinHeightWithTotalHeightV2()) { - if (DeviceInfo.isDesktop() + if (DeviceInfo.isDesktopFalse() || BrowserControlsUtils.doSyncMinHeightWithTotalHeight(mActivity)) { @@ -715,7 +701,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings. diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd --- a/chrome/app/theme/theme_resources.grd +++ b/chrome/app/theme/theme_resources.grd -@@ -375,7 +375,7 @@ +@@ -370,7 +370,7 @@ @@ -724,7 +710,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou -@@ -384,7 +384,7 @@ +@@ -379,7 +379,7 @@ @@ -736,7 +722,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4889,7 +4889,7 @@ static_library("browser") { +@@ -4906,7 +4906,7 @@ static_library("browser") { } } @@ -745,7 +731,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn deps += [ "//chrome/browser/ui/browser_window" ] } -@@ -7650,7 +7650,7 @@ static_library("browser") { +@@ -7648,7 +7648,7 @@ static_library("browser") { deps += [ "//media/mojo/mojom:remoting" ] } @@ -754,7 +740,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn sources += [ "download/download_crx_util_android.cc" ] } -@@ -7968,7 +7968,7 @@ static_library("browser") { +@@ -7962,7 +7962,7 @@ static_library("browser") { # TODO(https://crbug.com/356905053): Add more dependencies here and merge this # block with the `enable_extensions` block above. @@ -763,7 +749,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn sources += [ # TODO(https://crbug.com/356905053): These files are temporary workarounds # allow for a lightweight extensions runtime in desktop-android builds. -@@ -8765,7 +8765,7 @@ static_library("browser_generated_files") { +@@ -8725,7 +8725,7 @@ static_library("browser_generated_files") { [ "//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings" ] } } @@ -775,9 +761,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -367,6 +367,10 @@ +@@ -365,6 +365,10 @@ #include "extensions/common/switches.h" - #endif // BUILDFLAG(ENABLE_EXTENSIONS) + #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) +#if BUILDFLAG(ENABLE_EXTENSIONS_CORE) +#include "extensions/common/extension_features.h" @@ -810,16 +796,16 @@ diff --git a/chrome/browser/android/selection/chrome_selection_dropdown_menu_del diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java -@@ -208,7 +208,7 @@ public class BookmarkBarUtils { - } - - // On Desktop, we sync with the UserPrefs, but on tablets we use a local device preference. +@@ -209,7 +209,7 @@ public class BookmarkBarUtils { + // On Desktop, we sync with the UserPrefs. + // On tablets we use the device preference logic (policy (pref service) > local pref + // (shared pref) > FeatureParam). - return DeviceInfo.isDesktop() + return DeviceInfo.isDesktopFalse() ? isUserPrefsShowBookmarksBarEnabled(profile) - : isDevicePrefShowBookmarksBarEnabled(); + : isDevicePrefShowBookmarksBarEnabled(profile); } -@@ -325,13 +325,13 @@ public class BookmarkBarUtils { +@@ -427,13 +427,13 @@ public class BookmarkBarUtils { boolean isCurrentlyVisible = isBookmarkBarVisible(context, profile); // Record if the Bookmark Bar is visible, but not in cases of a forced feature param. @@ -838,7 +824,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/bar/BookmarkBarVisibilityProvider.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java -@@ -91,7 +91,7 @@ public class BookmarkBarVisibilityProvider { +@@ -92,7 +92,7 @@ public class BookmarkBarVisibilityProvider { mProfileSupplier.addObserver(mProfileSupplierObserver); // On tablets we use local device prefs. @@ -850,7 +836,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows 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 -@@ -337,7 +337,7 @@ void BrowserProcessImpl::Init() { +@@ -348,7 +348,7 @@ void BrowserProcessImpl::Init() { // TODO(devlin): Move this block out of BrowserProcessImpl to somewhere like // //chrome/browser/initialize_extensions_browser_client, analogous to // `EnsureExtensionsClientInitialized()` above? @@ -863,15 +849,15 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro --- a/chrome/browser/chrome_browser_field_trials.cc +++ b/chrome/browser/chrome_browser_field_trials.cc @@ -124,7 +124,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( - // Update child process binding state before unbinding. - // TODO(crbug.com/427087091): Remove when webview rollout is complete. - feature_overrides.EnableFeature(base::features::kUpdateStateBeforeUnbinding); + feature_overrides.DisableFeature(features::kEyeDropper); + } + #elif BUILDFLAG(IS_ANDROID) // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_DESKTOP_ANDROID) +#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE) // Nota bene: Anything here is expected to be short-lived, unless deemed too // risky to launch to non-desktop platforms. New features being added here // should be the exception, and not the norm. Instead, you should place the -@@ -133,8 +133,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( +@@ -133,13 +133,13 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( // If enabled, then use desktop page webprefs for Android devices that have // large displays, specifically tablets and desktops. @@ -880,9 +866,15 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro + // feature_overrides.EnableFeature( + // blink::features::kAndroidDesktopWebPrefsLargeDisplays); + // Enables the caret browsing a11y feature - can use arrow keys to navigate + // through web pages. + // TODO(crbug.com/369139090): Remove when rollout is complete +- feature_overrides.EnableFeature(features::kAndroidCaretBrowsing); ++ // feature_overrides.EnableFeature(features::kAndroidCaretBrowsing); + // If enabled, render processes associated only with tabs in unfocused windows // will be downgraded to "vis" priority, rather than remaining at "fg". This -@@ -149,8 +149,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( +@@ -154,8 +154,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( // Enables media capture (tab+window+screen sharing). // TODO(crbug.com/352187279): Remove when tablet rollout is complete. @@ -893,7 +885,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro // Enable desktop tab management features. // TODO(crbug.com/422902940): Remove when tablet rollout is complete. -@@ -166,7 +166,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( +@@ -171,7 +171,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( feature_overrides.EnableFeature(features::kRendererProcessLimitOnAndroid); // Enable V8 optimizations for high-end Android Desktop devices. // TODO(crbug.com/425860368): Remove when the feature is stable. @@ -902,7 +894,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro // TODO(b/432367402): Use a new Android API to replace this hack with a proper // solution. feature_overrides.EnableFeature(features::kAndroidCaptureKeyEvents); -@@ -175,53 +175,53 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( +@@ -180,74 +180,74 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides( feature_overrides.EnableFeature(features::kAndroidDevToolsFrontend); // TODO(crbug.com/430304112): Remove when rollout is complete to all form // factors. @@ -914,12 +906,8 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro // implemented. - feature_overrides.EnableFeature( - chrome::android::kLockTopControlsOnLargeTablets); -- feature_overrides.EnableFeature( -- chrome::android::kLockTopControlsOnLargeTabletsV2); + // feature_overrides.EnableFeature( -+ // chrome::android::kLockTopControlsOnLargeTablets); -+ // feature_overrides.EnableFeature( -+ // chrome::android::kLockTopControlsOnLargeTabletsV2); ++ // chrome::android::kLockTopControlsOnLargeTablets); // Bypass the WebAudio output buffer, to reduce audio latency. // TODO(crbug.com/436988695): Remove when the long term solution is // implemented. @@ -974,13 +962,46 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro - chrome::android::kAndroidPinnedTabsTabletTabStrip); + // feature_overrides.EnableFeature( + // chrome::android::kAndroidPinnedTabsTabletTabStrip); + // TODO(crbug.com/433879656): Remove when this feature on LFF device is + // stable. +- feature_overrides.EnableFeature(features::kFluidResize); ++ // feature_overrides.EnableFeature(features::kFluidResize); + + // Three flags are required for the bookmarks bar feature. + // TODO(crbug.com/430059235): Remove once feature is launched to 100% on all +- // form factors. +- feature_overrides.EnableFeature(chrome::android::kAndroidBookmarkBar); +- feature_overrides.EnableFeature(chrome::android::kAndroidAppearanceSettings); +- feature_overrides.EnableFeature(chrome::android::kTopControlsRefactor); ++ // // form factors. ++ // feature_overrides.EnableFeature(chrome::android::kAndroidBookmarkBar); ++ // feature_overrides.EnableFeature(chrome::android::kAndroidAppearanceSettings); ++ // feature_overrides.EnableFeature(chrome::android::kTopControlsRefactor); + + // Enable ANGLE/Vulkan features. + // TODO (crbug.com//376280554): Enable these features with runtime checks + // instead. +- feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist); +- feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan); +- feature_overrides.EnableFeature(::features::kVulkanFromANGLE); +- feature_overrides.EnableFeature(::features::kDefaultPassthroughCommandDecoder); ++ // feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist); ++ // feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan); ++ // feature_overrides.EnableFeature(::features::kVulkanFromANGLE); ++ // feature_overrides.EnableFeature(::features::kDefaultPassthroughCommandDecoder); + + // Enable site-per-process by default for desktop platforms. + // TODO(crbug.com/453856709): Remove when we determine how to ensure + // SitePerProcess is enabled for all necessary or eligible Android devices. +- feature_overrides.EnableFeature(::features::kSitePerProcess); ++ // feature_overrides.EnableFeature(::features::kSitePerProcess); #endif // BUILDFLAG(IS_DESKTOP_ANDROID) // Desktop-first features which are past incubation should either end up here, // or to a finch trial that enables it for all form factors. diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/browser/chrome_browser_interface_binders_webui.cc --- a/chrome/browser/chrome_browser_interface_binders_webui.cc +++ b/chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -36,7 +36,7 @@ +@@ -40,7 +40,7 @@ #include "mojo/public/cpp/bindings/binder_map.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -989,7 +1010,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" -@@ -128,7 +128,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -135,7 +135,7 @@ void PopulateChromeWebUIFrameBinders( #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -1001,7 +1022,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b 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 -@@ -4388,7 +4388,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate( +@@ -4283,7 +4283,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate( // TODO(wenz): This should instead proceed with the selected certificate // when there are matching certificates in the OS. #if BUILDFLAG(ENABLE_EXTENSIONS) && \ @@ -1010,7 +1031,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch if (matching_certificates.empty() && nonmatching_certificates.empty()) { extensions::ProcessMap* process_map = extensions::ProcessMap::Get(profile); -@@ -4578,7 +4578,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences( +@@ -4507,7 +4507,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences( // Fill font preferences. These are not registered on Android unless we're built // with extensions (the chrome.fontSettings API can change these). // - http://crbug.com/308033, http://crbug.com/696364. @@ -1034,7 +1055,7 @@ diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc --- a/chrome/browser/download/chrome_download_manager_delegate.cc +++ b/chrome/browser/download/chrome_download_manager_delegate.cc -@@ -708,7 +708,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget( +@@ -742,7 +742,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget( DownloadPathReservationTracker::FilenameConflictAction action = kDefaultPlatformConflictAction; #if BUILDFLAG(IS_ANDROID) @@ -1046,7 +1067,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom 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 -@@ -1738,7 +1738,7 @@ source_set("chrome_extensions_browser_client") { +@@ -1736,7 +1736,7 @@ source_set("chrome_extensions_browser_client") { "//extensions/browser/updater:keepalive", ] @@ -1055,7 +1076,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL sources += [ "chrome_extensions_browser_client_android.cc" ] deps += [ -@@ -1753,6 +1753,16 @@ source_set("chrome_extensions_browser_client") { +@@ -1751,6 +1751,16 @@ source_set("chrome_extensions_browser_client") { "//extensions/browser", "//extensions/browser/kiosk", ] @@ -1098,10 +1119,10 @@ diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/ + return base::FeatureList::IsEnabled( + extensions_features::kEnableExtensionsAndroid); + } - // Disable extensions only for specific domains. - // This check keeps many tests from failing. - std::string user_name = profile_->GetProfileUserName(); -@@ -197,7 +201,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const { + // If Finch has enabled extensions for corp, allow them. + if (base::FeatureList::IsEnabled( + extensions_features::kEnableExtensionsForCorpDesktopAndroid)) { +@@ -202,7 +206,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const { ManagedInstallationMode ExtensionManagement::GetInstallationMode( const ExtensionId& extension_id, const std::string& update_url) { @@ -1125,8 +1146,8 @@ diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/e diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc --- a/chrome/browser/extensions/extension_util.cc +++ b/chrome/browser/extensions/extension_util.cc -@@ -56,6 +56,10 @@ - #include "chrome/browser/ui/browser.h" +@@ -51,6 +51,10 @@ + #include "chromeos/ash/components/file_manager/app_id.h" #endif +#if BUILDFLAG(IS_ANDROID) @@ -1136,7 +1157,7 @@ diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extens static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE)); namespace extensions::util { -@@ -356,6 +360,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -351,6 +355,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { bool AreExtensionsDisabled(const base::CommandLine& command_line, content::BrowserContext* context) { @@ -1153,9 +1174,9 @@ diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extens diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java --- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java +++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java -@@ -37,7 +37,7 @@ class DeviceInfoFeedbackSource implements FeedbackSource { +@@ -36,7 +36,7 @@ class DeviceInfoFeedbackSource implements FeedbackSource { type = TYPE_AUTO; - } else if (XrUtils.isXrDevice()) { + } else if (DeviceInfo.isXr()) { type = TYPE_XR; - } else if (DeviceInfo.isDesktop()) { + } else if (DeviceInfo.isDesktopFalse()) { @@ -1291,7 +1312,7 @@ diff --git a/chrome/browser/policy/policy_value_and_status_aggregator.cc b/chrom 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 -@@ -660,7 +660,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -663,7 +663,7 @@ void ChromeBrowserMainExtraPartsProfiles:: chromeos_extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt(); #endif extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt(); @@ -1303,7 +1324,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc --- a/chrome/browser/profiles/off_the_record_profile_impl.cc +++ b/chrome/browser/profiles/off_the_record_profile_impl.cc -@@ -107,6 +107,8 @@ +@@ -108,6 +108,8 @@ #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) #include "chrome/browser/extensions/extension_special_storage_policy.h" #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" @@ -1312,7 +1333,7 @@ diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/bro #endif #if BUILDFLAG(ENABLE_EXTENSIONS) -@@ -213,7 +215,10 @@ void OffTheRecordProfileImpl::Init() { +@@ -216,7 +218,10 @@ void OffTheRecordProfileImpl::Init() { this, std::make_unique(profile_)); #endif @@ -1324,7 +1345,7 @@ diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/bro extensions::WebRequestEventRouter::OnOTRBrowserContextCreated(profile_, this); #endif -@@ -272,7 +277,7 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() { +@@ -275,7 +280,7 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() { SimpleKeyMap::GetInstance()->Dissociate(this); @@ -1348,7 +1369,7 @@ diff --git a/chrome/browser/profiles/profile_destroyer.cc b/chrome/browser/profi diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn -@@ -124,7 +124,7 @@ group("resources") { +@@ -125,7 +125,7 @@ group("resources") { ] } @@ -1544,7 +1565,7 @@ diff --git a/chrome/browser/task_manager/common/task_manager_features.cc b/chrom diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -668,7 +668,7 @@ static_library("ui") { +@@ -671,7 +671,7 @@ static_library("ui") { "//v8:v8_version", ] @@ -1553,7 +1574,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn sources += [ "browser_navigator.h", "incognito_allowed_url.cc", -@@ -683,7 +683,7 @@ static_library("ui") { +@@ -686,7 +686,7 @@ static_library("ui") { ] # Desktop-Android-only dependencies. @@ -1562,8 +1583,8 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn sources += [ "//chrome/browser/ui/android/browser_navigator_android.cc" ] deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ] } -@@ -2872,7 +2872,7 @@ static_library("ui") { - ] +@@ -2897,7 +2897,7 @@ static_library("ui") { + allow_circular_includes_from += [ "//chrome/browser/ui/wallet" ] } - if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) { @@ -1791,7 +1812,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/android/tab_model/BUILD.gn b/chrome/browser/ui/android/tab_model/BUILD.gn --- a/chrome/browser/ui/android/tab_model/BUILD.gn +++ b/chrome/browser/ui/android/tab_model/BUILD.gn -@@ -63,7 +63,7 @@ source_set("impl") { +@@ -65,7 +65,7 @@ source_set("impl") { "//ui/base:types", ] @@ -1800,7 +1821,7 @@ diff --git a/chrome/browser/ui/android/tab_model/BUILD.gn b/chrome/browser/ui/an deps += [ "//chrome/browser/ui/browser_window", "//chrome/browser/ui/browser_window/internal", -@@ -93,7 +93,7 @@ source_set("test_support") { +@@ -95,7 +95,7 @@ source_set("test_support") { "//chrome/browser/ui/android/tab_model", ] @@ -1854,7 +1875,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model.h b/chrome/browser/ui diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc --- a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc +++ b/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc -@@ -42,7 +42,7 @@ +@@ -43,7 +43,7 @@ // "chrome/browser/ui/browser_window" is available on desktop Android, but not // other Android builds. @@ -1863,7 +1884,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom #include "chrome/browser/ui/browser_window/internal/android/android_browser_window.h" // nogncheck #include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck #include "chrome/browser/ui/browser_window/public/browser_window_interface_iterator.h" // nogncheck -@@ -75,7 +75,7 @@ std::vector GetAllTabsFromHandles( +@@ -76,7 +76,7 @@ std::vector GetAllTabsFromHandles( return tabs; } @@ -1872,7 +1893,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom AndroidBrowserWindow* GetAndroidBrowserWindow(SessionID session_id) { for (BrowserWindowInterface* window : GetAllBrowserWindowInterfaces()) { if (window->GetSessionID() == session_id) { -@@ -114,7 +114,7 @@ void TabModelJniBridge::AssociateWithBrowserWindow( +@@ -115,7 +115,7 @@ void TabModelJniBridge::AssociateWithBrowserWindow( long native_android_browser_window) { // BrowserWindowInterface is available on desktop Android, but not other Android // builds. For non-desktop Android, this function should be a no-op. @@ -1881,7 +1902,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom BrowserWindowInterface* android_browser_window = reinterpret_cast(native_android_browser_window); CHECK(android_browser_window != nullptr); -@@ -151,7 +151,7 @@ void TabModelJniBridge::MoveTabToWindowForTesting( +@@ -152,7 +152,7 @@ void TabModelJniBridge::MoveTabToWindowForTesting( TabAndroid* tab, long android_browser_window_ptr, int new_index) { @@ -1890,7 +1911,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom SessionID destination_window_id = reinterpret_cast(android_browser_window_ptr) ->GetSessionID(); -@@ -166,7 +166,7 @@ void TabModelJniBridge::MoveTabGroupToWindowForTesting( +@@ -167,7 +167,7 @@ void TabModelJniBridge::MoveTabGroupToWindowForTesting( const base::Token& group_id, long android_browser_window_ptr, int new_index) { @@ -1899,7 +1920,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom SessionID destination_window_id = reinterpret_cast(android_browser_window_ptr) ->GetSessionID(); -@@ -611,7 +611,7 @@ void TabModelJniBridge::MoveTabGroupToWindow(tab_groups::TabGroupId group_id, +@@ -631,7 +631,7 @@ void TabModelJniBridge::MoveTabGroupToWindow(tab_groups::TabGroupId group_id, ScopedJavaLocalRef TabModelJniBridge::GetActivityForWindow( SessionID window_id) { ScopedJavaLocalRef jactivity; @@ -2023,7 +2044,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mContext = context; mCurrentTabSupplier = currentTabSupplier; mTabCreator = tabCreator; -@@ -156,7 +158,8 @@ public class ExtensionsMenuCoordinator implements Destroyable { +@@ -160,7 +162,8 @@ public class ExtensionsMenuCoordinator implements Destroyable { mExtensionsMenuButton.setVisibility(visibility); mExtensionsMenuTabSwitcherDivider.setVisibility(visibility); }, @@ -2113,28 +2134,28 @@ diff --git a/chrome/browser/ui/browser_navigator_params.cc b/chrome/browser/ui/b #include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck #endif -@@ -39,7 +39,7 @@ NavigateParams::NavigateParams(Browser* a_browser, - : contents_to_insert(std::move(contents_to_insert)), browser(a_browser) {} - #endif // BUILDFLAG(IS_ANDROID) +@@ -30,7 +30,7 @@ NavigateParams::NavigateParams(std::unique_ptr contents_to_insert) + : contents_to_insert(std::move(contents_to_insert)) {} + #endif -#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID) +#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE) - NavigateParams::NavigateParams(BrowserWindowInterface* a_bwi, + NavigateParams::NavigateParams(BrowserWindowInterface* a_browser, const GURL& a_url, ui::PageTransition a_transition) diff --git a/chrome/browser/ui/browser_navigator_params.h b/chrome/browser/ui/browser_navigator_params.h --- a/chrome/browser/ui/browser_navigator_params.h +++ b/chrome/browser/ui/browser_navigator_params.h -@@ -86,7 +86,7 @@ struct NavigateParams { - std::unique_ptr contents_to_insert); +@@ -77,7 +77,7 @@ struct NavigateParams { + std::unique_ptr contents_to_insert); #endif -#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID) +#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE) - // TODO(http://crbug.com/443062679): Unused in WML's Navigate(). - NavigateParams(BrowserWindowInterface* a_bwi, + NavigateParams(BrowserWindowInterface* a_browser, const GURL& a_url, -@@ -274,7 +274,7 @@ struct NavigateParams { + ui::PageTransition a_transition); +@@ -264,7 +264,7 @@ struct NavigateParams { }; PathBehavior path_behavior = RESPECT; @@ -2239,7 +2260,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre diff --git a/chrome/browser/ui/tabs/tab_list_interface.h b/chrome/browser/ui/tabs/tab_list_interface.h --- a/chrome/browser/ui/tabs/tab_list_interface.h +++ b/chrome/browser/ui/tabs/tab_list_interface.h -@@ -17,7 +17,7 @@ +@@ -18,7 +18,7 @@ // BrowserWindowInterface is available on desktop Android, but not other Android // builds. @@ -2248,7 +2269,7 @@ diff --git a/chrome/browser/ui/tabs/tab_list_interface.h b/chrome/browser/ui/tab class BrowserWindowInterface; #endif -@@ -34,7 +34,7 @@ class TabListInterface { +@@ -35,7 +35,7 @@ class TabListInterface { TabListInterface(const TabListInterface& other) = delete; void operator=(const TabListInterface& other) = delete; @@ -2272,7 +2293,7 @@ diff --git a/chrome/browser/ui/webid/BUILD.gn b/chrome/browser/ui/webid/BUILD.gn 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 -@@ -179,7 +179,7 @@ +@@ -180,7 +180,7 @@ // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -2281,7 +2302,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #include "chrome/browser/ui/webui/discards/discards_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) -@@ -406,7 +406,7 @@ void RegisterChromeWebUIConfigs() { +@@ -408,7 +408,7 @@ void RegisterChromeWebUIConfigs() { // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -2344,7 +2365,7 @@ diff --git a/chrome/browser/ui/webui/discards/discards_ui.cc b/chrome/browser/ui diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -507,7 +507,7 @@ template("chrome_extra_paks") { +@@ -509,7 +509,7 @@ template("chrome_extra_paks") { deps += [ "//chrome/browser/resources/app_settings:resources" ] } @@ -2368,7 +2389,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc -@@ -789,7 +789,7 @@ const char kMarketUrlForTesting[] = "market-url-for-testing"; +@@ -784,7 +784,7 @@ const char kMarketUrlForTesting[] = "market-url-for-testing"; const char kRequestDesktopSites[] = "request-desktop-sites"; #endif // BUILDFLAG(IS_ANDROID) @@ -2380,7 +2401,7 @@ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h -@@ -232,7 +232,7 @@ extern const char kMarketUrlForTesting[]; +@@ -231,7 +231,7 @@ extern const char kMarketUrlForTesting[]; extern const char kRequestDesktopSites[]; #endif // BUILDFLAG(IS_ANDROID) @@ -2392,7 +2413,7 @@ diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extensions/api/api_sources.gni --- a/chrome/common/extensions/api/api_sources.gni +++ b/chrome/common/extensions/api/api_sources.gni -@@ -63,6 +63,13 @@ uncompiled_sources_ = [ +@@ -64,6 +64,13 @@ uncompiled_sources_ = [ "top_sites.json", ] @@ -2409,7 +2430,7 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc --- a/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc -@@ -201,7 +201,7 @@ base::span ChromeURLHosts() { +@@ -204,7 +204,7 @@ base::span ChromeURLHosts() { kChromeUIInternetDetailDialogHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -2421,7 +2442,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -558,7 +558,7 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome://internal/"; +@@ -565,7 +565,7 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome://internal/"; #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -2433,7 +2454,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -371,7 +371,7 @@ static_library("test_support") { +@@ -367,7 +367,7 @@ static_library("test_support") { ] } @@ -2442,7 +2463,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn public_deps += [ "//extensions/browser:test_support", "//extensions/common:test_support", -@@ -488,7 +488,7 @@ static_library("test_support") { +@@ -484,7 +484,7 @@ static_library("test_support") { # TODO(https://crbug.com/356905053): Continue pulling more common test # support pieces into here and eventually merge this with the # `enable_extensions` block above. @@ -2451,7 +2472,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn deps += [ "//chrome/renderer/extensions" ] public_deps += [ -@@ -1535,7 +1535,7 @@ source_set("platform_browser_tests") { +@@ -1527,7 +1527,7 @@ source_set("platform_browser_tests") { sources += [ "../browser/enterprise/remote_commands/user_remote_commands_service_browsertest.cc" ] } @@ -2460,7 +2481,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn deps += [ "//chrome/browser/ui/prefs:browser_tests" ] } -@@ -1765,7 +1765,7 @@ source_set("platform_browser_tests") { +@@ -1777,7 +1777,7 @@ source_set("platform_browser_tests") { "//chrome/browser/ui/browser_window", ] } @@ -2469,7 +2490,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn sources += [ "../browser/devtools/global_confirm_info_bar_browsertest.cc" ] } -@@ -2049,7 +2049,7 @@ if (is_android) { +@@ -2065,7 +2065,7 @@ if (is_android) { extra_args = [] @@ -2478,7 +2499,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn sources += [ "../browser/ui/android/browser_navigator_android_browsertest.cc" ] deps += [ -@@ -2145,7 +2145,7 @@ if (is_android) { +@@ -2161,7 +2161,7 @@ if (is_android) { ] } @@ -2487,7 +2508,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn sources += [ # These API tests can't be part of platform_browser_tests because they # run in interactive_ui_tests on Win/Mac/Linux. -@@ -8038,7 +8038,7 @@ test("unit_tests") { +@@ -8043,7 +8043,7 @@ test("unit_tests") { deps += [ "//chrome/browser/android/extensions:android" ] } @@ -2499,7 +2520,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn diff --git a/chrome/version.gni b/chrome/version.gni --- a/chrome/version.gni +++ b/chrome/version.gni -@@ -347,7 +347,7 @@ if (is_android) { +@@ -355,7 +355,7 @@ if (is_android) { } else { true_true_true_true = trichrome_64_32_version_code } @@ -2511,7 +2532,7 @@ diff --git a/chrome/version.gni b/chrome/version.gni diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc --- a/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc -@@ -330,6 +330,12 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -329,6 +329,12 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, RecordExceptionMetrics(); } @@ -2717,7 +2738,7 @@ diff --git a/components/webui/version/resources/about_version.html b/components/ diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc -@@ -849,7 +849,7 @@ int BrowserMainLoop::PreCreateThreads() { +@@ -851,7 +851,7 @@ int BrowserMainLoop::PreCreateThreads() { base::UmaHistogramBoolean("SiteIsolation.IsSitePerProcessOrStricter", SiteIsolationPolicy::IsSitePerProcessOrStricter()); @@ -2729,7 +2750,7 @@ diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/content/browser/renderer_host/media/video_capture_manager.cc --- a/content/browser/renderer_host/media/video_capture_manager.cc +++ b/content/browser/renderer_host/media/video_capture_manager.cc -@@ -122,7 +122,7 @@ void VideoCaptureManager::RegisterListener( +@@ -121,7 +121,7 @@ void VideoCaptureManager::RegisterListener( DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK(listener); listeners_.AddObserver(listener); @@ -2738,7 +2759,7 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/cont application_state_has_running_activities_ = true; app_status_listener_ = base::android::ApplicationStatusListener::New(base::BindRepeating( -@@ -953,7 +953,7 @@ VideoCaptureManager::GetOrCreateController( +@@ -951,7 +951,7 @@ VideoCaptureManager::GetOrCreateController( return new_controller; } @@ -2750,8 +2771,8 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/cont diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/content/browser/renderer_host/media/video_capture_manager.h --- a/content/browser/renderer_host/media/video_capture_manager.h +++ b/content/browser/renderer_host/media/video_capture_manager.h -@@ -39,7 +39,7 @@ - #include "mojo/public/cpp/bindings/remote.h" +@@ -36,7 +36,7 @@ + #include "media/capture/video_capture_types.h" #include "ui/gfx/native_ui_types.h" -#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID) @@ -2759,7 +2780,7 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/conte #include "base/android/application_status_listener.h" #endif -@@ -217,7 +217,7 @@ class CONTENT_EXPORT VideoCaptureManager +@@ -208,7 +208,7 @@ class CONTENT_EXPORT VideoCaptureManager void TakePhoto(const base::UnguessableToken& session_id, VideoCaptureDevice::TakePhotoCallback callback); @@ -2768,7 +2789,7 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/conte // Some devices had troubles when stopped and restarted quickly, so the device // is only stopped when Chrome is sent to background and not when, e.g., a tab // is hidden, see http://crbug.com/582295. -@@ -333,7 +333,7 @@ class CONTENT_EXPORT VideoCaptureManager +@@ -324,7 +324,7 @@ class CONTENT_EXPORT VideoCaptureManager void ReleaseDevices(); void ResumeDevices(); @@ -2797,7 +2818,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Conten 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 -@@ -545,7 +545,7 @@ BASE_FEATURE(kLoadingPredictorLimitPreconnectSocketCount, +@@ -577,7 +577,7 @@ BASE_FEATURE(kLoadingPredictorLimitPreconnectSocketCount, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kLogJsConsoleMessages, @@ -2851,8 +2872,8 @@ diff --git a/cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn --- a/extensions/browser/BUILD.gn +++ b/extensions/browser/BUILD.gn -@@ -9,7 +9,7 @@ import("//extensions/buildflags/buildflags.gni") - import("//pdf/features.gni") +@@ -9,7 +9,7 @@ import("//pdf/features.gni") + import("//rlz/buildflags/buildflags.gni") import("//testing/libfuzzer/fuzzer_test.gni") -if (enable_desktop_android_extensions) { @@ -2860,7 +2881,7 @@ diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn import("//build/config/android/rules.gni") } -@@ -1079,7 +1079,7 @@ source_set("unit_tests") { +@@ -1094,7 +1094,7 @@ source_set("unit_tests") { configs += [ "//build/config/compiler:no_exit_time_destructors" ] } @@ -3025,12 +3046,12 @@ diff --git a/extensions/common/command.cc b/extensions/common/command.cc -#elif BUILDFLAG(IS_DESKTOP_ANDROID) +#elif BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE) // For now, we use linux keybindings on desktop android. - // TODO(https://crbug.com/356905053): Should this be ChromeOS keybindings? return ui::kKeybindingPlatformLinux; + #else 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 -@@ -143,7 +143,7 @@ BASE_FEATURE(kDisableExtensionsOnChromeUrlsSwitch, +@@ -150,7 +150,7 @@ BASE_FEATURE(kDisableExtensionsOnChromeUrlsSwitch, // TODO (crbug.com/426554244): Determine if this switch should be // removed for desktop-android builds as well. #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && !BUILDFLAG(IS_CHROMEOS) && \ @@ -3039,7 +3060,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -179,4 +179,10 @@ CROMITE_FEATURE(kEnableExtensionAutoupdate, +@@ -189,4 +189,10 @@ CROMITE_FEATURE(kEnableExtensionAutoupdate, CROMITE_FEATURE(kEnableExtensionManagementToChromeStore, "EnableExtensionToChromeStore", base::FEATURE_DISABLED_BY_DEFAULT); @@ -3053,7 +3074,7 @@ 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 -@@ -297,6 +297,10 @@ BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate); +@@ -310,6 +310,10 @@ BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate); // Allows the installation of new extensions. // If active, exposes all features to the chrome web store like chromium. BASE_DECLARE_FEATURE(kEnableExtensionManagementToChromeStore); @@ -3091,7 +3112,7 @@ diff --git a/extensions/renderer/bindings/api_binding_util.cc b/extensions/rende diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc +++ b/gpu/config/gpu_finch_features.cc -@@ -589,7 +589,7 @@ bool IsSkiaGraphiteSupportedByDevice(const base::CommandLine* command_line) { +@@ -572,7 +572,7 @@ bool IsSkiaGraphiteSupportedByDevice(const base::CommandLine* command_line) { // Desktop Android isn't ready to pick up the fieldtrial_testing_config.json // change that enables graphite. However, it's the same platform as regular // Android and does. Skip enabling the feature there for now. @@ -3100,7 +3121,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc return false; } -@@ -702,7 +702,7 @@ bool ShouldEnableDrDc() { +@@ -685,7 +685,7 @@ bool ShouldEnableDrDc() { // Chrome on Android desktop aims to be Vulkan-only, which can result // in crashes when enabled together with DrDc. Re-enable DrDc after // crbug.com/380295059 is fixed if it is shown beneficial on desktop. @@ -3109,18 +3130,6 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc return false; } #endif -diff --git a/gpu/vulkan/vulkan_util.cc b/gpu/vulkan/vulkan_util.cc ---- a/gpu/vulkan/vulkan_util.cc -+++ b/gpu/vulkan/vulkan_util.cc -@@ -322,7 +322,7 @@ bool IsVulkanV3EnabledForAdreno( - - bool SkipVulkanBlocklist() { - // Expectation is for all desktop android devices to use vulkan -- return BUILDFLAG(IS_DESKTOP_ANDROID); -+ return false; //BUILDFLAG(IS_DESKTOP_ANDROID_FALSE); - } - - #endif diff --git a/net/features.gni b/net/features.gni --- a/net/features.gni +++ b/net/features.gni @@ -3150,7 +3159,7 @@ diff --git a/skia/features.gni b/skia/features.gni 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 -@@ -2330,7 +2330,7 @@ BASE_FEATURE(kStopInBackground, +@@ -2386,7 +2386,7 @@ BASE_FEATURE(kStopInBackground, // b/248036988 - Disable this for Chromecast on Android builds to prevent apps // that play audio in the background from stopping. #if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CAST_ANDROID) && \ @@ -3275,8 +3284,8 @@ diff --git a/ui/base/device_form_factor_android.cc b/ui/base/device_form_factor_ diff --git a/ui/gl/features.gni b/ui/gl/features.gni --- a/ui/gl/features.gni +++ b/ui/gl/features.gni -@@ -13,7 +13,7 @@ declare_args() { - # Also controls linking Dawn dependencies in such as SPIRV-Tools/SPIRV-Cross. +@@ -14,7 +14,7 @@ declare_args() { + # Vulkan Validation Layers. use_dawn = is_apple || is_win || is_chromeos || (is_linux && !is_castos) || (is_android && target_cpu != "x86" && target_cpu != "x64") || - is_desktop_android @@ -3284,15 +3293,6 @@ diff --git a/ui/gl/features.gni b/ui/gl/features.gni # Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built? # Independent of use_dawn, which controls whether Dawn is used in Chromium. -@@ -21,7 +21,7 @@ declare_args() { - - # desktop android devices exclusively use angle and thus should not use - # the validating command decoder -- enable_validating_command_decoder = is_android && !is_desktop_android -+ enable_validating_command_decoder = is_android && !is_desktop_android_false - } - - declare_args() { diff --git a/ui/gl/gl_switches.cc b/ui/gl/gl_switches.cc --- a/ui/gl/gl_switches.cc +++ b/ui/gl/gl_switches.cc diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index 464e8938..3c251bd0 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -242,7 +242,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn ":chrome_base_module_resources", ":ui_locale_string_resources", "//chrome/android/webapk/libs/common:splash_resources", -@@ -707,6 +711,7 @@ if (_is_default_toolchain) { +@@ -709,6 +713,7 @@ if (_is_default_toolchain) { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/variations:variations_java", "//components/variations/android:variations_java", "//components/viz/service:service_java", -@@ -1707,6 +1712,7 @@ if (_is_default_toolchain) { +@@ -1712,6 +1717,7 @@ if (_is_default_toolchain) { java_group("chrome_public_non_pak_assets") { deps = [ "//chrome/android/webapk/libs/runtime_library:runtime_library_assets", @@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -154,6 +154,8 @@ import java.util.Date; +@@ -157,6 +157,8 @@ import java.util.Date; import java.util.List; import java.util.Locale; @@ -308,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni /** * Handles the initialization dependences of the browser process. This is meant to handle the * initialization that is not tied to any particular Activity, and the logic that should only be -@@ -658,6 +660,8 @@ public class ProcessInitializationHandler { +@@ -667,6 +669,8 @@ public class ProcessInitializationHandler { DefaultBrowserInfo.initBrowserFetcher(); @@ -337,7 +337,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3702,6 +3702,13 @@ static_library("browser") { +@@ -3698,6 +3698,13 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -365,7 +365,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -279,6 +279,7 @@ +@@ -283,6 +283,7 @@ #include "components/ntp_tiles/popular_sites_impl.h" #include "components/permissions/contexts/geolocation_permission_context_android.h" #include "components/webapps/browser/android/install_prompt_prefs.h" @@ -373,7 +373,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/contextual_cueing/contextual_cueing_prefs.h" #include "chrome/browser/gcm/gcm_product_util.h" -@@ -2149,6 +2150,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1968,6 +1969,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); @@ -386,7 +386,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn --- a/chrome/browser/profiles/BUILD.gn +++ b/chrome/browser/profiles/BUILD.gn -@@ -83,6 +83,9 @@ source_set("profile") { +@@ -84,6 +84,9 @@ source_set("profile") { "//content/public/browser", "//extensions/buildflags", ] @@ -399,7 +399,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -599,6 +599,11 @@ +@@ -602,6 +602,11 @@ #include "chrome/browser/net/nss_service_factory.h" #endif @@ -411,7 +411,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) { main_parts->AddParts(std::make_unique()); } -@@ -1443,6 +1448,10 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1457,6 +1462,10 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -436,7 +436,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile #if BUILDFLAG(ENABLE_SESSION_SERVICE) #include "chrome/browser/sessions/app_session_service_factory.h" #include "chrome/browser/sessions/session_service_factory.h" -@@ -1474,6 +1478,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, +@@ -1494,6 +1498,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile, // initializing the supervised flag if necessary). ChildAccountServiceFactory::GetForProfile(profile)->Init(); ListFamilyMembersServiceFactory::GetForProfile(profile)->Init(); @@ -524,7 +524,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" -@@ -434,7 +437,9 @@ void RegisterChromeWebUIConfigs() { +@@ -436,7 +439,9 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig( std::make_unique()); #endif @@ -568,7 +568,7 @@ diff --git a/chrome/common/renderer_configuration.mojom b/chrome/common/renderer diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -243,6 +243,12 @@ static_library("renderer") { +@@ -242,6 +242,12 @@ static_library("renderer") { deps += [ "//components/webapps/isolated_web_apps:scheme" ] } @@ -627,7 +627,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_PAINT_PREVIEW) new paint_preview::PaintPreviewRecorderImpl(render_frame); #endif -@@ -1448,6 +1470,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1449,6 +1471,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. #endif @@ -645,7 +645,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1457,6 +1490,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1458,6 +1491,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. #endif @@ -663,7 +663,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1466,6 +1510,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1467,6 +1511,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. #endif @@ -714,8 +714,8 @@ diff --git a/components/components_strings.grd b/components/components_strings.g + + - diff --git a/components/user_scripts/README.md b/components/user_scripts/README.md new file mode 100644 --- /dev/null @@ -11493,7 +11493,7 @@ new file mode 100644 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1216,6 +1216,12 @@ +@@ -1228,6 +1228,12 @@ "META": {"sizes": {"includes": [30],}}, "includes": [7480], }, diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch index be8fc981..9c7cd736 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -220,7 +220,7 @@ diff --git a/chrome/browser/adblock/adblock_chrome_content_browser_client.h b/ch diff --git a/chrome/browser/adblock/android/BUILD.gn b/chrome/browser/adblock/android/BUILD.gn --- a/chrome/browser/adblock/android/BUILD.gn +++ b/chrome/browser/adblock/android/BUILD.gn -@@ -113,6 +113,7 @@ android_library("adblock_ui_java") { +@@ -34,6 +34,7 @@ android_library("adblock_ui_java") { "//build/android:build_java", "//chrome/browser/preferences:java", "//chrome/browser/profiles/android:java", @@ -228,7 +228,7 @@ diff --git a/chrome/browser/adblock/android/BUILD.gn b/chrome/browser/adblock/an "//components/adblock/android:adblock_controller_java", "//components/browser_ui/settings/android:java", "//components/prefs/android:java", -@@ -148,7 +149,7 @@ android_resources("java_ui_resources") { +@@ -69,7 +70,7 @@ android_resources("java_ui_resources") { "java/res/layout/adblock_custom_item_settings.xml", "java/res/layout/adblock_filter_lists_list_item.xml", "java/res/xml/adblock_more_options.xml", @@ -878,7 +878,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser 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 -@@ -6516,7 +6516,9 @@ ChromeContentBrowserClient:: +@@ -6446,7 +6446,9 @@ ChromeContentBrowserClient:: } bool ChromeContentBrowserClient::WillInterceptWebSocket( @@ -889,7 +889,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) if (!frame) { return false; -@@ -6539,9 +6541,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( +@@ -6469,9 +6471,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( } void ChromeContentBrowserClient::CreateWebSocket( @@ -904,7 +904,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h -@@ -713,11 +713,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -727,11 +727,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { CreateURLLoaderHandlerForServiceWorkerNavigationPreload( content::FrameTreeNodeId frame_tree_node_id, const network::ResourceRequest& resource_request) override; @@ -1171,7 +1171,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "components/autofill/core/common/autofill_prefs.h" #include "components/bookmarks/common/bookmark_pref_names.h" #include "components/browsing_data/core/pref_names.h" -@@ -184,6 +185,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -183,6 +184,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { } s_allowlist = new PrefsUtil::TypedPrefMap(); @@ -1194,7 +1194,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro 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 -@@ -260,7 +260,6 @@ +@@ -261,7 +261,6 @@ #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" #include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h" @@ -1202,7 +1202,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "components/adblock/content/browser/factories/content_security_policy_injector_factory.h" #include "components/adblock/content/browser/factories/element_hider_factory.h" #include "components/adblock/content/browser/factories/resource_classification_runner_factory.h" -@@ -960,7 +959,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -972,7 +971,6 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -1221,7 +1221,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc "appearance_page/appearance_fonts_page.ts", "appearance_page/appearance_page_index.ts", "appearance_page/appearance_page.ts", -@@ -431,6 +432,7 @@ build_webui("build") { +@@ -440,6 +441,7 @@ build_webui("build") { ts_definitions = [ "//tools/typescript/definitions/autofill_private.d.ts", "//tools/typescript/definitions/chrome_event.d.ts", @@ -1782,15 +1782,15 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts -@@ -226,6 +226,10 @@ function createRoutes(): SettingsRoutes { - r.FONTS = r.APPEARANCE.createChild('/fonts'); - } - +@@ -242,6 +242,10 @@ function createRoutes(): SettingsRoutes { + r.PASSKEYS = r.YOUR_SAVED_INFO.createChild('/passkeys'); + // + } + if (visibility.adblock !== false) { + r.ADBLOCK = r.BASIC.createSection('/adblock', 'adblock'); + } + - if (visibility.autofill !== false) { + } else if (visibility.autofill !== false) { r.AUTOFILL = r.BASIC.createSection( '/autofill', 'autofill', loadTimeData.getString('autofillPageTitle')); diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts @@ -1807,8 +1807,8 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resour diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts --- a/chrome/browser/resources/settings/settings.ts +++ b/chrome/browser/resources/settings/settings.ts -@@ -55,6 +55,7 @@ export {SettingsAppearancePageIndexElement} from './appearance_page/appearance_p - export {HomeUrlInputElement} from './appearance_page/home_url_input.js'; +@@ -56,6 +56,7 @@ export {HomeUrlInputElement} from './appearance_page/home_url_input.js'; + export {SettingsAutofillAiEntriesListElement} from './autofill_page/autofill_ai_entries_list.js'; export {SettingsAutofillPageElement} from './autofill_page/autofill_page.js'; export {SettingsAutofillPageIndexElement} from './autofill_page/autofill_page_index.js'; +export {SettingsAdblockPageElement} from './adblock_page/adblock_page.js'; @@ -1888,7 +1888,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com "autofillPrivate": { "channel": "trunk", "extension_types": ["extension", "platform_app"], -@@ -426,13 +419,6 @@ +@@ -424,13 +417,6 @@ // "desktop_android" is not supported. "platforms": ["chromeos", "linux", "mac", "win"] }, @@ -12819,7 +12819,7 @@ new file mode 100644 diff --git a/components/error_page_strings.grdp b/components/error_page_strings.grdp --- a/components/error_page_strings.grdp +++ b/components/error_page_strings.grdp -@@ -266,6 +266,22 @@ +@@ -263,6 +263,22 @@ Your organization doesn’t allow you to view this site @@ -12881,7 +12881,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -1132,7 +1132,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( +@@ -1156,7 +1156,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( DCHECK(browser_context); } @@ -12890,7 +12890,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b return false; } -@@ -1141,9 +1141,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { +@@ -1165,9 +1165,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { } void ContentBrowserClient::CreateWebSocket( @@ -12905,7 +12905,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -2126,7 +2126,7 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2149,7 +2149,7 @@ class CONTENT_EXPORT ContentBrowserClient { scoped_refptr navigation_response_task_runner); // Returns true when the embedder wants to intercept a websocket connection. @@ -12914,7 +12914,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br // Returns the WebSocket creation options. virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame); -@@ -2148,9 +2148,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2171,9 +2171,11 @@ class CONTENT_EXPORT ContentBrowserClient { // Always called on the UI thread and only when the Network Service is // enabled. virtual void CreateWebSocket( @@ -13034,7 +13034,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc --- a/third_party/blink/renderer/core/html/html_element.cc +++ b/third_party/blink/renderer/core/html/html_element.cc -@@ -2673,13 +2673,7 @@ void HTMLElement::setSpellcheck(bool enable) { +@@ -2642,13 +2642,7 @@ void HTMLElement::setSpellcheck(bool enable) { } void HTMLElement::click() { diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch index d0135c27..79b43ac9 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -19,7 +19,7 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10 diff --git a/BUILD.gn b/BUILD.gn --- a/BUILD.gn +++ b/BUILD.gn -@@ -411,7 +411,6 @@ group("gn_all") { +@@ -412,7 +412,6 @@ group("gn_all") { "//android_webview:empty_group", "//android_webview/test", "//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk", @@ -42,7 +42,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do 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 -@@ -300,6 +300,7 @@ static_library("safe_browsing") { +@@ -299,6 +299,7 @@ static_library("safe_browsing") { "//components/version_info", "//content/public/browser", "//services/preferences/public/mojom", @@ -53,7 +53,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn --- a/components/component_updater/installer_policies/BUILD.gn +++ b/components/component_updater/installer_policies/BUILD.gn -@@ -60,6 +60,7 @@ static_library("installer_policies_no_content_deps") { +@@ -57,6 +57,7 @@ static_library("installer_policies_no_content_deps") { "//components/update_client", "//mojo/public/cpp/base:protobuf_support", "//services/network/public/cpp", @@ -119,7 +119,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc --- a/content/browser/browser_interface_binders.cc +++ b/content/browser/browser_interface_binders.cc -@@ -356,6 +356,7 @@ void BindDateTimeChooserForFrame( +@@ -358,6 +358,7 @@ void BindDateTimeChooserForFrame( void BindTextSuggestionHostForFrame( RenderFrameHost* host, mojo::PendingReceiver receiver) { diff --git a/build/patches/Fix-chromium-vanilla.patch b/build/patches/Fix-chromium-vanilla.patch index 24257fed..2f703bce 100644 --- a/build/patches/Fix-chromium-vanilla.patch +++ b/build/patches/Fix-chromium-vanilla.patch @@ -23,7 +23,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR diff --git a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java --- a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java +++ b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java -@@ -267,6 +267,7 @@ public final class SafeBrowsingApiBridge { +@@ -281,6 +281,7 @@ public final class SafeBrowsingApiBridge { @CalledByNative private static void startUriLookupBySafeBrowsingApi( long callbackId, String uri, int[] threatTypes, int protocol) { diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch index 87b3b4ad..5fb33d53 100644 --- a/build/patches/Fonts-fingerprinting-mitigation.patch +++ b/build/patches/Fonts-fingerprinting-mitigation.patch @@ -120,7 +120,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h 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 -@@ -243,6 +243,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int, +@@ -246,6 +246,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int, BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kLessAggressiveParkableString); BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCombineNewWindowIPCs); @@ -134,7 +134,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ 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 -@@ -812,6 +812,7 @@ component("platform") { +@@ -804,6 +804,7 @@ component("platform") { "fonts/simple_font_data.cc", "fonts/simple_font_data.h", "fonts/skia/font_cache_skia.cc", @@ -530,7 +530,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc --- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc +++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc -@@ -446,6 +446,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -441,6 +441,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( sk_sp typeface; std::string name; @@ -538,7 +538,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (alternate_font_name == AlternateFontName::kLocalUniqueFace && RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) { -@@ -457,7 +458,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -452,7 +453,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( return nullptr; } else { @@ -547,7 +547,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c // For a family match, Windows will always give us a valid pointer here, // even if the face name is non-existent. We have to double-check and see if -@@ -491,7 +492,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -486,7 +487,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetWeight(variant_weight); typeface = @@ -556,7 +556,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c if (!typeface || !TypefacesMatchesFamily(typeface.get(), adjusted_name)) { return nullptr; -@@ -503,7 +504,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -498,7 +499,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( FontDescription adjusted_font_description = font_description; adjusted_font_description.SetStretch(variant_stretch); typeface = diff --git a/build/patches/Force-use-vpython3-for-some-scripts.patch b/build/patches/Force-use-vpython3-for-some-scripts.patch index cf810c30..94bd80f9 100644 --- a/build/patches/Force-use-vpython3-for-some-scripts.patch +++ b/build/patches/Force-use-vpython3-for-some-scripts.patch @@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni -@@ -610,12 +610,15 @@ template("write_build_config") { +@@ -627,12 +627,15 @@ template("write_build_config") { } else { action_with_pydeps(target_name) { forward_variables_from(invoker, [ "testonly" ]) @@ -39,7 +39,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte "--output", rebase_path(invoker.build_config, root_build_dir), "--depfile", -@@ -3018,17 +3021,18 @@ if (enable_java_templates) { +@@ -3031,17 +3034,18 @@ if (enable_java_templates) { } action_with_pydeps(target_name) { @@ -61,7 +61,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte inputs = javac_paths_for_inputs } -@@ -3044,7 +3048,10 @@ if (enable_java_templates) { +@@ -3057,7 +3061,10 @@ if (enable_java_templates) { deps += invoker.deps } @@ -73,7 +73,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte if (invoker.enable_errorprone) { _stamp_file = "$target_out_dir/$target_name.stamp" outputs = [ _stamp_file ] -@@ -3242,7 +3249,8 @@ if (enable_java_templates) { +@@ -3256,7 +3263,8 @@ if (enable_java_templates) { } action_with_pydeps(target_name) { @@ -83,7 +83,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte depfile = "$target_gen_dir/$target_name.d" deps = _srcjar_deps if (defined(invoker.deps)) { -@@ -3271,6 +3279,8 @@ if (enable_java_templates) { +@@ -3285,6 +3293,8 @@ if (enable_java_templates) { "$target_gen_dir/${invoker.main_target_name}/generated_java", root_build_dir) args = [ diff --git a/build/patches/Guard-for-user-agent-reduction.patch b/build/patches/Guard-for-user-agent-reduction.patch index 2ca0bb82..5fa27780 100644 --- a/build/patches/Guard-for-user-agent-reduction.patch +++ b/build/patches/Guard-for-user-agent-reduction.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1487,7 +1487,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1467,7 +1467,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( registry->RegisterIntegerPref( prefs::kUserAgentReduction, static_cast( @@ -24,7 +24,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch 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 -@@ -902,6 +902,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) { +@@ -897,6 +897,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) { } std::string BuildModelInfo() { @@ -32,7 +32,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd #if BUILDFLAG(IS_ANDROID) // Model information is not exposed on Android desktop. if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_DESKTOP) { -@@ -944,6 +945,10 @@ std::string GetAndroidOSInfo( +@@ -939,6 +940,10 @@ std::string GetAndroidOSInfo( IncludeAndroidModel include_android_model) { std::string android_info_str; @@ -46,7 +46,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd 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 -@@ -4037,9 +4037,9 @@ +@@ -4056,9 +4056,9 @@ // If enabled, the deviceModel will be reduced to "K" and the // androidVersion will be reduced to a static "10" string in android // User-Agent string. @@ -59,7 +59,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 }, // If enabled, the platform version in User-Agent Data will be removed. // This feature is limited to Linux only. -@@ -4051,15 +4051,15 @@ +@@ -4070,15 +4070,15 @@ // This User-Agent Reduction feature has been enabled starting from M101, // but we still keep this flag for future phase tests. { diff --git a/build/patches/Hardening-against-incognito-mode-detection.patch b/build/patches/Hardening-against-incognito-mode-detection.patch index db89635f..ea556f3a 100644 --- a/build/patches/Hardening-against-incognito-mode-detection.patch +++ b/build/patches/Hardening-against-incognito-mode-detection.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota/quota_manager_impl.cc --- a/storage/browser/quota/quota_manager_impl.cc +++ b/storage/browser/quota/quota_manager_impl.cc -@@ -1776,7 +1776,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey( +@@ -1777,7 +1777,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey( return kNoLimit; } @@ -20,7 +20,7 @@ diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota storage_key.origin().GetURL())) { return settings.session_only_per_storage_key_quota; } -@@ -2445,7 +2445,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) { +@@ -2446,7 +2446,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) { void QuotaManagerImpl::IsSimulateStoragePressureAvailable( IsSimulateStoragePressureAvailableCallback callback) { // We assume this is only the case in incognito. If it changes, update this. diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch index 18f645db..08f864f8 100644 --- a/build/patches/History-number-of-days-privacy-setting.patch +++ b/build/patches/History-number-of-days-privacy-setting.patch @@ -165,7 +165,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "components/embedder_support/pref_names.h" #include "components/language/core/browser/pref_names.h" #include "components/live_caption/pref_names.h" -@@ -231,6 +232,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -234,6 +235,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] = settings_api::PrefType::kBoolean; @@ -190,7 +190,7 @@ diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -380,6 +380,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, +@@ -377,6 +377,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, void ProfileImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); @@ -202,8 +202,8 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/ --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html @@ -76,6 +76,15 @@ - sub-label="$i18n{permissionsPageDescription}" - on-click="onPermissionsPageClick_" + sub-label="$i18n{siteSettingsSublabel}" + on-click="onSiteSettingsLinkRowClick_" role-description="$i18n{subpageArrowRoleDescription}"> +

+