From 054870731cfebbfff7eadf93fa19b61a10083ca1 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 30 Aug 2025 12:50:59 +0200 Subject: [PATCH 01/13] Rebase to 140 --- .../Add-AllowUserCertificates-flag.patch | 18 +- ...dd-Alt-D-hotkey-to-focus-address-bar.patch | 2 +- .../Add-IsCleartextPermitted-flag.patch | 2 +- .../Add-a-flag-to-disable-GamePad-API.patch | 4 +- .../Add-a-proxy-configuration-page.patch | 20 +- build/patches/Add-autoplay-site-setting.patch | 6 +- build/patches/Add-cromite-flags-support.patch | 121 +- build/patches/Add-cromite-test-support.patch | 18 +- ...dd-custom-tab-intents-privacy-option.patch | 24 +- build/patches/Add-exit-menu-item.patch | 10 +- ...g-for-omnibox-autocomplete-filtering.patch | 6 +- .../Add-flag-to-disable-IPv6-probes.patch | 4 +- ...-to-disable-external-intent-requests.patch | 26 +- .../Add-flag-to-disable-vibration.patch | 6 +- ...-switch-for-unsupported-clangd-flags.patch | 32 +- .../Add-menu-item-to-view-source.patch | 12 +- .../Add-option-to-disable-snapshots.patch | 16 +- .../Add-option-to-force-tablet-UI.patch | 87 +- ...-to-not-persist-tabs-across-sessions.patch | 12 +- .../Add-option-to-use-home-page-as-NTP.patch | 44 +- build/patches/Add-search-engine.patch | 12 +- .../Add-setting-to-clear-data-on-exit.patch | 32 +- ...d-setting-to-invert-tap-and-long-tap.patch | 54 +- build/patches/Add-site-engagement-flag.patch | 2 +- .../Add-support-for-writing-URIs.patch | 2 +- build/patches/Add-webGL-site-setting.patch | 10 +- build/patches/Add-webRTC-site-settings.patch | 4 +- ...PiP-if-PopupsAndRedirects-are-active.patch | 8 +- ...ow-building-without-enable_reporting.patch | 24 +- ...ow-building-without-supervised-users.patch | 28 +- .../Allow-playing-audio-in-background.patch | 6 +- .../Always-allow-inspect-fallback.patch | 2 +- ...ays-open-browser-controls-in-new-tab.patch | 10 +- ...e-new-tab-page-for-default-home-page.patch | 8 +- build/patches/Android-Import-Passwords.patch | 2 +- ...Ask-for-restart-on-connection-change.patch | 56 +- ...ioBuffer-AnalyserNode-fp-mitigations.patch | 28 +- ...Block-gateway-attacks-via-websockets.patch | 6 +- ...k-leakage-of-urls-in-sandbox-iframes.patch | 6 +- .../Block-qjz9zk-or-trk-requests.patch | 10 +- build/patches/Bromite-auto-updater.patch | 32 +- .../Bromite-subresource-adblocker.patch | 28 +- .../Bubble-Locking-on-UI-DevTools.patch | 8 +- build/patches/Change-popup-site-setting.patch | 2 +- .../patches/Chrome-web-store-protection.patch | 30 +- ...ORS-Preflight-Cache-on-clearing-data.patch | 4 +- build/patches/Client-hints-overrides.patch | 8 +- .../patches/Close-Sessions-On-Ip-Change.patch | 6 +- ...ress-libchrome-to-free-up-some-space.patch | 2 +- ...romite-Branding--improve-settings-ui.patch | 2 +- build/patches/Cromite-Branding.patch | 20 +- build/patches/Customize-selection-popup.patch | 26 +- ...ctionary-suggestions-for-the-Omnibox.patch | 8 +- ...ble-Accessibility-service-by-default.patch | 2 +- .../Disable-Android-AppRestrictions.patch | 10 +- .../Disable-Android-Tab-Declutter.patch | 2 +- .../Disable-CSS-blink-feature-support.patch | 2 +- .../Disable-CSSDynamicRangeLimit.patch | 2 +- build/patches/Disable-Compose-feature.patch | 10 +- ...ble-Compression-Dictionary-Transport.patch | 2 +- build/patches/Disable-FedCm.patch | 6 +- build/patches/Disable-GSA-by-default.patch | 17 +- .../Disable-GetInstalledRelatedApps-API.patch | 2 +- .../Disable-Paint-Preview-by-default.patch | 2 +- build/patches/Disable-PrivacyGuide.patch | 2 +- build/patches/Disable-Real-Box.patch | 4 +- build/patches/Disable-TLS-resumption.patch | 14 +- build/patches/Disable-Viewport-Segments.patch | 4 +- ...ooth-by-default-in-desktop-platforms.patch | 4 +- build/patches/Disable-WebGPU.patch | 6 +- .../patches/Disable-all-predictors-code.patch | 166 +-- build/patches/Disable-all-promo-dialogs.patch | 40 +- .../Disable-conversion-measurement-api.patch | 82 +- build/patches/Disable-crash-reporting.patch | 8 +- .../Disable-css-preferred-text-scale.patch | 2 +- .../Disable-feeds-support-by-default.patch | 2 +- ...Disable-fetching-of-all-field-trials.patch | 36 +- build/patches/Disable-idle-detection.patch | 2 +- ...media-router-and-remoting-by-default.patch | 22 +- .../Disable-omission-of-URL-elements.patch | 4 +- .../patches/Disable-plugins-enumeration.patch | 2 +- .../Disable-prefers-reduced-motion.patch | 2 +- ...ers-reduced-transparency-media-query.patch | 2 +- ...e-privacy-issues-in-password-manager.patch | 38 +- build/patches/Disable-privacy-sandbox.patch | 36 +- ...e-references-to-fonts.googleapis.com.patch | 6 +- ...ble-remote-altsvc-for-h3-connections.patch | 4 +- build/patches/Disable-safety-check.patch | 129 +-- .../Disable-smart-selection-by-default.patch | 12 +- ...isable-speechSynthesis-getVoices-API.patch | 2 +- .../Disable-text-fragments-by-default.patch | 4 +- .../Disable-third-party-origin-trials.patch | 10 +- build/patches/Disable-update-scheduler.patch | 2 +- build/patches/Disable-various-metrics.patch | 20 +- .../Disable-visited-pseudo-class.patch | 2 +- ...allow-Android-App-Scheme-as-referrer.patch | 2 +- .../Do-not-build-API-keys-infobar.patch | 35 +- .../Do-not-compile-QR-code-sharing.patch | 14 +- ...ore-download-location-prompt-setting.patch | 9 +- .../patches/Do-not-link-with-libatomic.patch | 2 +- .../Do-not-store-passwords-by-default.patch | 10 +- ...ndroid-Dynamic-Performance-Framework.patch | 12 +- build/patches/Enable-Cert-Management-UI.patch | 2 +- .../Enable-Certificate-Transparency.patch | 8 +- ...le-Document-Open-Inheritance-Removal.patch | 8 +- .../Enable-Global-Privacy-Control.patch | 34 +- build/patches/Enable-HEVC-by-default.patch | 2 +- ...Enable-HighEfficiencyMode-by-default.patch | 14 +- ...cessBoundStringEncryption-by-default.patch | 6 +- ...ctOriginIsolation-and-SitePerProcess.patch | 6 +- ...e-darken-websites-checkbox-in-themes.patch | 4 +- ...fwrapv-in-Clang-for-non-UBSan-builds.patch | 2 +- .../patches/Enable-gwp-asan-on-Android.patch | 8 +- .../Enable-menu-on-reload-button.patch | 4 +- .../Enable-native-Android-autofill.patch | 80 +- ...le-platform-aac-audio-and-h264-video.patch | 12 +- ...le-search-engine-settings-desktop-ui.patch | 165 ++- build/patches/Enable-share-intent.patch | 28 +- ...ivation-of-the-js-debugger-statement.patch | 16 +- .../Guard-for-user-agent-reduction.patch | 29 +- ...story-number-of-days-privacy-setting.patch | 33 +- .../patches/Improve-the-browser-sandbox.patch | 2 +- ...number-of-autocomplete-matches-to-10.patch | 4 +- build/patches/Internal-firewall.patch | 28 +- .../Invalidate-components-public-key.patch | 2 +- .../Keep-ComputePressure-disabled.patch | 4 +- .../patches/Keep-Manta-Service-Disabled.patch | 28 +- .../patches/Keep-disabled-FetchLaterAPI.patch | 20 +- ...ep-disabled-WebViewMediaIntegrityApi.patch | 2 +- .../Keep-empty-tabs-between-sessions.patch | 12 +- ...-allow-screenshots-in-Incognito-mode.patch | 5 +- build/patches/Keyboard-protection-flag.patch | 10 +- .../Lock-Profile-Cookie-Database.patch | 6 +- ...ing-attributes-in-some-html-elements.patch | 30 +- build/patches/Logcat-crash-reports-UI.patch | 2 +- .../Media-fingerprinting-mitigations.patch | 2 +- .../patches/Modify-default-preferences.patch | 20 +- ...nt-settings-back-to-privacy-settings.patch | 2 +- ...ulti-Screen-Window-Placement-API-fix.patch | 2 +- .../Multiple-fingerprinting-mitigations.patch | 55 +- ...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 | 20 +- .../patches/Partition-HSTS-cache-by-NAK.patch | 169 +-- ...ning-all-cookies-by-top-frame-domain.patch | 44 +- ...redential-fingerprinting-mitigations.patch | 6 +- ...-modal-dialog-flag-to-close-all-tabs.patch | 6 +- ...e-introduce-override_build_timestamp.patch | 8 +- ...ders-in-DoH-requests-to-bare-minimum.patch | 6 +- .../Remove-ChromiumNetworkAdapter.patch | 4 +- ...referrals-in-cross-origin-navigation.patch | 34 +- ...th-header-upon-cross-origin-redirect.patch | 2 +- .../Remove-binary-blob-integrations.patch | 1012 ++++++++--------- ...cklisted-URLs-upon-bookmark-creation.patch | 2 +- .../Remove-detection-of-captive-portals.patch | 2 +- build/patches/Remove-help-menu-item.patch | 71 +- .../Remove-navigator.connection-info.patch | 10 +- .../Remove-segmentation-platform.patch | 2 +- ...t-for-device-memory-and-cpu-recovery.patch | 17 +- ...Remove-voice-recognition-integration.patch | 96 +- ...ndow-name-on-cross-origin-navigation.patch | 4 +- ...ore-BookmarkToolbar-setCurrentFolder.patch | 2 +- .../Restore-LastTabStandingTracker.patch | 8 +- .../Restore-Search-Ready-Omnibox-flag.patch | 14 +- ...-button-in-top-toolbar-customization.patch | 10 +- .../Restore-offline-indicator-v2-flag.patch | 8 +- ...emove-disable-pull-to-refresh-effect.patch | 4 +- ...l-of-execution-context-address-space.patch | 52 +- ...script-content-setting-secondary-url.patch | 6 +- build/patches/Show-NTP-at-startup.patch | 22 +- ...tings-for-cookies-javascript-and-ads.patch | 10 +- build/patches/Site-setting-for-images.patch | 20 +- ...-Add-a-log-to-track-strange-behavior.patch | 2 +- ...formanceNavigationTiming-privacy-fix.patch | 8 +- .../Temp-disable-UseContextSnapshot.patch | 2 +- ...e-experimental-web-platform-features.patch | 2 +- ...Temp-disable-predictive-back-gesture.patch | 2 +- ...ileSystemAccessPersistentPermissions.patch | 26 +- ...arily-disable-Tab-Group-Sync-Android.patch | 2 +- build/patches/Timezone-customization.patch | 32 +- .../Use-browser-navigation-handler.patch | 16 +- .../Use-list-mode-for-tab-switcher.patch | 76 +- build/patches/User-agent-customization.patch | 52 +- ...Add-some-prefs-to-secure-preferences.patch | 2 +- build/patches/WIN-Fix-log-to-file.patch | 14 +- build/patches/WIN-enable-pdf-plugin.patch | 2 +- ...message-for-unsupported-hardware-aes.patch | 14 +- build/patches/Welcome-screen.patch | 6 +- build/patches/add-browser-policy.patch | 78 +- ...load-of-clang-for-windows-crossbuild.patch | 12 +- build/patches/autofill-miscellaneous.patch | 48 +- build/patches/bromite-build-utils.patch | 4 +- .../disable-WebView-variations-support.patch | 12 +- ...IPv6-connectivity-probes-to-RIPE-DNS.patch | 2 +- ...ot-block-build-incompatible-profiles.patch | 2 +- .../enable-ftrivial-auto-var-init-zero.patch | 2 +- .../eyeo-133.0.6943.49-android_api.patch | 14 +- .../eyeo-133.0.6943.49-android_settings.patch | 18 +- ...yeo-133.0.6943.49-chrome_integration.patch | 85 +- .../eyeo-133.0.6943.49-extension_api.patch | 26 +- build/patches/kill-Auth.patch | 6 +- build/patches/kill-Vision.patch | 6 +- .../sharing-hub-always-use-visible-URL.patch | 23 +- ...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 | 144 +-- ...RTC-do-not-expose-local-IP-addresses.patch | 6 +- ...iew-Hard-no-to-persistent-histograms.patch | 2 +- 210 files changed, 2359 insertions(+), 2541 deletions(-) diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index ed2df25e..b77fcca6 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 -@@ -233,6 +233,7 @@ import org.chromium.content_public.browser.LoadUrlParams; +@@ -236,6 +236,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; -@@ -977,6 +978,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -985,6 +986,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); @@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -179,6 +179,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -184,6 +184,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedPerformanceStudy, &feed::kFeedShowSignInCommand, &feed::kFeedSignedOutViewDemotion, @@ -59,16 +59,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = "AdaptiveButtonInTopToolbarPageSummary"; public static final String ALLOW_TAB_CLOSING_UPON_MINIMIZATION = -@@ -728,6 +729,8 @@ public abstract class ChromeFeatureList { - public static final CachedFlag sAndroidWindowPopupLargeScreen = - newCachedFlag(ANDROID_WINDOW_POPUP_LARGE_SCREEN, false); +@@ -768,6 +769,8 @@ public abstract class ChromeFeatureList { + public static final CachedFlag sAndroidWindowPopupResizeAfterSpawn = + newCachedFlag(ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN, false); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); + public static final CachedFlag sAllowUserCertificates = + newCachedFlag(ALLOW_USER_CERTIFICATES, false); + public static final CachedFlag sAppSpecificHistoryViewIntent = + newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true); public static final CachedFlag sAsyncNotificationManager = - newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true); - public static final CachedFlag sAsyncNotificationManagerForDownload = -@@ -1032,6 +1035,7 @@ public abstract class ChromeFeatureList { +@@ -1080,6 +1083,7 @@ public abstract class ChromeFeatureList { sAccountForSuppressedKeyboardInsets, sAllowTabClosingUponMinimization, sAndroidAppIntegration, 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 bec8195b..b9df368a 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 -@@ -888,6 +888,11 @@ public class KeyboardShortcuts { +@@ -890,6 +890,11 @@ public class KeyboardShortcuts { KeyEvent.KEYCODE_B, (KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON)); } diff --git a/build/patches/Add-IsCleartextPermitted-flag.patch b/build/patches/Add-IsCleartextPermitted-flag.patch index de20f56d..e75cef12 100644 --- a/build/patches/Add-IsCleartextPermitted-flag.patch +++ b/build/patches/Add-IsCleartextPermitted-flag.patch @@ -44,7 +44,7 @@ new file mode 100644 diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -398,6 +398,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -408,6 +408,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { } } 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 64b06622..76f433db 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.patch @@ -17,8 +17,8 @@ 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 -@@ -8600,9 +8600,9 @@ - "expiry_milestone": 140 +@@ -8680,9 +8680,9 @@ + "expiry_milestone": 150 }, { - "name": "restrict-gamepad-access", diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 22244090..0c6a07a3 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -372,6 +372,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -376,6 +376,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { builtins_to_provide.push_back(chrome::kChromeUISettingsURL16); #endif builtins_to_provide.push_back(chrome::kChromeUIVersionURL16); @@ -100,7 +100,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -215,6 +215,9 @@ +@@ -226,6 +226,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 -@@ -206,6 +206,8 @@ +@@ -204,6 +204,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 -@@ -1689,6 +1691,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1605,6 +1607,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -661,7 +661,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -194,6 +194,8 @@ static_library("ui") { +@@ -169,6 +169,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -673,7 +673,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/webui/chrome_web_ui_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 -@@ -56,6 +56,9 @@ +@@ -58,6 +58,9 @@ #include "extensions/buildflags/buildflags.h" #include "printing/buildflags/buildflags.h" @@ -683,7 +683,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -415,7 +418,7 @@ void RegisterChromeWebUIConfigs() { +@@ -422,7 +425,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif @@ -1135,7 +1135,7 @@ new file mode 100644 diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc --- a/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc -@@ -51,6 +51,7 @@ bool IsSystemWebUIHost(std::string_view host) { +@@ -50,6 +50,7 @@ bool IsSystemWebUIHost(std::string_view host) { kChromeUILockScreenNetworkHost, kChromeUILockScreenStartReauthHost, kChromeUIMobileSetupHost, @@ -1143,7 +1143,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons kChromeUIMultiDeviceSetupHost, kChromeUINetworkHost, kChromeUINotificationTesterHost, -@@ -72,6 +73,7 @@ bool IsSystemWebUIHost(std::string_view host) { +@@ -71,6 +72,7 @@ bool IsSystemWebUIHost(std::string_view host) { // These hosts will also be suggested by BuiltinProvider. base::span ChromeURLHosts() { static constexpr auto kChromeURLHosts = std::to_array({ @@ -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 -@@ -180,6 +180,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; +@@ -188,6 +188,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"; diff --git a/build/patches/Add-autoplay-site-setting.patch b/build/patches/Add-autoplay-site-setting.patch index 3c4579ad..7b784340 100644 --- a/build/patches/Add-autoplay-site-setting.patch +++ b/build/patches/Add-autoplay-site-setting.patch @@ -279,9 +279,9 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -249,7 +249,7 @@ void ContentSettingsRegistry::Init() { +@@ -255,7 +255,7 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::INHERIT_IN_INCOGNITO, - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); + PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); - Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_ALLOW, + Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_BLOCK, @@ -329,7 +329,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.h b/third_party/blink/renderer/core/html/media/autoplay_policy.h --- a/third_party/blink/renderer/core/html/media/autoplay_policy.h +++ b/third_party/blink/renderer/core/html/media/autoplay_policy.h -@@ -151,6 +151,10 @@ class CORE_EXPORT AutoplayPolicy final +@@ -148,6 +148,10 @@ class CORE_EXPORT AutoplayPolicy final // should use, if checking to see if an action is allowed. bool IsLockedPendingUserGesture() const; diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 20709c0d..bf05f26f 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -42,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../placeholder.txt | 1 + chrome/browser/ui/ui_features.cc | 1 + chrome/browser/unexpire_flags.cc | 15 +- - chrome/common/chrome_features.cc | 1 + + chrome/common/chrome_features.cc | 2 +- .../browser_ui/accessibility/android/BUILD.gn | 1 + .../res/xml/accessibility_preferences.xml | 3 +- .../accessibility/AccessibilitySettings.java | 6 +- @@ -107,7 +107,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html third_party/blink/public/common/features.h | 1 + ui/base/ui_base_features.cc | 1 + ui/base/ui_base_features.h | 1 + - 94 files changed, 826 insertions(+), 30 deletions(-) + 94 files changed, 826 insertions(+), 31 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 @@ -153,7 +153,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1035,7 +1037,7 @@ component("base") { +@@ -1043,7 +1045,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -451,7 +451,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/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java -@@ -38,7 +38,7 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { +@@ -40,7 +40,7 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); @Override @@ -475,15 +475,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java -@@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment; +@@ -11,6 +11,7 @@ import androidx.annotation.NonNull; + import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; - import org.chromium.base.IntentUtils; +import org.chromium.base.supplier.Supplier; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; - import org.chromium.chrome.browser.LaunchIntentDispatcher; -@@ -76,18 +77,21 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + import org.chromium.chrome.browser.accessibility.settings.ChromeAccessibilitySettingsDelegate; +@@ -70,18 +71,21 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl private final OneshotSupplier mSnackbarManagerSupplier; private final OneshotSupplier mBottomSheetControllerSupplier; private final ObservableSupplier mModalDialogManagerSupplier; @@ -506,7 +506,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme } @Override -@@ -96,6 +100,10 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -90,6 +94,10 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl @NonNull Fragment fragment, @NonNull Context unusedContext) { // Common dependencies attachments. @@ -634,7 +634,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 -@@ -407,6 +407,10 @@ using flags_ui::kOsLinux; +@@ -380,6 +380,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -645,9 +645,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4835,6 +4839,10 @@ const FeatureEntry::Choice kDataSharingVersioningStateChoices[] = { - }; - // LINT.ThenChange(//ios/chrome/browser/flags/about_flags.mm:DataSharingVersioningChoices) +@@ -4902,6 +4906,10 @@ const FeatureEntry::FeatureVariation + constexpr char kWebiumFlag[] = "webium"; + #endif // !BUILDFLAG(IS_ANDROID) +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -656,7 +656,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. -@@ -4861,6 +4869,9 @@ const FeatureEntry::Choice kDataSharingVersioningStateChoices[] = { +@@ -4928,6 +4936,9 @@ constexpr char kWebiumFlag[] = "webium"; const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -669,7 +669,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 -@@ -359,4 +359,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture, +@@ -368,4 +368,5 @@ BASE_FEATURE(kRemovalOfIWAsFromTabCapture, "RemovalOfIWAsFromTabCapture", base::FEATURE_ENABLED_BY_DEFAULT); @@ -678,7 +678,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 -@@ -135,6 +135,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); +@@ -121,6 +121,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); // module, e.g. // //chrome/browser//features.h // @@ -728,7 +728,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -1421,5 +1421,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, +@@ -1489,5 +1489,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, "WebOtpCrossDeviceSimpleString", base::FEATURE_DISABLED_BY_DEFAULT); @@ -738,14 +738,14 @@ 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 -@@ -318,6 +318,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutTextVariant( - "text_variant", +@@ -331,6 +331,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutSnippetAsSubtitle( + "snippet_as_subtitle", /*default_value=*/false); +#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_h.inc" - } // namespace android - } // namespace chrome + } // namespace chrome::android + #endif // CHROME_BROWSER_FLAGS_ANDROID_CHROME_FEATURE_LIST_H_ 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 @@ -760,7 +760,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -1015,7 +1019,7 @@ public abstract class ChromeFeatureList { +@@ -1063,7 +1067,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sWebApkMinShellApkVersion = newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); @@ -769,7 +769,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( sAccountForSuppressedKeyboardInsets, sAllowTabClosingUponMinimization, -@@ -1152,6 +1156,13 @@ public abstract class ChromeFeatureList { +@@ -1205,6 +1209,13 @@ public abstract class ChromeFeatureList { sUseLibunwindstackNativeUnwinderAndroid, sWebApkMinShellApkVersion); @@ -959,8 +959,8 @@ 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 -@@ -430,4 +430,5 @@ bool HasTabSearchToolbarButton() { - return has_tab_search_toolbar_button; +@@ -619,4 +619,5 @@ bool IsBookmarkTabGroupConversionEnabled() { + return base::FeatureList::IsEnabled(kBookmarkTabGroupConversion); } +#include "cromite_flags/chrome_browser_ui_ui_features_cc.inc" @@ -968,7 +968,7 @@ diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc --- a/chrome/browser/unexpire_flags.cc +++ b/chrome/browser/unexpire_flags.cc -@@ -12,6 +12,7 @@ +@@ -8,6 +8,7 @@ #include "base/containers/contains.h" #include "base/containers/flat_map.h" #include "base/no_destructor.h" @@ -976,7 +976,7 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc #include "chrome/browser/expired_flags_list.h" #include "chrome/browser/unexpire_flags_gen.h" #include "chrome/common/chrome_version.h" -@@ -117,7 +118,19 @@ bool IsFlagExpired(const flags_ui::FlagsStorage* storage, +@@ -114,7 +115,19 @@ bool IsFlagExpired(const flags_ui::FlagsStorage* storage, // Otherwise, the flag is expired if its expiration mstone is less than the // mstone of this copy of Chromium. @@ -1000,10 +1000,11 @@ 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 -@@ -1866,4 +1866,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, - "DisableShortcutsEnableDiy", - base::FEATURE_ENABLED_BY_DEFAULT); - +@@ -1977,5 +1977,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, + BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating, + "SilentPolicyAndDefaultAppUpdating", + base::FEATURE_DISABLED_BY_DEFAULT); +- +#include "cromite_flags/chrome_common_chrome_features_cc.inc" } // namespace features diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn @@ -1151,7 +1152,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 -@@ -167,5 +167,6 @@ BASE_FEATURE(kForceAllowStorageAccess, +@@ -181,5 +181,6 @@ BASE_FEATURE(kForceAllowStorageAccess, "ForceAllowStorageAccess", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1187,16 +1188,16 @@ 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 -@@ -191,4 +191,5 @@ BASE_FEATURE(kImprovedPasswordChangeService, - "ImprovedPasswordChangeService", +@@ -219,4 +219,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction, base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_ANDROID) +#include "cromite_flags/components_password_manager_core_browser_features_password_features_cc.inc" } // namespace password_manager::features diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -147,6 +147,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, +@@ -139,6 +139,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, "OsAdditionalSecurityPermissionKillSwitch", base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -1629,16 +1630,16 @@ 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 -@@ -583,4 +583,5 @@ BASE_FEATURE(kDisallowRasterInterfaceWithoutSkiaBackend, - - // Please keep features in alphabetical order. +@@ -743,4 +743,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { + blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument); + } +#include "cromite_flags/content_common_features_cc.inc" } // namespace features diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -1597,4 +1597,5 @@ bool IsPushSubscriptionChangeEventEnabled() { +@@ -1676,4 +1676,5 @@ bool IsPushSubscriptionChangeEventEnabled() { features::kPushSubscriptionChangeEventOnResubscribe); } @@ -1647,7 +1648,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 -@@ -380,6 +380,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); +@@ -400,6 +400,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled(); @@ -1993,7 +1994,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 -@@ -1891,5 +1891,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -2008,5 +2008,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -2003,7 +2004,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 -@@ -577,5 +577,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); +@@ -601,5 +601,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -2013,18 +2014,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 -@@ -811,4 +811,5 @@ BASE_FEATURE_PARAM(int, - "TcpConnectionPoolSizeTrialWebSocket", - 256); +@@ -909,4 +909,5 @@ BASE_FEATURE_PARAM(bool, + "url_request_redirect_job", + false); +#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 -@@ -822,6 +822,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(int, kTcpConnectionPoolSizeTrialNormal); - NET_EXPORT BASE_DECLARE_FEATURE_PARAM(int, - kTcpConnectionPoolSizeTrialWebSocket); +@@ -896,6 +896,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(bool, kNetTaskSchedulerURLRequestJob); + NET_EXPORT BASE_DECLARE_FEATURE_PARAM(bool, + kNetTaskSchedulerURLRequestRedirectJob); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -2033,18 +2034,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 -@@ -637,4 +637,5 @@ BASE_FEATURE(kNetworkServiceScheduler, - "NetworkServiceScheduler", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -666,4 +666,5 @@ BASE_FEATURE_PARAM(bool, + "url_loader", + false); +#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 -@@ -355,6 +355,7 @@ BASE_DECLARE_FEATURE_PARAM(size_t, kSharedDictionaryCacheMaxSizeBytes); +@@ -366,6 +366,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler); COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES) - BASE_DECLARE_FEATURE(kNetworkServiceScheduler); + BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerURLLoader); +#include "cromite_flags/services_network_public_cpp_features_h.inc" } // namespace network::features @@ -2053,7 +2054,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 -@@ -2886,4 +2886,5 @@ bool IsLinkPreviewTriggerTypeEnabled(LinkPreviewTriggerType type) { +@@ -2927,4 +2927,5 @@ bool IsXrDevice() { // // DO NOT ADD NEW FEATURES HERE. @@ -2062,7 +2063,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 -@@ -1888,6 +1888,7 @@ BLINK_COMMON_EXPORT bool IsUpdateComplexSafaAreaConstraintsEnabled(); +@@ -1912,6 +1912,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); // // DO NOT ADD NEW FEATURES HERE. @@ -2073,8 +2074,8 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -504,4 +504,5 @@ bool IsPixelCanvasRecordingEnabled() { - return base::FeatureList::IsEnabled(features::kEnablePixelCanvasRecording); +@@ -483,4 +483,5 @@ bool IsHandleIMESpanChangesOnUpdateCompositionEnabled() { + features::kHandleIMESpanChangesOnUpdateComposition); } +#include "cromite_flags/ui_base_features_cc.inc" @@ -2082,9 +2083,9 @@ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h --- a/ui/base/ui_base_features.h +++ b/ui/base/ui_base_features.h -@@ -247,6 +247,7 @@ BASE_DECLARE_FEATURE(kEnablePixelCanvasRecording); - - bool COMPONENT_EXPORT(UI_BASE_FEATURES) IsPixelCanvasRecordingEnabled(); +@@ -242,6 +242,7 @@ BASE_DECLARE_FEATURE(kHandleIMESpanChangesOnUpdateComposition); + COMPONENT_EXPORT(UI_BASE_FEATURES) + bool IsHandleIMESpanChangesOnUpdateCompositionEnabled(); +#include "cromite_flags/ui_base_features_h.inc" } // namespace features diff --git a/build/patches/Add-cromite-test-support.patch b/build/patches/Add-cromite-test-support.patch index 1f4e58ad..c10d4219 100644 --- a/build/patches/Add-cromite-test-support.patch +++ b/build/patches/Add-cromite-test-support.patch @@ -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 -@@ -191,6 +191,11 @@ source_set("shell_integration") { +@@ -188,6 +188,11 @@ source_set("shell_integration") { # require many files from it. This makes linking more efficient. static_library("browser") { sources = [ @@ -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" -@@ -499,6 +500,15 @@ void ChromeContentBrowserClient:: +@@ -494,6 +495,15 @@ void ChromeContentBrowserClient:: render_frame_host); }, &render_frame_host)); @@ -423,7 +423,7 @@ 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 -@@ -188,6 +188,7 @@ static const base::Feature* kBadFeatureFlagsInAboutFlags[] = { +@@ -210,6 +210,7 @@ static const base::Feature* kBadFeatureFlagsInAboutFlags[] = { #if BUILDFLAG(IS_ANDROID) &chrome::android::kCommandLineOnNonRooted, @@ -434,7 +434,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -686,6 +686,7 @@ mojom("mojo_bindings") { +@@ -660,6 +660,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 -@@ -78,6 +78,8 @@ static_library("renderer") { +@@ -74,6 +74,8 @@ static_library("renderer") { "chrome_render_thread_observer.cc", "chrome_render_thread_observer.h", "custom_menu_commands.h", @@ -469,7 +469,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -56,6 +56,7 @@ +@@ -54,6 +54,7 @@ #include "chrome/renderer/chrome_render_frame_observer.h" #include "chrome/renderer/chrome_render_thread_observer.h" #include "chrome/renderer/controlled_frame/controlled_frame_extensions_renderer_api_provider.h" @@ -477,7 +477,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #include "chrome/renderer/google_accounts_private_api_extension.h" #include "chrome/renderer/loadtimes_extension_bindings.h" #include "chrome/renderer/media/flash_embed_rewrite.h" -@@ -665,6 +666,7 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -624,6 +625,7 @@ void ChromeContentRendererClient::RenderFrameCreated( TrustedVaultEncryptionKeysExtension::Create(render_frame); GoogleAccountsPrivateApiExtension::Create(render_frame); @@ -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" -@@ -4716,7 +4718,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4755,7 +4757,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 -@@ -4733,8 +4736,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4772,8 +4775,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 f3e4de17..2070b0df 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -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 -@@ -61,6 +61,9 @@ import java.lang.annotation.Retention; +@@ -62,6 +62,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. -@@ -263,6 +266,9 @@ public class LaunchIntentDispatcher { +@@ -264,6 +267,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() = " -@@ -291,6 +297,10 @@ public class LaunchIntentDispatcher { +@@ -292,6 +298,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()); -@@ -483,6 +493,17 @@ public class LaunchIntentDispatcher { +@@ -490,6 +500,17 @@ public class LaunchIntentDispatcher { if (Intent.ACTION_VIEW.equals(newIntent.getAction()) && !IntentHandler.wasIntentSenderChrome(newIntent)) { @@ -123,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java -@@ -981,6 +981,7 @@ public class CustomTabsConnection { +@@ -996,6 +996,7 @@ public class CustomTabsConnection { PostTask.postTask( TaskTraits.UI_DEFAULT, () -> { @@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -1051,7 +1051,7 @@ BASE_FEATURE(kMagicStackAndroid, +@@ -1093,7 +1093,7 @@ BASE_FEATURE(kMagicStackAndroid, // Enables an experimental feature which forces mayLaunchUrl to use a different // storage partition. This may reduce performance. This should not be enabled by // default. @@ -287,7 +287,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 -@@ -895,6 +895,8 @@ public abstract class ChromeFeatureList { +@@ -943,6 +943,8 @@ public abstract class ChromeFeatureList { MOST_VISITED_TILES_CUSTOMIZATION, /* defaultValue= */ false, /* defaultValueInTests= */ true); @@ -296,9 +296,9 @@ 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 = -@@ -1111,6 +1113,7 @@ public abstract class ChromeFeatureList { - sMaliciousApkDownloadCheck, +@@ -1165,6 +1167,7 @@ public abstract class ChromeFeatureList { sMiniOriginBar, + sMitigateLegacySearchEnginePromoOverlap, sMostVisitedTilesCustomization, + sMayLaunchurlUsesSeparateStoragePartition, sMostVisitedTilesReselect, @@ -368,9 +368,9 @@ diff --git a/components/content_relationship_verification/android/java/src/org/c diff --git a/components/language/core/common/language_experiments.cc b/components/language/core/common/language_experiments.cc --- a/components/language/core/common/language_experiments.cc +++ b/components/language/core/common/language_experiments.cc -@@ -32,4 +32,5 @@ BASE_FEATURE(kDisableGeoLanguageModel, - // Params: - const char kContentLanguagesDisableObserversParam[] = "disable_observers"; +@@ -26,4 +26,5 @@ BASE_FEATURE(kDisableGeoLanguageModel, + "DisableGeoLanguageModel", + base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kCctAutoTranslate); } // namespace language diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index dc11da1b..31f89d38 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -28,7 +28,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 -@@ -331,6 +331,8 @@ import java.util.Map; +@@ -345,6 +345,8 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -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. -@@ -3464,6 +3466,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3707,6 +3709,8 @@ public class ChromeTabbedActivity extends ChromeActivity { .closeTabs( TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true); RecordUserAction.record("MobileTabClosed"); @@ -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; -@@ -2420,6 +2421,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2445,6 +2446,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 -@@ -373,6 +373,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -384,6 +384,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 -@@ -4499,6 +4499,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4226,6 +4226,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Dark theme diff --git a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch index 2c240dab..25b8ae3e 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -22,6 +22,7 @@ +@@ -23,6 +23,7 @@ #include "base/check_op.h" #include "base/containers/contains.h" @@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ #include "base/feature_list.h" #include "base/format_macros.h" #include "base/functional/bind.h" -@@ -568,6 +569,15 @@ AutocompleteController::AutocompleteController( +@@ -567,6 +568,15 @@ AutocompleteController::AutocompleteController( provider_client_->GetOmniboxTriggeredFeatureService()), steady_state_omnibox_position_( metrics::OmniboxEventProto::UNKNOWN_POSITION) { @@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/ #include "base/functional/callback.h" #include "base/i18n/break_iterator.h" #include "base/i18n/case_conversion.h" -@@ -631,6 +632,9 @@ void SearchProvider::Run(bool query_is_private) { +@@ -632,6 +633,9 @@ void SearchProvider::Run(bool query_is_private) { } void SearchProvider::DoHistoryQuery(bool minimal_changes) { diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index aac5b4fa..1bf86135 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -45,13 +45,13 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1152,6 +1152,7 @@ component("net") { +@@ -1157,6 +1157,7 @@ component("net") { ":net_deps", "//components/miracle_parameter/common", "//components/network_time/time_tracker", + "//components/network_session_configurator/common", "//net/http:transport_security_state_generated_files", - "//third_party/simdutf:simdutf", + "//third_party/simdutf", ] diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc 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 740833d6..aa90eb26 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 -@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator; +@@ -36,6 +36,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; -@@ -126,6 +127,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { +@@ -128,6 +129,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { @Override public boolean shouldDisableAllExternalIntents() { @@ -68,15 +68,15 @@ 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 -@@ -23,6 +23,7 @@ import org.chromium.base.IntentUtils; - import org.chromium.base.PackageManagerUtils; - import org.chromium.base.supplier.Supplier; +@@ -26,6 +26,7 @@ import org.chromium.base.supplier.Supplier; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.ChromeTabbedActivity2; +import org.chromium.chrome.browser.flags.cromite.sAllowExternalIntentRequests; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.document.ChromeLauncherActivity; -@@ -113,7 +114,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat +@@ -117,7 +118,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat @Override public boolean shouldDisableExternalIntentRequestsForUrl(GURL url) { @@ -141,16 +141,16 @@ new file mode 100644 diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc --- a/components/external_intents/android/external_intents_features.cc +++ b/components/external_intents/android/external_intents_features.cc -@@ -28,7 +28,6 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kExternalNavigationDebugLogs, &kBlockIntentsToSelf, +@@ -29,7 +29,6 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNavigationCaptureRefactorAndroid, &kAuxiliaryNavigationStaysInBrowser, - &kReparentTopLevelNavigationFromPWA, &kReparentAuxiliaryNavigationFromPWA}; + &kReparentTopLevelNavigationFromPWA, &kReparentAuxiliaryNavigationFromPWA, + &kAuxiliaryNavigationStaysInPWA}; - } // namespace // Alphabetical: -@@ -57,7 +56,13 @@ BASE_FEATURE(kReparentAuxiliaryNavigationFromPWA, - "ReparentAuxiliaryNavigationFromPWA", +@@ -62,7 +61,13 @@ BASE_FEATURE(kAuxiliaryNavigationStaysInPWA, + "AuxiliaryNavigationStaysInPWA", base::FEATURE_DISABLED_BY_DEFAULT); +CROMITE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture, @@ -193,7 +193,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -1561,6 +1561,12 @@ public class ExternalNavigationHandler { +@@ -1558,6 +1558,12 @@ public class ExternalNavigationHandler { || ignoreBackForwardNav(params); } @@ -206,7 +206,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal( ExternalNavigationParams params, Intent targetIntent, -@@ -1629,6 +1635,21 @@ public class ExternalNavigationHandler { +@@ -1626,6 +1632,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 af5a9ba7..21ee820a 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -65,8 +65,8 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa static void EnableFluentOverlayScrollbars(bool); + static void EnableVibration(bool); - WebRuntimeFeatures() = delete; - }; + static void EnableLocalNetworkAccessWebRTC(bool); + diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc --- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc +++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc @@ -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 -@@ -984,6 +984,10 @@ +@@ -1011,6 +1011,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 8165938c..b8de58fb 100644 --- a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch +++ b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch @@ -14,16 +14,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -661,7 +661,7 @@ config("compiler") { - # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF - # (excluding toolchains that use an older version of LLVM). +@@ -700,7 +700,7 @@ config("compiler") { # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. + # It also causes segfault on Linux s390x: + # https://github.com/llvm/llvm-project/issues/149511 - if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" && + if (is_linux && !skip_clangd_unsupported_options && use_lld && !llvm_android_mainline && current_cpu != "arm" && + current_cpu != "s390x" && default_toolchain != "//build/toolchain/cros:target") { cflags += [ "-Wa,--crel,--allow-experimental-crel" ] - } -@@ -1804,7 +1804,7 @@ config("clang_revision") { +@@ -1813,7 +1813,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,15 +32,15 @@ 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 ] -@@ -2151,7 +2151,6 @@ config("default_warnings") { - # TODO(crbug.com/376641662): Fix and re-enable. - "-Wno-nontrivial-memcall", - ] +@@ -2146,7 +2146,6 @@ config("default_warnings") { + # TODO(crbug.com/376641662): Fix and re-enable. + "-Wno-nontrivial-memcall", + ] - - cflags_cc += [ - # TODO(crbug.com/328490295): Fix and re-enable for C flags. - "-Wenum-compare-conditional", -@@ -2204,6 +2203,15 @@ config("default_warnings") { + cflags_cc += [ + # TODO(crbug.com/328490295): Fix and re-enable for C flags. + "-Wenum-compare-conditional", +@@ -2211,6 +2210,15 @@ config("default_warnings") { ] } @@ -59,9 +59,9 @@ 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 -@@ -55,6 +55,9 @@ declare_args() { - # to lack of toolchain support. - gtest_enable_absl_printers = !is_nacl +@@ -54,6 +54,9 @@ declare_args() { + # Allows googletest to pretty-print various absl types. + gtest_enable_absl_printers = true + # Allows clangd builds by suppressing unsupported parameters + skip_clangd_unsupported_options = false diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index db735818..abcc5bfc 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -23,11 +23,11 @@ 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 -@@ -3537,6 +3537,8 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -3779,6 +3779,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 -@@ -2577,6 +2577,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2602,6 +2602,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 -@@ -985,6 +985,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -957,6 +957,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 -@@ -367,6 +367,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -370,6 +370,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 -@@ -328,6 +328,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -334,6 +334,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildAddToHomescreenListItem(currentTab, shouldShowIconBeforeItem())); } diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index d3e64200..590db3ba 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 -@@ -477,7 +477,12 @@ class TabGridViewBinder { +@@ -480,7 +480,12 @@ class TabGridViewBinder { if (result != null) { TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize); } else { @@ -32,7 +32,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser @@ -518,6 +523,7 @@ class TabGridViewBinder { */ private static void setFavicon( - ImageView faviconView, PropertyModel model, TabListFaviconProvider.TabFavicon favicon) { + ImageView faviconView, PropertyModel model, @Nullable TabFavicon favicon) { + model.set(TabProperties.FAVICON, favicon); if (favicon == null) { faviconView.setImageDrawable(null); @@ -40,7 +40,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java -@@ -90,6 +90,9 @@ public class TabProperties { +@@ -127,6 +127,9 @@ public class TabProperties { public static final WritableBooleanPropertyKey FAVICON_FETCHED = new WritableBooleanPropertyKey(); @@ -50,7 +50,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** Property for lazily fetching favicons when required by an item in a UI. */ public static final WritableObjectPropertyKey FAVICON_FETCHER = new WritableObjectPropertyKey<>(); -@@ -180,6 +183,7 @@ public class TabProperties { +@@ -220,6 +223,7 @@ public class TabProperties { CARD_TYPE, CONTENT_DESCRIPTION_TEXT_RESOLVER, ACTION_BUTTON_DESCRIPTION_TEXT_RESOLVER, @@ -58,7 +58,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser QUICK_DELETE_ANIMATION_STATUS, TAB_GROUP_COLOR_VIEW_PROVIDER, TAB_GROUP_CARD_COLOR, -@@ -218,6 +222,7 @@ public class TabProperties { +@@ -259,6 +263,7 @@ public class TabProperties { TAB_ACTION_BUTTON_DATA, FAVICON_FETCHED, FAVICON_FETCHER, @@ -84,7 +84,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -145,6 +145,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -147,6 +147,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileProvider; -@@ -633,7 +634,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -641,7 +642,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -199,7 +199,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -6315,6 +6315,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6067,6 +6067,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d Your %1$swww.amazon.com timer ran out. It'll start again tomorrow. diff --git a/build/patches/Add-option-to-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index a91ef703..adf77927 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -43,7 +43,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml --- a/chrome/android/java/res/layout/custom_tabs_control_container.xml +++ b/chrome/android/java/res/layout/custom_tabs_control_container.xml -@@ -32,7 +32,7 @@ found in the LICENSE file. +@@ -31,7 +31,7 @@ found in the LICENSE file. android:id="@+id/find_toolbar_stub" android:inflatedId="@+id/find_toolbar" android:visibility="gone" @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml --- a/chrome/android/java/res/values/dimens.xml +++ b/chrome/android/java/res/values/dimens.xml -@@ -120,9 +120,13 @@ found in the LICENSE file. +@@ -113,9 +113,13 @@ found in the LICENSE file. 16dp @@ -99,15 +99,15 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java -@@ -56,6 +56,7 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; - import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; - import org.chromium.chrome.browser.night_mode.NightModeStateProvider; - import org.chromium.chrome.browser.night_mode.NightModeUtils; -+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; + import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerCreator; + import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeFieldTrialImpl; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; ++import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; + import org.chromium.chrome.browser.ui.edge_to_edge.SimpleEdgeToEdgeController; import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeManager; import org.chromium.components.browser_ui.edge_to_edge.EdgeToEdgeStateProvider; -@@ -132,6 +133,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity +@@ -145,6 +146,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity protected void attachBaseContext(Context newBase) { super.attachBaseContext(newBase); @@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java -@@ -66,6 +66,7 @@ import org.chromium.content_public.browser.WebContents; +@@ -69,6 +69,7 @@ import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContentsObserver; import org.chromium.net.NetId; import org.chromium.ui.LayoutInflaterUtils; @@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.display.DisplayUtil; import org.chromium.url.GURL; -@@ -481,7 +482,9 @@ public class WarmupManager { +@@ -491,7 +492,9 @@ public class WarmupManager { ControlContainer controlContainer = mainView.findViewById(R.id.control_container); if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -170,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -783,7 +783,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -791,7 +791,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity // Inflate the correct toolbar layout for the device. int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -184,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java -@@ -123,6 +123,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService; +@@ -127,6 +127,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService; import org.chromium.components.tab_group_sync.TriggerSource; import org.chromium.components.tab_groups.TabGroupColorId; import org.chromium.ui.accessibility.AccessibilityState; @@ -192,7 +192,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.util.ColorUtils; -@@ -4545,8 +4546,13 @@ public class StripLayoutHelper +@@ -4955,8 +4956,13 @@ public class StripLayoutHelper mCloseButtonMenu.setAnchorView(tabView); // 3. Set the vertical offset to align the close button menu with bottom of the tab strip int tabHeight = mManagerHost.getHeight(); @@ -211,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java -@@ -96,6 +96,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa +@@ -105,6 +105,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa import org.chromium.components.browser_ui.styles.SemanticColorUtils; import org.chromium.components.browser_ui.widget.scrim.ScrimProperties; import org.chromium.content_public.browser.LoadUrlParams; @@ -219,7 +219,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.WindowAndroid; -@@ -477,7 +478,10 @@ public class StripLayoutHelperManager +@@ -495,7 +496,10 @@ public class StripLayoutHelperManager mIsLayoutOptimizationsEnabled = ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled( /* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext)); @@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen + // This will hide the tab strips if necessary. TabStripSceneLayerJni.get() - .beginBuildingFrame( + .beginBuildingFrame(mNativePtr, visible, resourceManager, layerTitleCache); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java @@ -271,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -738,7 +738,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -747,7 +747,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public int getControlContainerHeightResource() { @@ -285,7 +285,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/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 -@@ -105,6 +105,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; +@@ -108,6 +108,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; import org.chromium.chrome.browser.pdf.PdfPage; @@ -294,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.quick_delete.QuickDeleteController; import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl; -@@ -1675,7 +1677,9 @@ public class RootUiCoordinator +@@ -1715,7 +1717,9 @@ public class RootUiCoordinator if (!mSupportsFindInPageSupplier.getAsBoolean()) return; int stubId = R.id.find_toolbar_stub; @@ -319,7 +319,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -313,6 +313,7 @@ public final class ChromePreferenceKeys { +@@ -317,6 +317,7 @@ public final class ChromePreferenceKeys { /** Whether the app-specific history info text was already seen by users. */ public static final String HISTORY_APP_SPECIFIC_INFO_SEEN = "Chrome.History.AppSpecificInfoSeen"; @@ -389,7 +389,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java -@@ -860,7 +860,7 @@ public class LocationBarCoordinator +@@ -833,7 +833,7 @@ public class LocationBarCoordinator } private boolean isTabletWindow() { @@ -401,7 +401,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1666,6 +1666,13 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1410,6 +1410,13 @@ Your Google account may have other forms of browsing history like searches and a Privacy guide explanation closed @@ -427,7 +427,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container - +- android:layout_marginTop="@dimen/control_container_height" /> ++ android:layout_marginTop="@dimen/control_container_height_cromite" /> -@@ -36,7 +36,7 @@ found in the LICENSE file. + = SCREEN_BUCKET_TABLET; } -@@ -153,6 +163,7 @@ public class DeviceFormFactor { +@@ -142,6 +152,7 @@ public class DeviceFormFactor { * @return The screen width bucket the device is in (see constants at the top of this class). */ private static int detectScreenWidthBucket(Context context) { @@ -722,7 +719,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui return context.getResources().getInteger(R.integer.min_screen_width_bucket); } -@@ -160,6 +171,7 @@ public class DeviceFormFactor { +@@ -149,6 +160,7 @@ public class DeviceFormFactor { ThreadUtils.assertOnUiThread(); Context context = windowAndroid.getContext().get(); if (context == null) return 0; @@ -730,7 +727,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui return context.getResources().getInteger(R.integer.min_screen_width_bucket); } -@@ -169,6 +181,7 @@ public class DeviceFormFactor { +@@ -158,6 +170,7 @@ public class DeviceFormFactor { */ @UiThread public static int getNonMultiDisplayMinimumTabletWidthPx(Context context) { @@ -738,7 +735,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui return getMinimumTabletWidthPx(DisplayAndroid.getNonMultiDisplay(context)); } -@@ -177,6 +190,7 @@ public class DeviceFormFactor { +@@ -166,6 +179,7 @@ public class DeviceFormFactor { * layout. */ public static int getMinimumTabletWidthPx(DisplayAndroid display) { 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 55ab9ce3..e23e5f44 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.base.IntentUtils; import org.chromium.base.Log; import org.chromium.base.MemoryPressureListener; -@@ -1917,8 +1918,10 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -2101,8 +2102,10 @@ public class ChromeTabbedActivity extends ChromeActivity { boolean hadCipherData = CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); @@ -106,9 +106,9 @@ 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 -@@ -5798,6 +5798,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d - - IMAGE +@@ -2780,6 +2780,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d + + All tabs + + Close all open tabs on exit @@ -116,7 +116,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro + + Don't persist tabs between browsing sessions. Caution: parameters in urls allow linking between different sessions. + - - LINK + + Loading… -- 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 728c0cc6..9022be4c 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 -@@ -115,6 +115,9 @@ import java.util.Objects; +@@ -120,6 +120,9 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -34,7 +34,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * A mediator for the TabGridDialog component, responsible for communicating with the components' * coordinator as well as managing the business logic for dialog show/hide. -@@ -1008,9 +1011,15 @@ public class TabGridDialogMediator +@@ -1035,9 +1038,15 @@ public class TabGridDialogMediator return; } @@ -45,7 +45,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser + url = gurl != null ? gurl.getSpec() : url; + } TabGroupUtils.openUrlInGroup( - mCurrentTabGroupModelFilterSupplier.get(), + assumeNonNull(mCurrentTabGroupModelFilterSupplier.get()), - UrlConstants.NTP_URL, + url, currentTab.getId(), @@ -54,7 +54,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java -@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory; +@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory; import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesConfig; import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator; import org.chromium.chrome.browser.layouts.LayoutStateProvider; @@ -62,7 +62,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver; import org.chromium.chrome.browser.layouts.LayoutType; import org.chromium.chrome.browser.profiles.Profile; -@@ -415,10 +416,15 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -420,10 +421,15 @@ public class TabGroupUiMediator implements BackPressHandler { assert relatedTabs.size() > 0; Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1); @@ -97,7 +97,7 @@ 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 -@@ -72,6 +72,9 @@ import org.chromium.ui.text.EmptyTextWatcher; +@@ -75,6 +75,9 @@ import org.chromium.ui.text.EmptyTextWatcher; import org.chromium.ui.widget.AnchoredPopupWindow.HorizontalOrientation; import org.chromium.ui.widget.RectProvider; @@ -107,10 +107,10 @@ 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. -@@ -211,9 +214,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina +@@ -215,9 +218,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina /* didCloseCallback= */ null); RecordUserAction.record("MobileToolbarTabGroupMenu.DeleteGroup"); - } else if (menuId == org.chromium.chrome.R.id.open_new_tab_in_group) { + } else if (menuId == R.id.open_new_tab_in_group) { + String url = UrlConstants.NTP_URL; + if (UrlConstants.NTP_URL.equals(url) + && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) { @@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java -@@ -243,6 +243,22 @@ public class HomepageManager +@@ -258,6 +258,22 @@ public class HomepageManager notifyHomepageUpdated(); } @@ -153,15 +153,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/settings/HomepageSettings.java -@@ -25,6 +25,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; +@@ -26,6 +26,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.url.GURL; +import org.chromium.components.embedder_support.util.UrlConstants; /** Fragment that allows the user to configure homepage related preferences. */ - public class HomepageSettings extends ChromeBaseSettingsFragment { -@@ -33,6 +34,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { + @NullMarked +@@ -35,6 +36,8 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { @VisibleForTesting public static final String PREF_HOMEPAGE_RADIO_GROUP = "homepage_radio_group"; @@ -170,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin private HomepageManager mHomepageManager; private RadioButtonGroupHomepagePreference mRadioButtons; private final ObservableSupplierImpl mPageTitle = new ObservableSupplierImpl<>(); -@@ -70,6 +73,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { +@@ -78,6 +81,15 @@ public class HomepageSettings extends ChromeBaseSettingsFragment { }); mRadioButtons.setupPreferenceValues(createPreferenceValuesForRadioGroup()); @@ -189,7 +189,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java --- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchMetrics.java -@@ -113,7 +113,6 @@ public class LaunchMetrics { +@@ -117,7 +117,6 @@ public class LaunchMetrics { public static void recordHomePageLaunchMetrics( boolean showHomeButton, boolean homepageIsNtp, GURL homepageGurl) { if (homepageGurl.isEmpty()) { @@ -200,17 +200,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java -@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFact - import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask; +@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask; import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.flags.ChromeFeatureList; + import org.chromium.chrome.browser.multiwindow.MultiInstanceManager; +import org.chromium.chrome.browser.homepage.HomepageManager; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.profiles.Profile; -@@ -552,6 +553,13 @@ public class ChromeTabCreator extends TabCreator +@@ -565,6 +566,13 @@ public class ChromeTabCreator extends TabCreator */ - public Tab launchUrl( + public @Nullable Tab launchUrl( String url, @TabLaunchType int type, @Nullable Intent intent, long intentTimestamp) { + if (!mIncognito && url.equals(UrlConstants.NTP_URL)) { + if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) { @@ -225,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -326,6 +326,7 @@ public final class ChromePreferenceKeys { +@@ -330,6 +330,7 @@ public final class ChromePreferenceKeys { public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP"; public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; @@ -247,7 +247,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1492,6 +1492,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1236,6 +1236,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -260,7 +260,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -107,6 +107,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -111,6 +111,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false, pref_registration_flags); @@ -272,7 +272,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -1328,6 +1328,10 @@ inline constexpr char kPinSplitTabButton[] = "browser.pin_split_tab_button"; +@@ -1327,6 +1327,10 @@ inline constexpr char kPinSplitTabButton[] = "browser.pin_split_tab_button"; // by enterprise policy. inline constexpr char kGeminiSettings[] = "browser.gemini_settings"; diff --git a/build/patches/Add-search-engine.patch b/build/patches/Add-search-engine.patch index 6a0e5475..edd96ac0 100644 --- a/build/patches/Add-search-engine.patch +++ b/build/patches/Add-search-engine.patch @@ -63,7 +63,7 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL ] deps = [ -@@ -164,6 +165,7 @@ source_set("search_engine_utils") { +@@ -162,6 +163,7 @@ source_set("search_engine_utils") { ":search_engine_type", "//components/google/core/common", "//third_party/search_engines_data:prepopulated_engines", @@ -71,7 +71,7 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL ] deps = [ "//url" ] -@@ -253,6 +255,7 @@ source_set("unit_tests") { +@@ -252,6 +254,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 -@@ -180,10 +180,7 @@ void RecordChoiceScreenDefaultSearchProviderType( +@@ -155,10 +155,7 @@ void RecordChoiceScreenDefaultSearchProviderType( } void RecordChoiceScreenSelectedIndex(int selected_engine_index) { @@ -212,14 +212,16 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon std::unique_ptr GetPrepopulatedEngine( PrefService& prefs, std::vector -@@ -159,9 +172,13 @@ std::vector> GetLocalPrepopulatedEngines( +@@ -159,11 +172,15 @@ std::vector> GetLocalPrepopulatedEngines( return std::vector>(); } - return base::ToVector( + std::vector> t_urls = + base::ToVector( - regional_capabilities::GetPrepopulatedEngines(country_id, prefs), + regional_capabilities::GetPrepopulatedEngines( + country_id, prefs, + regional_capabilities::SearchEngineListType::kTopFive), &PrepopulatedEngineToTemplateURLData); + t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(googleen)); + t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(duckduckgo_light)); diff --git a/build/patches/Add-setting-to-clear-data-on-exit.patch b/build/patches/Add-setting-to-clear-data-on-exit.patch index 404c7889..103ae5d3 100644 --- a/build/patches/Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/Add-setting-to-clear-data-on-exit.patch @@ -48,7 +48,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -259,6 +259,7 @@ chrome_java_sources = [ +@@ -262,6 +262,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataCheckBoxPreference.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFetcher.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java", @@ -74,7 +74,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -199,6 +199,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; +@@ -203,6 +203,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; import org.chromium.chrome.browser.quick_delete.QuickDeleteController; import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl; import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate; @@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler; import org.chromium.chrome.browser.recent_tabs.CrossDevicePaneFactory; import org.chromium.chrome.browser.reengagement.ReengagementNotificationController; -@@ -1922,7 +1923,11 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -2106,7 +2107,11 @@ public class ChromeTabbedActivity extends ChromeActivity { Intent intent = getIntent(); boolean hadCipherData = @@ -334,7 +334,7 @@ new file mode 100644 diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -2005,6 +2005,16 @@ +@@ -2054,6 +2054,16 @@ Delete browsing data @@ -354,7 +354,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -108,6 +108,7 @@ +@@ -107,6 +107,7 @@ #include "components/enterprise/data_controls/core/browser/features.h" #include "components/enterprise/obfuscation/core/utils.h" #include "components/error_page/common/error_page_switches.h" @@ -459,7 +459,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager. diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc -@@ -362,6 +362,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -350,6 +350,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( uint64_t origin_type_mask, base::OnceCallback callback) { CHECK(((remove_mask & @@ -467,7 +467,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. ~content::BrowsingDataRemover::DATA_TYPE_AVOID_CLOSING_CONNECTIONS & ~constants::FILTERABLE_DATA_TYPES) == 0) || filter_builder->MatchesAllOriginsAndDomains()); -@@ -469,6 +470,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -457,6 +458,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( CreateTaskCompletionClosure(TracingDataType::kHistory), &history_task_tracker_); } @@ -477,7 +477,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. if (ClipboardRecentContent::GetInstance()) ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); -@@ -577,6 +581,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -565,6 +569,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( // and SSL host state are scoped to hosts and represent them as std::string. // Rename the method to indicate its more general usage. if (profile_->GetSSLHostStateDelegate()) { @@ -489,7 +489,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. profile_->GetSSLHostStateDelegate()->Clear( filter_builder->MatchesAllOriginsAndDomains() ? base::RepeatingCallback() -@@ -605,9 +614,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -593,9 +602,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( } device_event_log::Clear(delete_begin_, delete_end_); @@ -503,7 +503,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange( delete_begin_, delete_end_); -@@ -1351,6 +1364,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -1320,6 +1333,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (should_clear_zero_suggest_and_session_token && template_url_service) template_url_service->ClearSessionToken(); @@ -515,7 +515,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -548,6 +548,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -550,6 +550,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::kNumber; @@ -691,7 +691,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1587,6 +1587,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1331,6 +1331,9 @@ Your Google account may have other forms of browsing history like searches and a Some of your history might not show up here. To see all your Chrome history, open full Chrome history. Also, your Google Account may have other forms of browsing history at <link>myactivity.google.com</link>. @@ -718,7 +718,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1968,6 +1968,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2021,6 +2021,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, @@ -729,7 +729,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide diff --git a/components/browsing_data/content/browsing_data_helper.cc b/components/browsing_data/content/browsing_data_helper.cc --- a/components/browsing_data/content/browsing_data_helper.cc +++ b/components/browsing_data/content/browsing_data_helper.cc -@@ -38,8 +38,13 @@ bool WebsiteSettingsFilterAdapter( +@@ -42,8 +42,13 @@ bool WebsiteSettingsFilterAdapter( // this filter is used for is DURABLE_STORAGE, which also only uses // origin-scoped patterns. Such patterns can be directly translated to a GURL. GURL url(primary_pattern.ToString()); @@ -965,7 +965,7 @@ diff --git a/components/favicon/core/favicon_database.h b/components/favicon/cor 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 -@@ -915,6 +915,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween( +@@ -925,6 +925,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween( if (turl->date_created() >= created_after && (created_before.is_null() || turl->date_created() < created_before) && turl->safe_for_autoreplace() && turl->prepopulate_id() == 0 && @@ -988,7 +988,7 @@ diff --git a/content/browser/btm/btm_service_impl.cc b/content/browser/btm/btm_s diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc -@@ -1530,6 +1530,7 @@ void StoragePartitionImpl::Initialize( +@@ -1529,6 +1529,7 @@ void StoragePartitionImpl::Initialize( .AppendASCII("Code Cache"); } DCHECK_GE(settings.size_in_bytes(), 0); 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 ec03d3e3..e4cb4dc1 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 @@ -28,9 +28,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../renderer/core/html/html_anchor_element.h | 7 +++- .../renderer/core/html/html_image_element.cc | 17 +++++++++ .../renderer/core/html/html_image_element.h | 2 ++ - .../core/page/context_menu_controller.cc | 33 ++++++++++++----- + .../core/page/context_menu_controller.cc | 23 +++++++++--- .../core/page/context_menu_controller.h | 5 +-- - 22 files changed, 170 insertions(+), 20 deletions(-) + 22 files changed, 164 insertions(+), 16 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc @@ -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 -@@ -392,6 +392,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -442,6 +442,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())) { -@@ -856,6 +859,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -1026,6 +1029,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 -@@ -365,6 +365,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -369,6 +369,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { mTab.loadUrl(loadUrlParams); } @@ -168,18 +168,18 @@ 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 -@@ -400,6 +400,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -419,6 +419,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kTabGroupParityBottomSheetAndroid, - &kTabletTabStripAnimation, - &kTabFreezeOnUndoableClosureKillSwitch, + &kTabModelInitFixes, + &kTabStorageSqlitePrototype, + &blink::features::kShowAlwaysContextMenuOnLinks, - &kTabStateFlatBuffer, - &kTabStripContextMenuAndroid, + &kTabStripAutoSelectOnCloseChange, &kTabStripDensityChangeAndroid, + &kTabStripGroupDragDropAndroid, 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 -@@ -478,6 +478,8 @@ public abstract class ChromeFeatureList { +@@ -494,6 +494,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"; -@@ -945,6 +947,8 @@ public abstract class ChromeFeatureList { +@@ -988,6 +990,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -197,7 +197,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false); public static final CachedFlag sPostGetMyMemoryStateToBackground = newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true); -@@ -1175,6 +1179,7 @@ public abstract class ChromeFeatureList { +@@ -1228,6 +1232,7 @@ public abstract class ChromeFeatureList { sTopControlsRefactor, sTouchToSearchCallout, sTraceBinderIpc, @@ -208,7 +208,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1731,6 +1731,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1475,6 +1475,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 -@@ -3381,6 +3387,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3116,6 +3122,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -386,8 +386,8 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third Frame* target_frame = frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame; -@@ -634,7 +655,7 @@ Element* HTMLAnchorElementBase::InterestTargetElement() const { - html_names::kInteresttargetAttr); +@@ -634,7 +655,7 @@ Element* HTMLAnchorElementBase::InterestForElement() const { + html_names::kInterestforAttr); } -void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { @@ -428,7 +428,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_ --- 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, - Element* InterestTargetElement() const override; + Element* InterestForElement() const override; void Trace(Visitor*) const override; + void HandleClick(MouseEvent&, bool do_not_show_context_menu = false); @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h --- a/third_party/blink/renderer/core/html/html_image_element.h +++ b/third_party/blink/renderer/core/html/html_image_element.h -@@ -217,6 +217,8 @@ class CORE_EXPORT HTMLImageElement +@@ -215,6 +215,8 @@ class CORE_EXPORT HTMLImageElement void DidAddUserAgentShadowRoot(ShadowRoot&) override; void AdjustStyle(ComputedStyleBuilder&) override; @@ -551,25 +551,15 @@ 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; -@@ -830,11 +843,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -825,7 +838,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, SetAutofillData(result.InnerNode(), data); -- const bool from_touch = source_type == kMenuSourceTouch || -- source_type == kMenuSourceLongPress || -- source_type == kMenuSourceLongTap; - if (from_touch && !ShouldShowContextMenuFromTouch(data)) -- return false; -+ if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) { -+ const bool from_touch = source_type == kMenuSourceTouch || -+ source_type == kMenuSourceLongPress || -+ source_type == kMenuSourceLongTap; -+ if (from_touch && !ShouldShowContextMenuFromTouch(data)) -+ return false; -+ } ++ if (!base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks) && from_touch && !ShouldShowContextMenuFromTouch(data)) + return false; WebLocalFrameImpl* selected_web_frame = - WebLocalFrameImpl::FromFrame(selected_frame); 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 diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index ccfccada..6e658917 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -166,6 +166,7 @@ +@@ -165,6 +165,7 @@ #include "components/sensitive_content/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" #include "components/services/storage/public/cpp/buckets/bucket_info.h" diff --git a/build/patches/Add-support-for-writing-URIs.patch b/build/patches/Add-support-for-writing-URIs.patch index e1041e0d..821d598b 100644 --- a/build/patches/Add-support-for-writing-URIs.patch +++ b/build/patches/Add-support-for-writing-URIs.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc --- a/base/android/content_uri_utils.cc +++ b/base/android/content_uri_utils.cc -@@ -134,6 +134,16 @@ void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, +@@ -136,6 +136,16 @@ void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, Time::FromMillisecondsSinceUnixEpoch(last_modified)); } diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index 1779c065..ff8fe52d 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 }; @@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -343,6 +343,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( +@@ -345,6 +345,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( } } @@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() { base::AutoLock locker(WebGLContextLimitLock()); DCHECK(webgl_context_limits_initialized_); -@@ -612,25 +619,6 @@ static String ExtractWebGLContextCreationError( +@@ -615,25 +622,6 @@ static String ExtractWebGLContextCreationError( const Platform::GraphicsInfo& info) { StringBuilder builder; builder.Append("Could not create a WebGL context"); @@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(), builder); builder.Append('.'); -@@ -690,6 +678,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( +@@ -693,6 +681,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( const CanvasContextCreationAttributesCore& attributes, Platform::ContextType context_type, Platform::GraphicsInfo* graphics_info) { @@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h -@@ -1946,6 +1946,8 @@ class MODULES_EXPORT WebGLRenderingContextBase +@@ -1951,6 +1951,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 07e95cad..2e0ed316 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 -@@ -41,6 +41,7 @@ +@@ -46,6 +46,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" -@@ -936,6 +937,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -1062,6 +1063,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-DocumentPiP-if-PopupsAndRedirects-are-active.patch b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch index 2a9cebe1..ab1fc973 100644 --- a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch +++ b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch @@ -26,15 +26,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/PictureIn diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc --- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc +++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc -@@ -27,6 +27,7 @@ - #include "third_party/blink/renderer/core/html/media/html_media_element.h" - #include "third_party/blink/renderer/core/html/media/html_video_element.h" +@@ -31,6 +31,7 @@ #include "third_party/blink/renderer/core/layout/layout_video.h" + #include "third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture.h" + #include "third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.h" +#include "third_party/blink/renderer/core/loader/document_loader.h" #include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h" -@@ -392,6 +393,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( +@@ -386,6 +387,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( return; } diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index 103e3926..fb54dbe0 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -43,7 +43,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc -@@ -1485,6 +1485,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1496,6 +1496,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( -@@ -1498,6 +1499,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1509,6 +1510,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 -@@ -15954,12 +15954,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -16153,12 +16153,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 -@@ -493,14 +493,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -494,14 +494,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const GURL& url, const std::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, @@ -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 -@@ -1791,7 +1791,6 @@ mojom("mojom") { +@@ -1793,7 +1793,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 -@@ -1234,6 +1234,7 @@ interface NetworkContext { +@@ -1240,6 +1240,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, -@@ -1241,6 +1242,7 @@ interface NetworkContext { +@@ -1247,6 +1248,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, -@@ -1251,6 +1253,7 @@ interface NetworkContext { +@@ -1257,6 +1259,7 @@ interface NetworkContext { // Note that this queued report will never be delivered if no reporting // endpoint matching is registered for with the provided // `network_anonymization_key`. @@ -386,7 +386,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c #include "base/containers/contains.h" #include "base/debug/dump_without_crashing.h" #include "base/feature_list.h" -@@ -1323,6 +1324,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1344,6 +1345,7 @@ void ContentSecurityPolicy::ReportViolation( ShouldBypassContentSecurityPolicy(KURL(violation_data->sourceFile()))) { return; } @@ -394,7 +394,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c PostViolationReport(violation_data, context_frame, report_endpoints, use_reporting_api); -@@ -1330,6 +1332,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1351,6 +1353,7 @@ void ContentSecurityPolicy::ReportViolation( // `context_frame` (i.e. we're not processing 'frame-ancestors'). if (delegate_ && !context_frame) delegate_->DispatchViolationEvent(*violation_data, element); @@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ #include "services/network/public/cpp/features.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/source_location.mojom-blink.h" -@@ -2837,9 +2838,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { +@@ -2836,9 +2837,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { return CHECK_DEREF(GetDocument()).GetResourceCoordinator(); } @@ -436,7 +436,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b #include "mojo/public/cpp/bindings/pending_associated_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "net/storage_access_api/status.h" -@@ -680,7 +681,9 @@ class CORE_EXPORT LocalFrame final +@@ -671,7 +672,9 @@ class CORE_EXPORT LocalFrame final return client_hints_preferences_; } diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 26c6f571..e0f90ac9 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -817,7 +817,6 @@ if (_is_default_toolchain) { +@@ -815,7 +815,6 @@ if (_is_default_toolchain) { "//components/offline_pages/core:offline_page_model_enums_java", "//components/sharing_message:sharing_dialog_type_generated_enum", "//components/sharing_message:sharing_send_message_result_generated_enum", @@ -65,15 +65,15 @@ diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc --- a/chrome/browser/prefs/chrome_pref_service_factory.cc +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc -@@ -316,7 +316,7 @@ void PrepareFactory( +@@ -319,7 +319,7 @@ void PrepareFactory( policy::BrowserPolicyConnector* policy_connector) { factory->SetManagedPolicies(policy_service, policy_connector); factory->SetRecommendedPolicies(policy_service, policy_connector); - if (supervised_user_settings) { + if (((false)) && supervised_user_settings) { + // supervised_user_prefs handles the case when content_filters_service is + // nullptr. It's simply not subscribing to empty service's notifications. scoped_refptr supervised_user_prefs = - base::MakeRefCounted(supervised_user_settings); - DCHECK(async || supervised_user_prefs->IsInitializationComplete()); diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc @@ -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 -@@ -682,10 +682,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { +@@ -684,10 +684,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( -@@ -1614,6 +1610,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1624,6 +1620,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -160,7 +160,7 @@ diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/w diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc --- a/chrome/browser/ui/webui/management/management_ui_handler.cc +++ b/chrome/browser/ui/webui/management/management_ui_handler.cc -@@ -595,10 +595,6 @@ bool ManagementUIHandler::managed() const { +@@ -617,10 +617,6 @@ bool ManagementUIHandler::managed() const { void ManagementUIHandler::RegisterPrefChange( PrefChangeRegistrar& pref_registrar) { @@ -174,7 +174,7 @@ diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrom diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.cc b/components/supervised_user/core/browser/supervised_user_pref_store.cc --- a/components/supervised_user/core/browser/supervised_user_pref_store.cc +++ b/components/supervised_user/core/browser/supervised_user_pref_store.cc -@@ -142,6 +142,7 @@ SupervisedUserPrefStore::~SupervisedUserPrefStore() = default; +@@ -175,6 +175,7 @@ void SupervisedUserPrefStore::OnNewContentFiltersStateAvailable( void SupervisedUserPrefStore::OnNewSettingsAvailable( const base::Value::Dict& settings) { @@ -203,12 +203,12 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences - return pref_service.GetString(prefs::kSupervisedUserId) == kChildAccountSUID; + return false; } - bool IsSubjectToUserControls(const PrefService& pref_service) { - return pref_service.GetString(prefs::kSupervisedUserId) == + + bool IsGoogleSafeSearchEnforced(const PrefService& pref_service) { diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc --- a/components/supervised_user/core/browser/supervised_user_service.cc +++ b/components/supervised_user/core/browser/supervised_user_service.cc -@@ -240,6 +240,7 @@ SupervisedUserService::SupervisedUserService( +@@ -249,6 +249,7 @@ SupervisedUserService::SupervisedUserService( } void SupervisedUserService::SetSettingsServiceActive(bool active) { @@ -219,7 +219,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc --- a/components/supervised_user/core/common/features.cc +++ b/components/supervised_user/core/common/features.cc -@@ -35,7 +35,6 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, +@@ -33,7 +33,6 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, #else base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -227,8 +227,8 @@ diff --git a/components/supervised_user/core/common/features.cc b/components/sup #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ BUILDFLAG(IS_WIN) const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000; -@@ -138,4 +137,5 @@ BASE_FEATURE(kSupervisedUserInterstitialWithoutApprovals, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -170,4 +169,5 @@ bool ClassifyUrlWithoutCredentialsForLocalSupervision() { + #endif +SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals); diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index a17df18e..0b428b3e 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 -@@ -1335,6 +1335,12 @@ bool WebMediaPlayerImpl::HasAudio() const { +@@ -1330,6 +1330,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()); -@@ -3703,7 +3709,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3683,7 +3689,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { : HasAudio(); // 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 -@@ -216,6 +216,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 f0039e92..5f70762b 100644 --- a/build/patches/Always-allow-inspect-fallback.patch +++ b/build/patches/Always-allow-inspect-fallback.patch @@ -20,7 +20,7 @@ diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resour if (!HOST_CHROME_VERSION) { return false; } -@@ -565,7 +566,7 @@ function formatValue(data, property) { +@@ -590,7 +591,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 34a5e35d..5ce766ce 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,18 +26,18 @@ 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; -@@ -299,6 +301,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { - Referrer referrer, +@@ -303,6 +305,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { + @Nullable Referrer referrer, boolean navigateToTab, @Nullable AdditionalNavigationParams additionalNavigationParams) { + TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true); RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); -@@ -319,6 +322,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -323,6 +326,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { * @param url The URL to open. */ - public void onOpenInNewTabInGroup(GURL url, Referrer referrer) { + public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) { + TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true); RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); diff --git a/build/patches/Always-use-new-tab-page-for-default-home-page.patch b/build/patches/Always-use-new-tab-page-for-default-home-page.patch index a17dd75c..c4b3e395 100644 --- a/build/patches/Always-use-new-tab-page-for-default-home-page.patch +++ b/build/patches/Always-use-new-tab-page-for-default-home-page.patch @@ -19,12 +19,12 @@ 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/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java -@@ -157,10 +157,6 @@ public class HomepageManager +@@ -160,10 +160,6 @@ public class HomepageManager * tab page if the homepage button is force enabled via flag. */ public GURL getDefaultHomepageGurl() { - if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) { -- return PartnerBrowserCustomizations.getInstance().getHomePageUrl(); +- return assumeNonNull(PartnerBrowserCustomizations.getInstance().getHomePageUrl()); - } - String homepagePartnerDefaultGurlSerialized = @@ -67,7 +67,7 @@ diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/b diff --git a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java --- a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java +++ b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java -@@ -85,6 +85,7 @@ public class TemplateUrl { +@@ -88,6 +88,7 @@ public class TemplateUrl { * prepopulated_engines.json. */ public String getNewTabURL() { @@ -78,7 +78,7 @@ diff --git a/components/search_engines/android/java/src/org/chromium/components/ diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc --- a/components/search_engines/android/template_url_service_android.cc +++ b/components/search_engines/android/template_url_service_android.cc -@@ -420,6 +420,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine( +@@ -400,6 +400,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine( jimage_translate_source_language_param_key, const base::android::JavaParamRef& jimage_translate_target_language_param_key) { diff --git a/build/patches/Android-Import-Passwords.patch b/build/patches/Android-Import-Passwords.patch index 2ba83d55..af49dbf3 100644 --- a/build/patches/Android-Import-Passwords.patch +++ b/build/patches/Android-Import-Passwords.patch @@ -332,7 +332,7 @@ new file mode 100644 diff --git a/components/password_manager/core/browser/import/password_importer.cc b/components/password_manager/core/browser/import/password_importer.cc --- a/components/password_manager/core/browser/import/password_importer.cc +++ b/components/password_manager/core/browser/import/password_importer.cc -@@ -76,6 +76,17 @@ const int32_t kMaxFileSizeBytes = 150 * 1024; +@@ -76,6 +76,17 @@ const int32_t kMaxFileSizeBytes = 1000 * 1024; // optional string. The string will be present if the status is SUCCESS. base::expected ReadFileToString( const base::FilePath& path) { diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 85404353..5e850a4d 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -244,7 +244,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/offlinepages/indicator/OfflineIndicatorControllerV2.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java --- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java -@@ -28,6 +28,11 @@ import org.chromium.content_public.common.ContentSwitches; +@@ -31,6 +31,11 @@ import org.chromium.content_public.common.ContentSwitches; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -256,7 +256,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in /** * Class that controls visibility and content of {@link StatusIndicatorCoordinator} to relay * connectivity information. -@@ -101,7 +106,10 @@ public class OfflineIndicatorControllerV2 { +@@ -104,7 +109,10 @@ public class OfflineIndicatorControllerV2 { Context context, StatusIndicatorCoordinator statusIndicator, ObservableSupplier isUrlBarFocusedSupplier, @@ -265,10 +265,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in + ObservableSupplier tabModelSelectorSupplier, + ObservableSupplierImpl layoutManager, + Supplier snackbarManagerSupplier) { - if (CommandLine.getInstance() - .hasSwitch(ContentSwitches.FORCE_ONLINE_CONNECTION_STATE_FOR_INDICATOR)) { - // If "force online connection state" switch is set, the offline indicator should never -@@ -129,7 +137,10 @@ public class OfflineIndicatorControllerV2 { + // If "force online connection state" switch is set, the offline indicator should never + // show. + assert !CommandLine.getInstance() +@@ -130,7 +138,10 @@ public class OfflineIndicatorControllerV2 { new OfflineDetector( (Boolean offline) -> onConnectionStateChanged(offline), (Boolean isForeground) -> onApplicationStateChanged(isForeground), @@ -283,18 +283,18 @@ 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 -@@ -1398,7 +1398,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { - mActivity, - mStatusIndicatorCoordinator, - isUrlBarFocusedSupplier, -- mCanAnimateBrowserControls); -+ mCanAnimateBrowserControls, -+ mTabModelSelectorSupplier, -+ mLayoutManagerSupplier, -+ mSnackbarManagerSupplier); - if (mToolbarManager.getOmniboxStub() != null) { - mToolbarManager.getOmniboxStub().addUrlFocusChangeListener(mUrlFocusChangeListener); +@@ -1417,7 +1417,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { + mActivity, + mStatusIndicatorCoordinator, + isUrlBarFocusedSupplier, +- mCanAnimateBrowserControls); ++ mCanAnimateBrowserControls, ++ mTabModelSelectorSupplier, ++ mLayoutManagerSupplier, ++ mSnackbarManagerSupplier); } + + if (mToolbarManager.getOmniboxStub() != null) { 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 @@ -599,7 +599,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 -@@ -899,6 +899,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { +@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { view->SetFocus(focused); } @@ -625,7 +625,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 -@@ -194,6 +194,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -196,6 +196,7 @@ class CONTENT_EXPORT WebContentsAndroid { void OnScaleFactorChanged(JNIEnv* env); void SetFocus(JNIEnv* env, jboolean focused); @@ -636,7 +636,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 -@@ -4011,8 +4011,10 @@ void WebContentsImpl::Stop() { +@@ -4080,8 +4080,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -650,7 +650,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 -@@ -1133,6 +1133,12 @@ public class WebContentsImpl +@@ -1138,6 +1138,12 @@ public class WebContentsImpl WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus); } @@ -663,7 +663,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1453,6 +1459,8 @@ public class WebContentsImpl +@@ -1447,6 +1453,8 @@ public class WebContentsImpl void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -675,7 +675,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 -@@ -282,6 +282,8 @@ public interface WebContents extends Parcelable { +@@ -288,6 +288,8 @@ public interface WebContents extends Parcelable { */ void setFocus(boolean hasFocus); @@ -732,7 +732,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 -@@ -4464,6 +4464,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4614,6 +4614,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -743,7 +743,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 -@@ -3274,6 +3274,7 @@ void LocalFrame::DidFreeze() { +@@ -3273,6 +3273,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -751,7 +751,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3288,6 +3289,7 @@ void LocalFrame::DidResume() { +@@ -3287,6 +3288,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); @@ -762,7 +762,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 -@@ -974,7 +974,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( +@@ -989,7 +989,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( if (!parent_page_scheduler_) return SchedulingLifecycleState::kNotThrottled; if (parent_page_scheduler_->IsFrozen()) { @@ -788,7 +788,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_sche PolicyUpdater policy_updater; SetPageFrozenImpl(frozen, policy_updater); } -@@ -800,7 +802,12 @@ bool PageSchedulerImpl::IsBackgrounded() const { +@@ -815,7 +817,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 a8b7cacb..ceab4d31 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -88,7 +88,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc -@@ -15,6 +15,7 @@ +@@ -16,6 +16,7 @@ #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/mediastream/media_devices.h" #include "third_party/blink/public/platform/browser_interface_broker_proxy.h" @@ -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" -@@ -684,7 +685,9 @@ double AudioContext::baseLatency() const { +@@ -696,7 +697,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" -@@ -716,6 +717,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { +@@ -710,6 +711,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { return To(GetExecutionContext()); } @@ -162,25 +162,25 @@ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.c diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc --- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc +++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc -@@ -36,6 +36,7 @@ - #include +@@ -32,6 +32,7 @@ #include + #include "base/compiler_specific.h" +#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h" #include "third_party/blink/renderer/platform/audio/audio_bus.h" #include "third_party/blink/renderer/platform/audio/audio_utilities.h" #include "third_party/blink/renderer/platform/audio/vector_math.h" -@@ -160,6 +161,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData( +@@ -156,6 +157,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData( input_buffer[(i + write_index - fft_size + kInputBufferSize) % - kInputBufferSize]; + kInputBufferSize]); + value = BaseAudioContext::ShuffleAudioData(value, i); - destination[i] = value; + UNSAFE_TODO(destination[i]) = value; } } -@@ -187,6 +189,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) { +@@ -183,6 +185,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) { input_buffer[(i + write_index - fft_size + kInputBufferSize) % - kInputBufferSize]; + kInputBufferSize]); + value = BaseAudioContext::ShuffleAudioData(value, i); + @@ -194,12 +194,12 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ + scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i); + // Clip to valid range. - destination[i] = + UNSAFE_TODO(destination[i]) = static_cast(ClampTo(scaled_value, 0, UCHAR_MAX)); @@ -325,6 +331,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) { - float linear_value = source[i]; + float linear_value = UNSAFE_TODO(source[i]); double db_mag = audio_utilities::LinearToDecibels(linear_value); - destination[i] = static_cast(db_mag); + UNSAFE_TODO(destination[i]) = static_cast(db_mag); + destination[i] = BaseAudioContext::ShuffleAudioData(destination[i], i); } } @@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -558,9 +558,8 @@ +@@ -575,9 +575,8 @@ { // AudioContext.playoutStats interface. // https://chromestatus.com/feature/5172818344148992 diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index 8adf0c50..0fcd15f6 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc --- a/third_party/blink/renderer/core/execution_context/execution_context.cc +++ b/third_party/blink/renderer/core/execution_context/execution_context.cc -@@ -713,6 +713,21 @@ void ExecutionContext::WriteIntoTrace( +@@ -710,6 +710,21 @@ void ExecutionContext::WriteIntoTrace( proto->set_world_type(GetWorldType(*this)); } @@ -49,7 +49,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 -@@ -396,6 +396,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, +@@ -395,6 +395,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); HeapObserverList& ContextLifecycleObserverSet(); @@ -224,7 +224,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc --- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc -@@ -284,6 +284,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { +@@ -285,6 +285,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { return false; } diff --git a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch index 7020d229..c92265b9 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 -@@ -5090,7 +5090,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -5133,7 +5133,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( } void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) { @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return referrer_; } -@@ -2909,6 +2914,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2898,6 +2903,13 @@ void DocumentLoader::CommitNavigation() { response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly)); } @@ -135,7 +135,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h --- a/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h -@@ -775,7 +775,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, +@@ -771,7 +771,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, // |archive_|, but won't have |loading_main_document_from_mhtml_archive_| set. bool loading_main_document_from_mhtml_archive_ = false; const bool loading_srcdoc_ = false; diff --git a/build/patches/Block-qjz9zk-or-trk-requests.patch b/build/patches/Block-qjz9zk-or-trk-requests.patch index 97f17996..ee02db19 100644 --- a/build/patches/Block-qjz9zk-or-trk-requests.patch +++ b/build/patches/Block-qjz9zk-or-trk-requests.patch @@ -107,18 +107,18 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc --- a/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc -@@ -950,6 +950,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() +@@ -970,6 +970,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() RegisterPseudoScheme(url::kJavaScriptScheme); RegisterPseudoScheme(kViewSourceScheme); RegisterPseudoScheme(kGoogleChromeScheme); + RegisterWebSafeScheme(url::kTraceScheme); } - ChildProcessSecurityPolicyImpl::~ChildProcessSecurityPolicyImpl() { + ChildProcessSecurityPolicyImpl::~ChildProcessSecurityPolicyImpl() = default; diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1122,6 +1122,8 @@ component("net") { +@@ -1127,6 +1127,8 @@ component("net") { "url_request/url_request_http_job.cc", "url_request/url_request_http_job.h", "url_request/url_request_interceptor.cc", @@ -227,7 +227,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -53,6 +53,7 @@ +@@ -55,6 +55,7 @@ #include "net/socket/network_binding_client_socket_factory.h" #include "net/ssl/ssl_config_service_defaults.h" #include "net/url_request/static_http_user_agent_settings.h" @@ -235,7 +235,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_job_factory.h" #include "url/url_constants.h" -@@ -610,6 +611,8 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -619,6 +620,8 @@ std::unique_ptr URLRequestContextBuilder::Build() { job_factory->SetProtocolHandler(scheme_handler.first, std::move(scheme_handler.second)); } diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index fc48cd1a..14b9155a 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -71,7 +71,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -1952,6 +1952,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1945,6 +1945,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] @@ -84,7 +84,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -824,6 +824,8 @@ chrome_java_sources = [ +@@ -833,6 +833,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", @@ -216,7 +216,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java -@@ -140,7 +140,8 @@ public class OmahaBase { +@@ -149,7 +149,8 @@ public class OmahaBase { } static boolean isDisabled() { @@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase } /** -@@ -580,6 +581,10 @@ public class OmahaBase { +@@ -592,6 +593,10 @@ public class OmahaBase { /** Sends the request to the server and returns the response. */ static String sendRequestToServer(HttpURLConnection urlConnection, String request) throws RequestFailureException { @@ -678,7 +678,7 @@ new file mode 100644 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2658,6 +2658,12 @@ static_library("browser") { +@@ -2685,6 +2685,12 @@ static_library("browser") { } if (is_android) { @@ -1091,7 +1091,7 @@ new file mode 100644 diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -351,6 +351,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -363,6 +363,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kProtectedTabsAndroid, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, @@ -1102,9 +1102,9 @@ 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 -@@ -437,6 +437,7 @@ public abstract class ChromeFeatureList { - "HomepageIsNewTabPagePolicyAndroid"; - public static final String HTTPS_FIRST_BALANCED_MODE = "HttpsFirstBalancedMode"; +@@ -453,6 +453,7 @@ public abstract class ChromeFeatureList { + public static final String HUB_BACK_BUTTON = "HubBackButton"; + public static final String HUB_SLIDE_ANIMATION = "HubSlideAnimation"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; + public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; public static final String INSTANCE_SWITCHER_V2 = "InstanceSwitcherV2"; @@ -1658,7 +1658,7 @@ new file mode 100644 diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java --- a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java +++ b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java -@@ -84,9 +84,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver, +@@ -85,9 +85,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver, mLocalPasswordsFetchService = new SafetyHubPasswordsFetchService(passwordManagerHelper, prefService, null); @@ -1668,7 +1668,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow recordMetricForUnusedSitePermissionsSettingState(); } -@@ -115,8 +112,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver, +@@ -116,8 +113,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver, if (mSigninManager != null) { mSigninManager.removeSignInStateObserver(this); } @@ -1680,7 +1680,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2459,6 +2459,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2203,6 +2203,12 @@ Your Google account may have other forms of browsing history like searches and a Chrome updates are no longer supported for this version of Android @@ -1693,7 +1693,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4437,7 +4443,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4167,7 +4173,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1705,7 +1705,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4448,6 +4457,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4178,6 +4187,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported @@ -1727,7 +1727,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/browser/ui/lens/lens_overlay_query_controller.cc --- a/chrome/browser/ui/lens/lens_overlay_query_controller.cc +++ b/chrome/browser/ui/lens/lens_overlay_query_controller.cc -@@ -893,6 +893,7 @@ LensOverlayQueryController::CreateEndpointFetcher( +@@ -802,6 +802,7 @@ LensOverlayQueryController::CreateEndpointFetcher( /*post_data=*/std::move(request_string), /*headers=*/request_headers, /*cors_exempt_headers=*/cors_exempt_headers, chrome::GetChannel(), @@ -2066,7 +2066,7 @@ diff --git a/components/manta/base_provider.cc b/components/manta/base_provider. diff --git a/components/omnibox/composebox/composebox_query_controller.cc b/components/omnibox/composebox/composebox_query_controller.cc --- a/components/omnibox/composebox/composebox_query_controller.cc +++ b/components/omnibox/composebox/composebox_query_controller.cc -@@ -312,7 +312,7 @@ ComposeboxQueryController::CreateEndpointFetcher( +@@ -314,7 +314,7 @@ ComposeboxQueryController::CreateEndpointFetcher( /*post_data=*/std::move(request_string), /*headers=*/request_headers, /*cors_exempt_headers=*/cors_exempt_headers, diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index ba0c6abe..6f73e980 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -328,6 +328,7 @@ if (_is_default_toolchain) { +@@ -325,6 +325,7 @@ if (_is_default_toolchain) { "//chrome/android/features/tab_ui/public:ui_java_resources", "//chrome/android/modules/stack_unwinder/provider:java", "//chrome/android/webapk/libs/client:client_java", @@ -77,7 +77,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -438,6 +438,7 @@ chrome_java_resources = [ +@@ -419,6 +419,7 @@ chrome_java_resources = [ "java/res/layout/account_divider_preference.xml", "java/res/layout/account_management_account_row.xml", "java/res/layout/app_history_filter.xml", @@ -85,7 +85,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/layout/auto_sign_in_first_run_dialog.xml", "java/res/layout/autofill_billing_address_dropdown.xml", "java/res/layout/autofill_card_name_and_number.xml", -@@ -627,6 +628,7 @@ chrome_java_resources = [ +@@ -608,6 +609,7 @@ chrome_java_resources = [ "java/res/xml/account_management_preferences.xml", "java/res/xml/ad_services_config.xml", "java/res/xml/appearance_preferences.xml", @@ -96,7 +96,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -897,6 +897,8 @@ chrome_java_sources = [ +@@ -902,6 +902,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/permissions/PermissionBlockedDialog.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", @@ -252,7 +252,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -120,6 +120,11 @@ for the previous order (main_preferences_legacy). --> +@@ -119,6 +119,11 @@ for the previous order (main_preferences_legacy). --> android:key="toolbar_shortcut" android:order="21" android:title="@string/toolbar_shortcut"/> @@ -462,7 +462,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -16862,6 +16862,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -16888,6 +16888,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -533,7 +533,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1271,6 +1271,34 @@ BrowserProcessImpl::component_updater() { +@@ -1273,6 +1273,34 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -571,7 +571,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h -@@ -214,6 +214,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -212,6 +212,7 @@ class BrowserProcessImpl : public BrowserProcess, #endif component_updater::ComponentUpdateService* component_updater() override; @@ -579,7 +579,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc MediaFileSystemRegistry* media_file_system_registry() override; WebRtcLogUploader* webrtc_log_uploader() override; network_time::NetworkTimeTracker* network_time_tracker() override; -@@ -431,6 +432,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -429,6 +430,7 @@ class BrowserProcessImpl : public BrowserProcess, // to concerns over integrity of data shared between profiles, // but some users of component updater only install per-user. std::unique_ptr component_updater_; @@ -590,7 +590,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc -@@ -389,6 +389,9 @@ StartupProfileInfo CreateInitialProfile( +@@ -384,6 +384,9 @@ StartupProfileInfo CreateInitialProfile( // missing code in the above test. CHECK(profile_info.profile) << "Cannot get default profile."; @@ -701,9 +701,9 @@ new file mode 100755 diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -653,6 +653,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { - StubResolverConfigReader::RegisterPrefs(registry); +@@ -721,6 +721,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { DefaultDnsOverHttpsConfigSource::RegisterPrefs(registry); + NetworkProcessLaunchWatcher::RegisterPrefs(registry); + registry->RegisterBooleanPref(prefs::kAdBlockEnabled, false); + registry->RegisterStringPref(prefs::kAdBlockFiltersURL, @@ -756,7 +756,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -2885,6 +2885,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2907,6 +2907,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; inline constexpr char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -771,7 +771,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp --- a/components/browser_ui/strings/android/site_settings.grdp +++ b/components/browser_ui/strings/android/site_settings.grdp -@@ -382,6 +382,9 @@ +@@ -391,6 +391,9 @@ This site shows intrusive or misleading ads diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 5f678cfc..297dac12 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 -@@ -226,6 +226,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) { +@@ -225,6 +225,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 -@@ -1420,6 +1420,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1456,6 +1456,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, WidgetAXManager* ax_manager() { return ax_manager_.get(); } @@ -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. -@@ -1458,13 +1471,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1494,13 +1507,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, ui::ColorProviderKey GetColorProviderKey() const override; private: @@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h class PaintAsActiveLockImpl; friend class ButtonTest; -@@ -1475,11 +1481,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1511,11 +1517,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, friend class ui_devtools::BubbleLocking; friend void DisableActivationChangeHandlingForTests(); diff --git a/build/patches/Change-popup-site-setting.patch b/build/patches/Change-popup-site-setting.patch index 56e74ffe..1debe100 100644 --- a/build/patches/Change-popup-site-setting.patch +++ b/build/patches/Change-popup-site-setting.patch @@ -273,7 +273,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -134,7 +134,7 @@ void ContentSettingsRegistry::Init() { +@@ -140,7 +140,7 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsInfo::SYNCABLE, /*allowlisted_primary_schemes=*/ {kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme}, diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch index 18f84be1..89ecc5b8 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -39,7 +39,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../ui/webui/extensions/extensions_ui.cc | 7 +++ .../chrome_update_query_params_delegate.cc | 13 ++-- .../extensions/api/developer_private.idl | 2 + - .../update_client/update_query_params.cc | 7 +-- + .../update_client/update_query_params.cc | 5 +- .../about_flags_cc/Webstore-protection.inc | 19 ++++++ .../browser/api/management/management_api.cc | 62 +++++++++++++------ .../browser/updater/extension_downloader.cc | 53 ++++++---------- @@ -49,7 +49,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html extensions/common/extension_features.cc | 14 +++++ extensions/common/extension_features.h | 2 + .../definitions/developer_private.d.ts | 2 + - 36 files changed, 254 insertions(+), 108 deletions(-) + 36 files changed, 253 insertions(+), 107 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp @@ -71,7 +71,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings. diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc --- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc -@@ -24,6 +24,12 @@ +@@ -25,6 +25,12 @@ #include "extensions/browser/app_window/app_window_registry.h" #endif // BUILDFLAG(ENABLE_EXTENSIONS) @@ -84,7 +84,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a namespace extensions { namespace developer = api::developer_private; -@@ -65,6 +71,28 @@ DeveloperPrivateAPI::GetFactoryInstance() { +@@ -66,6 +72,28 @@ DeveloperPrivateAPI::GetFactoryInstance() { return g_developer_private_api_factory.Pointer(); } @@ -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 -@@ -352,6 +352,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { +@@ -354,6 +354,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)); -@@ -488,7 +489,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -490,7 +491,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)) { -@@ -502,6 +503,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -504,6 +505,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { ->MarkNoticeAsAcknowledgedGlobally(); } @@ -754,19 +754,17 @@ diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/ diff --git a/components/update_client/update_query_params.cc b/components/update_client/update_query_params.cc --- a/components/update_client/update_query_params.cc +++ b/components/update_client/update_query_params.cc -@@ -85,9 +85,8 @@ UpdateQueryParamsDelegate* g_delegate = nullptr; +@@ -87,8 +87,7 @@ UpdateQueryParamsDelegate* g_delegate = nullptr; // static std::string UpdateQueryParams::Get(ProdId prod) { return base::StringPrintf( -- "os=%s&arch=%s&os_arch=%s&nacl_arch=%s&prod=%s%s&acceptformat=crx3,puff", -- kOs, kArch, base::SysInfo().OperatingSystemArchitecture().c_str(), -- GetNaclArch(), GetProdIdString(prod), +- "os=%s&arch=%s&os_arch=%s&prod=%s%s&acceptformat=crx3,puff", kOs, kArch, +- base::SysInfo().OperatingSystemArchitecture().c_str(), + "prod=%s%s&acceptformat=crx3", -+ GetProdIdString(prod), + GetProdIdString(prod), g_delegate ? g_delegate->GetExtraParams().c_str() : ""); } - -@@ -148,7 +147,7 @@ const char* UpdateQueryParams::GetNaclArch() { +@@ -120,7 +119,7 @@ const char* UpdateQueryParams::GetArch() { // static std::string UpdateQueryParams::GetProdVersion() { @@ -1203,7 +1201,7 @@ 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 -@@ -256,4 +256,18 @@ BASE_FEATURE(kAvoidCloneArgsOnExtensionFunctionDispatch, +@@ -242,4 +242,18 @@ BASE_FEATURE(kAvoidCloneArgsOnExtensionFunctionDispatch, "AvoidCloneArgsOnExtensionFunctionDispatch", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1225,7 +1223,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 -@@ -287,6 +287,8 @@ BASE_DECLARE_FEATURE(kOptimizeServiceWorkerStartRequests); +@@ -271,6 +271,8 @@ BASE_DECLARE_FEATURE(kOptimizeServiceWorkerStartRequests); // TODO(crbug.com/424432184): Clean up when experiment is complete. BASE_DECLARE_FEATURE(kAvoidCloneArgsOnExtensionFunctionDispatch); 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 e064508b..e6c7bcd6 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 -@@ -831,6 +831,10 @@ void PreflightController::ClearCorsPreflightCache( +@@ -762,6 +762,10 @@ void PreflightController::ClearCorsPreflightCache( cache_.ClearCache(std::move(url_filter)); } @@ -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 -@@ -1373,6 +1373,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1374,6 +1374,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 00f110af..567c138b 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc -@@ -207,9 +207,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( +@@ -202,9 +202,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( bool parse_result = base::StringToInt(major_version, &major_version_number); DCHECK(parse_result); std::optional brand; @@ -90,7 +90,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc --- a/content/browser/loader/navigation_url_loader_impl.cc +++ b/content/browser/loader/navigation_url_loader_impl.cc -@@ -1380,6 +1380,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( +@@ -1674,6 +1674,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( return; } @@ -255,7 +255,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 -@@ -522,6 +522,11 @@ +@@ -532,6 +532,11 @@ name: "AriaNotifyV2", status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"}, }, @@ -267,7 +267,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 { name: "AriaRowColIndexText", status: "stable", -@@ -896,8 +901,7 @@ +@@ -924,8 +929,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 a3504137..23508957 100644 --- a/build/patches/Close-Sessions-On-Ip-Change.patch +++ b/build/patches/Close-Sessions-On-Ip-Change.patch @@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc --- a/components/network_session_configurator/browser/network_session_configurator.cc +++ b/components/network_session_configurator/browser/network_session_configurator.cc -@@ -221,9 +221,8 @@ quic::QuicTagVector GetQuicClientConnectionOptions( +@@ -222,9 +222,8 @@ quic::QuicTagVector GetQuicClientConnectionOptions( bool ShouldQuicCloseSessionsOnIpChange( const VariationParameters& quic_trial_params) { @@ -34,7 +34,7 @@ diff --git a/components/network_session_configurator/browser/network_session_con } bool ShouldQuicGoAwaySessionsOnIpChange( -@@ -304,11 +303,8 @@ bool ShouldQuicEstimateInitialRtt( +@@ -305,11 +304,8 @@ bool ShouldQuicEstimateInitialRtt( bool ShouldQuicMigrateSessionsOnNetworkChangeV2( const VariationParameters& quic_trial_params) { @@ -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 -@@ -557,7 +557,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, +@@ -581,7 +581,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, // 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 82920efa..ef077093 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 -@@ -665,6 +665,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -677,6 +677,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 ddfc9941..2f42d25c 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 -@@ -646,7 +646,7 @@ chrome_java_resources = [ +@@ -627,7 +627,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 e8152521..4650bf15 100644 --- a/build/patches/Cromite-Branding.patch +++ b/build/patches/Cromite-Branding.patch @@ -100,7 +100,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 -@@ -182,7 +182,7 @@ by a child template that "extends" this file. +@@ -189,7 +189,7 @@ by a child template that "extends" this file. @@ -13171,7 +13171,7 @@ e)fqMZZ`3a)Ds&5H CreateProfilePrefStoreManager( +@@ -281,10 +282,7 @@ std::unique_ptr CreateProfilePrefStoreManager( const base::FilePath& profile_path) { std::string seed; CHECK(ui::ResourceBundle::HasSharedInstance()); @@ -13283,7 +13283,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2524,7 +2524,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2268,7 +2268,7 @@ Your Google account may have other forms of browsing history like searches and a About Chrome @@ -13295,7 +13295,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc --- a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc +++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc -@@ -140,6 +140,7 @@ bool AreNewChromeLabsExperimentsAvailable(const ChromeLabsModel* model, +@@ -140,6 +140,7 @@ bool AreNewChromeLabsExperimentsAvailable(Profile* profile) { } bool IsChromeLabsEnabled() { @@ -13339,7 +13339,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 -@@ -998,7 +998,7 @@ +@@ -1005,7 +1005,7 @@ diff --git a/build/patches/Customize-selection-popup.patch b/build/patches/Customize-selection-popup.patch index ced61dfa..00c42733 100644 --- a/build/patches/Customize-selection-popup.patch +++ b/build/patches/Customize-selection-popup.patch @@ -23,7 +23,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/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java -@@ -166,9 +166,7 @@ public class ChromeActionModeHandler { +@@ -173,9 +173,7 @@ public class ChromeActionModeHandler { | ActionModeCallbackHelper.MENU_ITEM_SHARE; // Disable options that expose additional Chrome functionality prior to the FRE being // completed (i.e. creation of a new tab). @@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -846,10 +846,17 @@ public class ChromeTabbedActivity extends ChromeActivity { +@@ -884,10 +884,17 @@ public class ChromeTabbedActivity extends ChromeActivity { @TabLaunchType int type, @TabCreationState int creationState, boolean markedForSelection) { @@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java -@@ -202,6 +202,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat +@@ -258,6 +258,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat // Skip opening a new Tab if it doesn't make sense. if (mTab.isClosing()) return false; @@ -74,12 +74,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activit + tabLaunchType = TabLaunchType.FROM_LONGPRESS_BACKGROUND_IN_GROUP; + } + + WindowAndroid window = mTab.getWindowAndroid(); boolean openingPopup = - PopupCreator.arePopupsEnabled(mActivity) - && (disposition == WindowOpenDisposition.NEW_POPUP); -@@ -225,7 +233,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat - tabCreator.createTabWithWebContents( + window != null +@@ -288,7 +296,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat mTab, + /* shouldPin= */ false, webContents, - TabLaunchType.FROM_LONGPRESS_FOREGROUND, + tabLaunchType, @@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activit diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java -@@ -18,6 +18,7 @@ import androidx.annotation.Nullable; +@@ -18,6 +18,7 @@ import android.view.ViewGroup; import androidx.annotation.VisibleForTesting; import org.chromium.base.Callback; @@ -97,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo import org.chromium.base.ObserverList; import org.chromium.base.TraceEvent; import org.chromium.base.supplier.ObservableSupplier; -@@ -242,6 +243,13 @@ public class LayoutManagerImpl +@@ -246,6 +247,13 @@ public class LayoutManagerImpl != TabLaunchType .FROM_COLLABORATION_BACKGROUND_IN_GROUP) || (!getTabModelSelector().isIncognitoSelected() && incognito); @@ -114,8 +114,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -381,8 +381,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { - public void onOpenImageInNewTab(GURL url, Referrer referrer) { +@@ -385,8 +385,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { + public void onOpenImageInNewTab(GURL url, @Nullable Referrer referrer) { LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); loadUrlParams.setReferrer(referrer); + @TabLaunchType int type = TabLaunchType.FROM_LONGPRESS_BACKGROUND; @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM 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 -@@ -29,6 +29,7 @@ import androidx.core.view.WindowInsetsCompat; +@@ -30,6 +30,7 @@ import androidx.core.view.WindowInsetsCompat; import org.chromium.base.BuildInfo; import org.chromium.base.Callback; import org.chromium.base.CallbackController; @@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.base.TraceEvent; import org.chromium.base.lifetime.Destroyable; import org.chromium.base.metrics.RecordUserAction; -@@ -815,11 +816,16 @@ public class RootUiCoordinator +@@ -842,11 +843,16 @@ public class RootUiCoordinator TrackerFactory.getTrackerForProfile(tab.getProfile()) .notifyEvent(EventConstants.WEB_SEARCH_PERFORMED); diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index 5f32db1c..8e341a00 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -23,11 +23,11 @@ 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:importantForAutofill="no" /> + android:importantForAutofill="no"/> 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 -@@ -321,8 +321,17 @@ class LocationBarMediator +@@ -307,8 +307,17 @@ class LocationBarMediator if (!mUrlFocusedWithPastedText && !shouldRetainOmniboxOnFocus && mLocationBarLayout.shouldClearTextOnFocus()) { @@ -58,7 +58,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import android.os.SystemClock; import android.text.Editable; import android.text.InputType; -@@ -113,6 +114,7 @@ public class UrlBar extends AutocompleteEditText { +@@ -115,6 +116,7 @@ public class UrlBar extends AutocompleteEditText { private boolean mAllowFocus = true; private boolean mShouldSendTypingStartedEvent; @@ -66,7 +66,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow private boolean mPendingScroll; private boolean mIsInCct; -@@ -339,6 +341,28 @@ public class UrlBar extends AutocompleteEditText { +@@ -352,6 +354,28 @@ public class UrlBar extends AutocompleteEditText { fixupTextDirection(); mShouldSendTypingStartedEvent = focused; diff --git a/build/patches/Disable-Accessibility-service-by-default.patch b/build/patches/Disable-Accessibility-service-by-default.patch index bd529719..a0904552 100644 --- a/build/patches/Disable-Accessibility-service-by-default.patch +++ b/build/patches/Disable-Accessibility-service-by-default.patch @@ -42,7 +42,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java -@@ -1102,6 +1102,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa +@@ -1125,6 +1125,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa structure.setChildCount(0); return; } diff --git a/build/patches/Disable-Android-AppRestrictions.patch b/build/patches/Disable-Android-AppRestrictions.patch index 40eeaa67..ec6aa8b3 100644 --- a/build/patches/Disable-Android-AppRestrictions.patch +++ b/build/patches/Disable-Android-AppRestrictions.patch @@ -32,15 +32,15 @@ diff --git a/chrome/browser/enterprise/util/BUILD.gn b/chrome/browser/enterprise diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java --- a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java +++ b/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome/browser/enterprise/util/EnterpriseInfoImpl.java -@@ -28,6 +28,7 @@ import org.chromium.build.annotations.MonotonicNonNull; - import org.chromium.build.annotations.NullMarked; +@@ -31,6 +31,7 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; + import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeSwitches; +import org.chromium.components.policy.AppRestrictionsProvider; import java.util.LinkedList; - import java.util.Queue; -@@ -109,6 +110,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo { + import java.util.List; +@@ -113,6 +114,10 @@ public class EnterpriseInfoImpl extends EnterpriseInfo { new AsyncTask() { // TODO: Unit test this function. https://crbug.com/1099262 private OwnedState calculateIsRunningOnManagedProfile(Context context) { @@ -48,9 +48,9 @@ diff --git a/chrome/browser/enterprise/util/android/java/src/org/chromium/chrome + return new OwnedState(/*hasDeviceOwnerApp*/false, + /*hasProfileOwnerApp*/false); + } + long startTime = SystemClock.elapsedRealtime(); boolean hasProfileOwnerApp = false; boolean hasDeviceOwnerApp = false; - PackageManager packageManager = context.getPackageManager(); diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn --- a/chrome/browser/flags/BUILD.gn +++ b/chrome/browser/flags/BUILD.gn diff --git a/build/patches/Disable-Android-Tab-Declutter.patch b/build/patches/Disable-Android-Tab-Declutter.patch index b42e2745..07acdf58 100644 --- a/build/patches/Disable-Android-Tab-Declutter.patch +++ b/build/patches/Disable-Android-Tab-Declutter.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -105,7 +105,8 @@ for the previous order (main_preferences_legacy). --> +@@ -104,7 +104,8 @@ for the previous order (main_preferences_legacy). --> android:fragment="org.chromium.chrome.browser.tasks.tab_management.TabsSettings" android:key="tabs" android:order="18" diff --git a/build/patches/Disable-CSS-blink-feature-support.patch b/build/patches/Disable-CSS-blink-feature-support.patch index 738d5a18..4bac27b7 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 -@@ -393,7 +393,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) { +@@ -397,7 +397,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 10776f98..3bb9a93b 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 -@@ -1270,7 +1270,7 @@ +@@ -1288,7 +1288,7 @@ }, { name: "CSSDynamicRangeLimit", diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index 47b9a2f6..6b25442a 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -8444,6 +8444,12 @@ static_library("browser") { +@@ -8407,6 +8407,12 @@ static_library("browser") { deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ] } @@ -26,15 +26,15 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn if (enable_compose) { sources += [ "compose/chrome_compose_client.cc", -@@ -8459,7 +8465,6 @@ static_library("browser") { +@@ -8422,7 +8428,6 @@ static_library("browser") { ] deps += [ - ":compose_optimization_guide_proto", "//chrome/common/compose", "//chrome/common/compose:mojo_bindings", - "//components/autofill/content/browser:browser", -@@ -8917,7 +8922,7 @@ source_set("font_pref") { + "//components/autofill/content/browser", +@@ -8881,7 +8886,7 @@ source_set("font_pref") { deps = [ "//chrome/common" ] } @@ -46,7 +46,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -353,7 +353,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -352,7 +352,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) base::FeatureList::IsEnabled(features::kLinkedServicesSetting)); #if BUILDFLAG(ENABLE_COMPOSE) diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch index 9aabb4b3..780bdfeb 100644 --- a/build/patches/Disable-Compression-Dictionary-Transport.patch +++ b/build/patches/Disable-Compression-Dictionary-Transport.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1004,12 +1004,14 @@ +@@ -1031,12 +1031,14 @@ } }, { diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch index 0aa13729..9326c956 100644 --- a/build/patches/Disable-FedCm.patch +++ b/build/patches/Disable-FedCm.patch @@ -15,8 +15,8 @@ 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 -@@ -674,7 +674,7 @@ void ContentSettingsRegistry::Init() { - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +@@ -671,7 +671,7 @@ void ContentSettingsRegistry::Init() { + PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION, - "webid-auto-reauthn", CONTENT_SETTING_ALLOW, @@ -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 -@@ -2119,7 +2119,7 @@ +@@ -2093,7 +2093,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index 8261dec6..acdcee71 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.pdf.PdfUtils; import org.chromium.chrome.browser.profiles.Profile; -@@ -284,9 +283,6 @@ public class IntentHandler { +@@ -297,9 +296,6 @@ public class IntentHandler { public static final String EXTRA_CCT_EARLY_NAV = "org.chromium.chrome.browser.cct_early_nav"; @@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j private static Pair sPendingReferrer; private static int sReferrerId; private static String sPendingIncognitoUrl; -@@ -569,8 +565,6 @@ public class IntentHandler { +@@ -592,8 +588,6 @@ public class IntentHandler { return ExternalAppId.LINE; } else if (packageName.equals(PACKAGE_WHATSAPP)) { return ExternalAppId.WHATSAPP; @@ -100,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java --- a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java +++ b/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtils.java -@@ -14,19 +14,12 @@ import org.chromium.build.annotations.Nullable; +@@ -15,19 +15,12 @@ import org.chromium.build.annotations.Nullable; /** This class provides utilities for the state of Google Search App. */ @NullMarked public class GSAUtils { @@ -121,7 +121,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil } /** -@@ -38,6 +31,7 @@ public class GSAUtils { +@@ -39,6 +32,7 @@ public class GSAUtils { */ public static boolean isAgsaVersionBelowMinimum( @Nullable String installedVersionName, @Nullable String minimumVersionName) { @@ -129,7 +129,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil if (TextUtils.isEmpty(installedVersionName) || TextUtils.isEmpty(minimumVersionName)) { return true; } -@@ -68,8 +62,8 @@ public class GSAUtils { +@@ -69,8 +63,8 @@ public class GSAUtils { * @return The version name of the Agsa package or null if it can't be found. */ public static @Nullable String getAgsaVersionName() { @@ -140,7 +140,7 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil } /** -@@ -78,19 +72,6 @@ public class GSAUtils { +@@ -79,20 +73,7 @@ public class GSAUtils { * @return Whether the AGSA is enabled */ public static boolean isAgsaEnabled() { @@ -160,7 +160,8 @@ diff --git a/chrome/browser/gsa/java/src/org/chromium/chrome/browser/gsa/GSAUtil - return sPackageInfo; + return false; } - } + + /** diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java --- a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java +++ b/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/chrome/browser/ui/google_bottom_bar/GoogleBottomBarActionsHandler.java @@ -220,7 +221,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 -@@ -265,7 +265,7 @@ public class PdfCoordinator { +@@ -266,7 +266,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 1b2705d0..a1222155 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 -@@ -2838,9 +2838,8 @@ +@@ -2795,9 +2795,8 @@ status: "stable", }, { diff --git a/build/patches/Disable-Paint-Preview-by-default.patch b/build/patches/Disable-Paint-Preview-by-default.patch index b5229a41..7145c129 100644 --- a/build/patches/Disable-Paint-Preview-by-default.patch +++ b/build/patches/Disable-Paint-Preview-by-default.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java -@@ -114,7 +114,7 @@ public class StartupPaintPreviewHelper implements Destroyable { +@@ -118,7 +118,7 @@ public class StartupPaintPreviewHelper implements Destroyable { /** Enables Paint Preview show attempt on restoration of a tab. */ public static void enableShowOnRestore() { diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index 7096bbdc..dff42339 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 -@@ -327,8 +327,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -326,8 +326,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) #endif // BUILDFLAG(IS_CHROMEOS) bool show_privacy_guide = diff --git a/build/patches/Disable-Real-Box.patch b/build/patches/Disable-Real-Box.patch index 8c59b1b0..d332dd53 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 -@@ -2351,7 +2351,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2272,7 +2272,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -41,7 +41,7 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res - ?composebox-enabled="${this.composeboxEnabled}"> - ${this.showComposebox_ ? html` - + diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc --- a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc diff --git a/build/patches/Disable-TLS-resumption.patch b/build/patches/Disable-TLS-resumption.patch index 929de04b..d8595af2 100644 --- a/build/patches/Disable-TLS-resumption.patch +++ b/build/patches/Disable-TLS-resumption.patch @@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc --- a/net/quic/quic_session_pool.cc +++ b/net/quic/quic_session_pool.cc -@@ -85,6 +85,7 @@ +@@ -86,6 +86,7 @@ #include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "third_party/boringssl/src/include/openssl/aead.h" @@ -98,7 +98,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc #include "url/gurl.h" #include "url/scheme_host_port.h" #include "url/url_constants.h" -@@ -371,6 +372,38 @@ void LogSessionKeyMismatch(QuicSessionKeyPartialMatchResult result, +@@ -372,6 +373,38 @@ void LogSessionKeyMismatch(QuicSessionKeyPartialMatchResult result, } // namespace @@ -137,7 +137,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {} QuicSessionRequest::~QuicSessionRequest() { -@@ -2376,7 +2409,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) { +@@ -2373,7 +2406,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) { cert_verifier_, transport_security_state_, sct_auditing_delegate_, HostsFromOrigins(params_.origins_to_force_quic_on), key.network_anonymization_key), @@ -149,7 +149,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -291,7 +291,33 @@ SSLClientSocketImpl::SSLClientSocketImpl( +@@ -292,7 +292,33 @@ SSLClientSocketImpl::SSLClientSocketImpl( CHECK(context_); } @@ -183,7 +183,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket Disconnect(); } -@@ -699,6 +725,8 @@ int SSLClientSocketImpl::Init() { +@@ -700,6 +726,8 @@ int SSLClientSocketImpl::Init() { } if (session) SSL_set_session(ssl_.get(), session.get()); @@ -192,7 +192,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket } transport_adapter_ = std::make_unique( -@@ -984,6 +1012,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { +@@ -985,6 +1013,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { : SSLHandshakeDetails::kTLS13Full; } } @@ -228,7 +228,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); // Measure TLS connections that implement the renegotiation_info and EMS -@@ -1618,6 +1675,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { +@@ -1624,6 +1681,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { } bool SSLClientSocketImpl::IsCachingEnabled() const { diff --git a/build/patches/Disable-Viewport-Segments.patch b/build/patches/Disable-Viewport-Segments.patch index 883cdb45..920eaa1c 100644 --- a/build/patches/Disable-Viewport-Segments.patch +++ b/build/patches/Disable-Viewport-Segments.patch @@ -21,7 +21,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 -@@ -5358,8 +5358,7 @@ +@@ -5317,8 +5317,7 @@ status: "stable", }, { @@ -30,5 +30,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + name: "ViewportSegments", status: "test", public: true }, { - name: "ViewTransitionLongCallbackTimeoutForTesting", + name: "ViewTransitionAnimationDelayInherit", -- diff --git a/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch b/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch index eb095e51..7ff3c128 100644 --- a/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch +++ b/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch @@ -14,9 +14,9 @@ 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 -@@ -372,8 +372,13 @@ void ContentSettingsRegistry::Init() { +@@ -378,8 +378,13 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); + PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); +#if BUILDFLAG(IS_ANDROID) Register(ContentSettingsType::BLUETOOTH_GUARD, "bluetooth-guard", diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch index 02966c44..ee2f4c89 100644 --- a/build/patches/Disable-WebGPU.patch +++ b/build/patches/Disable-WebGPU.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -553,6 +553,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -547,6 +547,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( WebRuntimeFeatures::EnableRemotePlayback(false); @@ -20,11 +20,11 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. + WebRuntimeFeatures::EnableBackForwardCache( content::IsBackForwardCacheEnabled()); - } + 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 -@@ -241,7 +241,7 @@ BASE_FEATURE(kEnableDrDc, +@@ -235,7 +235,7 @@ BASE_FEATURE(kEnableDrDc, // enabled by default on supported platforms. #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ BUILDFLAG(IS_ANDROID) diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index 5ba6cce9..aa47c99c 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../optimization_guide_keyed_service.cc | 1 - chrome/browser/permissions/BUILD.gn | 2 -- .../permissions/chrome_permissions_client.cc | 2 -- - .../prediction_model_handler_provider.cc | 2 +- + .../prediction_model_handler_provider.cc | 4 ++-- .../predictors/autocomplete_action_predictor.cc | 2 ++ .../predictors/loading_predictor_config.cc | 4 ++-- chrome/browser/predictors/predictors_features.cc | 3 +-- @@ -53,11 +53,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../features_cc/Disable-all-predictors-code.inc | 2 ++ services/webnn/BUILD.gn | 2 +- services/webnn/features.gni | 2 +- - services/webnn/webnn_context_provider_impl.cc | 11 ----------- + services/webnn/webnn_context_provider_impl.cc | 13 +------------ .../core/html/parser/html_document_parser.cc | 1 + .../document_speculation_rules.cc | 1 + .../platform/runtime_enabled_features.json5 | 2 +- - 52 files changed, 120 insertions(+), 76 deletions(-) + 52 files changed, 122 insertions(+), 78 deletions(-) create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc @@ -69,7 +69,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -796,8 +796,6 @@ static_library("browser") { +@@ -797,8 +797,6 @@ static_library("browser") { "navigation_predictor/navigation_predictor_keyed_service_factory.h", "navigation_predictor/navigation_predictor_metrics_document_data.cc", "navigation_predictor/navigation_predictor_metrics_document_data.h", @@ -78,7 +78,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "navigation_predictor/preloading_model_keyed_service.cc", "navigation_predictor/preloading_model_keyed_service.h", "navigation_predictor/preloading_model_keyed_service_factory.cc", -@@ -2382,7 +2380,7 @@ static_library("browser") { +@@ -2400,7 +2398,7 @@ static_library("browser") { "//components/resources", "//components/safe_browsing/content/browser", "//components/safe_browsing/content/browser:safe_browsing_service", @@ -190,7 +190,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc -@@ -510,7 +510,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( +@@ -410,7 +410,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { @@ -201,19 +201,19 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service. diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BUILD.gn --- a/chrome/browser/permissions/BUILD.gn +++ b/chrome/browser/permissions/BUILD.gn -@@ -40,8 +40,6 @@ source_set("permissions") { - "permission_revocation_request.h", - "permissions_aiv1_handler.cc", - "permissions_aiv1_handler.h", -- "prediction_based_permission_ui_selector.cc", -- "prediction_based_permission_ui_selector.h", - "prediction_model_handler_provider.cc", - "prediction_model_handler_provider.h", - "prediction_service_factory.cc", +@@ -44,8 +44,6 @@ source_set("permissions") { + "prediction_service/passage_embedder_delegate.h", + "prediction_service/permissions_aiv1_handler.cc", + "prediction_service/permissions_aiv1_handler.h", +- "prediction_service/prediction_based_permission_ui_selector.cc", +- "prediction_service/prediction_based_permission_ui_selector.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 -@@ -426,8 +426,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( +@@ -475,8 +475,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( #endif selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); @@ -222,18 +222,20 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/br return selectors; } -diff --git a/chrome/browser/permissions/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_model_handler_provider.cc ---- a/chrome/browser/permissions/prediction_model_handler_provider.cc -+++ b/chrome/browser/permissions/prediction_model_handler_provider.cc -@@ -13,10 +13,10 @@ - #include "chrome/browser/permissions/permissions_aiv1_handler.h" +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" #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" #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/prediction_service/prediction_model_handler.h" #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) @@ -290,7 +292,7 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_sett diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc b/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc --- a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc +++ b/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc -@@ -85,6 +85,7 @@ SearchPrefetchURLLoader::RequestHandler +@@ -84,6 +84,7 @@ SearchPrefetchURLLoader::RequestHandler SearchPrefetchURLLoaderInterceptor::MaybeCreateLoaderForRequest( const network::ResourceRequest& tentative_resource_request, content::FrameTreeNodeId frame_tree_node_id) { @@ -301,7 +303,7 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -1184,7 +1184,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1195,7 +1195,6 @@ void ChromeBrowserMainExtraPartsProfiles:: base::FeatureList::IsEnabled( permissions::features::kPermissionOnDeviceGeolocationPredictions) || base::FeatureList::IsEnabled(permissions::features::kPermissionsAIv1)) { @@ -312,14 +314,14 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -47,7 +47,6 @@ static_library("safe_browsing") { +@@ -49,7 +49,6 @@ static_library("safe_browsing") { "//components/resources:components_resources_grit", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", -- "//components/safe_browsing/content/browser/notification_content_detection:notification_content_detection", +- "//components/safe_browsing/content/browser/notification_content_detection", "//components/safe_browsing/content/browser/triggers:suspicious_site_trigger", "//components/safe_browsing/content/browser/web_ui", - "//components/safe_browsing/core/browser", + "//components/safe_browsing/content/browser/web_ui:local_state_delegate", 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 @@ -360,7 +362,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific 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 -@@ -504,11 +504,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { +@@ -516,11 +516,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { } AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() { @@ -372,7 +374,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows } AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() { -@@ -1179,18 +1175,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( +@@ -1206,18 +1202,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( optimization_guide::ModelQualityLogsUploaderService* ChromeAutofillClient::GetMqlsUploadService() { @@ -538,7 +540,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" -@@ -1594,6 +1596,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1733,6 +1735,7 @@ void ReadAnythingAppController::OnConnected() { render_frame()->GetBrowserInterfaceBroker().GetInterface( std::move(page_handler_factory_receiver)); @@ -546,7 +548,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; -@@ -1602,6 +1605,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1741,6 +1744,7 @@ void ReadAnythingAppController::OnConnected() { page_handler_->GetDependencyParserModel( base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, weak_ptr_factory_.GetWeakPtr())); @@ -554,7 +556,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::OnCopy() const { -@@ -1833,8 +1837,10 @@ std::vector ReadAnythingAppController::GetCurrentText() { +@@ -1972,8 +1976,10 @@ std::vector ReadAnythingAppController::GetCurrentText() { } void ReadAnythingAppController::PreprocessTextForSpeech() { @@ -565,7 +567,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::MovePositionToNextGranularity() { -@@ -2057,14 +2063,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { +@@ -2196,14 +2202,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { void ReadAnythingAppController::UpdateDependencyParserModel( base::File model_file) { @@ -587,7 +589,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h --- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h +++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.h -@@ -46,7 +46,9 @@ class MojoUkmRecorder; +@@ -47,7 +47,9 @@ class MojoUkmRecorder; } // namespace ukm class AXTreeDistiller; @@ -597,7 +599,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr class ReadAnythingAppControllerTest; class ReadAnythingAppControllerScreen2xDataCollectionModeTest; -@@ -287,7 +289,9 @@ class ReadAnythingAppController +@@ -303,7 +305,9 @@ class ReadAnythingAppController // available. void UpdateDependencyParserModel(base::File model_file); @@ -610,19 +612,19 @@ 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 -@@ -64,7 +64,7 @@ static_library("utility") { +@@ -66,7 +66,7 @@ static_library("utility") { "//printing/buildflags", "//services/data_decoder:lib", "//services/network:network_service", -- "//services/passage_embeddings:passage_embeddings", -+ # "//services/passage_embeddings:passage_embeddings", +- "//services/passage_embeddings", ++ # "//services/passage_embeddings", "//services/passage_embeddings/public/mojom", "//services/screen_ai/buildflags", "//services/service_manager/public/cpp", diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc --- a/chrome/utility/services.cc +++ b/chrome/utility/services.cc -@@ -241,13 +241,6 @@ auto RunMirroringService( +@@ -251,13 +251,6 @@ auto RunMirroringService( std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner()); } @@ -636,7 +638,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) -@@ -464,7 +457,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { +@@ -475,7 +468,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { #if !BUILDFLAG(IS_ANDROID) services.Add(RunProfileImporter); services.Add(RunMirroringService); @@ -647,19 +649,19 @@ 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 -@@ -607,7 +607,7 @@ test("components_unittests") { +@@ -613,7 +613,7 @@ test("components_unittests") { "//components/media_router/common/providers/cast/channel:unit_tests", "//components/page_info:unit_tests", "//components/permissions:unit_tests", - "//components/permissions/prediction_service:unit_tests", + # "//components/permissions/prediction_service:unit_tests", - "//components/privacy_sandbox:unit_tests", "//components/privacy_sandbox/privacy_sandbox_attestations:unit_tests", "//components/safety_check:unit_tests", + "//components/security_interstitials/content:unit_tests", diff --git a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc --- a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc +++ b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc -@@ -259,6 +259,7 @@ void AutofillOptimizationGuide::OnDidParseForm( +@@ -264,6 +264,7 @@ void AutofillOptimizationGuide::OnDidParseForm( // If we do not have any optimization types to register, do not do anything. if (!optimization_types.empty()) { // Register all optimization types that we need based on `form_structure`. @@ -667,16 +669,16 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut decider_->RegisterOptimizationTypes( std::vector( std::move(optimization_types).extract())); -@@ -326,7 +327,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( +@@ -331,7 +332,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions( const AutofillField* field) const { // If the field's storable type is `IBAN_VALUE`, check whether IBAN // suggestions should be blocked based on `url`. -- if (field->Type().GetStorableType() == IBAN_VALUE) { -+ if (decider_ && field->Type().GetStorableType() == IBAN_VALUE) { +- if (field->Type().GetTypes().contains(IBAN_VALUE)) { ++ if (decider_ && field->Type().GetTypes().contains(IBAN_VALUE)) { optimization_guide::OptimizationGuideDecision decision = decider_->CanApplyOptimization( url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED, -@@ -352,7 +353,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( +@@ -357,7 +358,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion( const CreditCard& card) const { if (auto optimization_type = GetVcnMerchantOptOutOptimizationTypeForCard(card); @@ -688,7 +690,7 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut 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 -@@ -51,7 +51,9 @@ +@@ -52,7 +52,9 @@ #include "components/omnibox/browser/autocomplete_match.h" #include "components/omnibox/browser/autocomplete_match_type.h" #include "components/omnibox/browser/autocomplete_provider.h" @@ -698,7 +700,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" -@@ -125,6 +127,7 @@ using ProviderType = AutocompleteProvider::Type; +@@ -126,6 +128,7 @@ using ProviderType = AutocompleteProvider::Type; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); @@ -706,7 +708,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 = -@@ -233,6 +236,7 @@ void RecordTotalMatchesScored(size_t num_scored) { +@@ -234,6 +237,7 @@ void RecordTotalMatchesScored(size_t num_scored) { base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches", num_scored); } @@ -717,7 +719,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc --- a/components/omnibox/browser/base_search_provider.cc +++ b/components/omnibox/browser/base_search_provider.cc -@@ -99,14 +99,14 @@ BaseSearchProvider::BaseSearchProvider(AutocompleteProvider::Type type, +@@ -100,14 +100,14 @@ BaseSearchProvider::BaseSearchProvider(AutocompleteProvider::Type type, bool BaseSearchProvider::ShouldPrefetch(const AutocompleteMatch& match) { // TODO (manukh): `GetAdditionalInfoForDebugging()` shouldn't be used for // non-debugging purposes. @@ -737,7 +739,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn diff --git a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc --- a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc +++ b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc -@@ -41,7 +41,7 @@ namespace { +@@ -44,7 +44,7 @@ namespace { // we require models to come from. constexpr std::array kPublisherKeyHash = { 0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa, @@ -746,7 +748,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo 0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a}; const net::NetworkTrafficAnnotationTag kOptimizationGuidePredictionModelsTrafficAnnotation = -@@ -100,7 +100,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager( +@@ -104,7 +104,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager( unzip::UnzipperFactory unzipper_factory, scoped_refptr background_task_runner) : download_service_(download_service), @@ -755,7 +757,7 @@ 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), -@@ -112,6 +112,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default; +@@ -117,6 +117,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default; void PredictionModelDownloadManager::StartDownload( const GURL& download_url, proto::OptimizationTarget optimization_target) { @@ -763,7 +765,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo download::DownloadParams download_params; download_params.client = download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS; -@@ -261,6 +262,7 @@ bool PredictionModelDownloadManager::VerifyDownload( +@@ -265,6 +266,7 @@ bool PredictionModelDownloadManager::VerifyDownload( const base::FilePath& download_file_path, const base::FilePath& base_model_dir, bool delete_file_on_error) { @@ -796,7 +798,7 @@ diff --git a/components/optimization_guide/core/hints/hints_fetcher.cc b/compone diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/components/optimization_guide/core/hints/hints_manager.cc --- a/components/optimization_guide/core/hints/hints_manager.cc +++ b/components/optimization_guide/core/hints/hints_manager.cc -@@ -412,6 +412,7 @@ void HintsManager::Shutdown() { +@@ -457,6 +457,7 @@ void HintsManager::Shutdown() { OptimizationGuideDecision HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision( OptimizationTypeDecision optimization_type_decision) { @@ -819,7 +821,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -458,8 +454,7 @@ size_t MaxURLKeyedHintCacheSize() { +@@ -288,8 +284,7 @@ size_t MaxHostKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -829,7 +831,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -926,5 +921,12 @@ bool IsPrivacyGuideAiSettingsEnabled() { +@@ -692,5 +687,12 @@ bool IsPrivacyGuideAiSettingsEnabled() { return base::FeatureList::IsEnabled(kPrivacyGuideAiSettings); } @@ -858,7 +860,7 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc --- a/components/page_content_annotations/core/page_content_annotations_features.cc +++ b/components/page_content_annotations/core/page_content_annotations_features.cc -@@ -286,4 +286,8 @@ bool ShouldAnnotatedPageContentStudyIncludeInnerText() { +@@ -291,4 +291,8 @@ bool ShouldAnnotatedPageContentStudyIncludeInnerText() { return kAnnotatedPageContentStudyIncludeInnerText.Get(); } @@ -881,7 +883,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 -@@ -27,6 +27,13 @@ source_set("notification_content_detection") { +@@ -40,6 +40,13 @@ source_set("notification_content_detection") { ] } @@ -898,7 +900,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 -@@ -517,6 +517,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload( +@@ -538,6 +538,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload( bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest( scoped_refptr context, scoped_refptr version) { @@ -955,7 +957,7 @@ new file mode 100644 diff --git a/services/webnn/BUILD.gn b/services/webnn/BUILD.gn --- a/services/webnn/BUILD.gn +++ b/services/webnn/BUILD.gn -@@ -167,7 +167,7 @@ component("webnn_service") { +@@ -170,7 +170,7 @@ component("webnn_service") { } } @@ -979,28 +981,30 @@ 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 -@@ -211,17 +211,6 @@ void WebNNContextProviderImpl::CreateWebNNContext( - base::expected, mojom::ErrorPtr> - context_creation_results; +@@ -217,18 +217,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( + RecordDeviceType(options->device); -- if (base::FeatureList::IsEnabled(mojom::features::kWebNNOnnxRuntime)) { -- context_creation_results = ort::CreateContextFromOptions( -- std::move(options), std::move(receiver), this); -- if (!context_creation_results.has_value()) { -- std::move(callback).Run(mojom::CreateContextResult::NewError( -- std::move(context_creation_results.error()))); -- return; + #if BUILDFLAG(IS_WIN) +- if (ort::ShouldCreateOrtContext(*options)) { +- base::expected, std::string> +- env_creation_results = ort::Environment::Create(gpu_info_); +- if (!env_creation_results.has_value()) { +- LOG(ERROR) << "[WebNN] Failed to create ONNX Runtime context: " +- << env_creation_results.error(); +- } else { +- context_impl = std::make_unique( +- std::move(receiver), this, std::move(options), +- std::move(env_creation_results.value())); - } -- context_impl = std::move(context_creation_results.value()); -- } -- - if (!context_impl && dml::ShouldCreateDmlContext(*options)) { - context_creation_results = dml::CreateContextFromOptions( - std::move(options), gpu_feature_info_, gpu_info_, +- } else if (dml::ShouldCreateDmlContext(*options)) { ++ if (dml::ShouldCreateDmlContext(*options)) { + base::expected, mojom::ErrorPtr> + context_creation_results = dml::CreateContextFromOptions( + std::move(options), gpu_feature_info_, gpu_info_, 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 -@@ -1798,6 +1798,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( +@@ -1801,6 +1801,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( } bool HTMLDocumentParser::ShouldSkipPreloadScan() { @@ -1011,7 +1015,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 -@@ -660,6 +660,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { +@@ -662,6 +662,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { return; } @@ -1022,7 +1026,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 -@@ -3809,7 +3809,7 @@ +@@ -3734,7 +3734,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", @@ -1030,5 +1034,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "test", }, { - name: "Presentation", + name: "PrerenderUntilScript", -- diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index 6b6512d7..76fee553 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 -@@ -1726,6 +1726,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1747,6 +1747,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 -@@ -167,7 +167,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -172,7 +172,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, false); @@ -41,10 +41,10 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc --- a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc +++ b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc -@@ -40,6 +40,7 @@ ui::ElementContext ProfilePickerFeaturePromoController::GetAnchorContext() - user_education::FeaturePromoResult +@@ -36,6 +36,7 @@ user_education::FeaturePromoResult ProfilePickerFeaturePromoController::CanShowPromoForElement( - ui::TrackedElement* anchor_element) const { + ui::TrackedElement* anchor_element, + const user_education::UserEducationContextPtr&) const { + if ((true)) return user_education::FeaturePromoResult::kBlockedByUi; return ProfilePicker::IsOpen() ? user_education::FeaturePromoResult::Success() @@ -52,14 +52,14 @@ 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 -@@ -64,6 +64,7 @@ ui::ElementContext BrowserFeaturePromoController20::GetAnchorContext() const { - user_education::FeaturePromoResult +@@ -45,6 +45,7 @@ user_education::FeaturePromoResult BrowserFeaturePromoController20::CanShowPromoForElement( - ui::TrackedElement* anchor_element) const { + ui::TrackedElement* anchor_element, + const user_education::UserEducationContextPtr& context) const { + if ((true)) return user_education::FeaturePromoResult::kBlockedByUi; - // Trying to show an IPH while the browser is closing can cause problems; - // see https://crbug.com/346461762 for an example. This can also crash - // unit_tests that use a BrowserWindow but not a browser, so also check if + auto* const browser_context = context->AsA(); + CHECK(browser_context && browser_context->IsValid()); + auto* const browser_view = &browser_context->GetBrowserView(); diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java --- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java +++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java @@ -74,7 +74,7 @@ diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/ diff --git a/chrome/browser/user_education/user_education_service_factory.cc b/chrome/browser/user_education/user_education_service_factory.cc --- a/chrome/browser/user_education/user_education_service_factory.cc +++ b/chrome/browser/user_education/user_education_service_factory.cc -@@ -113,6 +113,7 @@ UserEducationServiceFactory::BuildServiceInstanceForBrowserContextImpl( +@@ -112,6 +112,7 @@ UserEducationServiceFactory::BuildServiceInstanceForBrowserContextImpl( // static bool UserEducationServiceFactory::ProfileAllowsUserEducation(Profile* profile) { @@ -104,8 +104,8 @@ diff --git a/components/user_education/common/feature_promo/feature_promo_regist diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc --- a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc +++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc -@@ -100,6 +100,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon( - const FeaturePromoParams& params, +@@ -106,6 +106,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon( + const UserEducationContextPtr& context, ShowSource source, CanShowPromoOutputs* outputs) const { + if ((true)) return FeaturePromoResult::kBlockedByContext; @@ -115,17 +115,17 @@ diff --git a/components/user_education/common/feature_promo/impl/feature_promo_c diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc --- a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc +++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc -@@ -186,6 +186,7 @@ FeaturePromoController25::~FeaturePromoController25() { - +@@ -189,6 +189,7 @@ FeaturePromoController25::~FeaturePromoController25() { FeaturePromoResult FeaturePromoController25::CanShowPromo( - const FeaturePromoParams& params) const { + const FeaturePromoParams& params, + const UserEducationContextPtr& context) const { + if ((true)) return FeaturePromoResult::kBlockedByContext; auto* const spec = registry()->GetParamsForFeature(*params.feature); if (!spec) { return FeaturePromoResult::kError; -@@ -206,7 +207,7 @@ void FeaturePromoController25::MaybeShowStartupPromo( - - void FeaturePromoController25::MaybeShowPromo(FeaturePromoParams params) { +@@ -211,7 +212,7 @@ void FeaturePromoController25::MaybeShowStartupPromo( + void FeaturePromoController25::MaybeShowPromo(FeaturePromoParams params, + UserEducationContextPtr context) { auto* const spec = registry()->GetParamsForFeature(*params.feature); - if (!spec) { + if (((true)) || !spec) { diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index 334359a4..2dbba74e 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -12,7 +12,6 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../browser/aw_content_browser_client.cc | 3 + - ..._token_key_commitments_component_loader.cc | 1 + .../chromium/android_webview/AwSettings.java | 4 +- chrome/android/java/AndroidManifest.xml | 4 - .../ChromeSiteSettingsDelegate.java | 2 + @@ -47,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 +- - 36 files changed, 104 insertions(+), 430 deletions(-) + 35 files changed, 103 insertions(+), 430 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 -@@ -1350,6 +1350,7 @@ network::mojom::AttributionSupport +@@ -1354,6 +1354,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -62,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: -@@ -1368,6 +1369,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1372,6 +1373,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -71,21 +70,10 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv AwBrowserContext* aw_context = static_cast(browser_context); // WebView only supports OS-level attribution and not web-attribution. -diff --git a/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc b/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc ---- a/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc -+++ b/android_webview/browser/component_updater/trust_token_key_commitments_component_loader.cc -@@ -20,6 +20,7 @@ namespace android_webview { - // Tokens is enabled. - void LoadTrustTokenKeyCommitmentsComponent( - ComponentLoaderPolicyVector& policies) { -+ if ((true)) return; - DVLOG(1) - << "Registering Trust Token Key Commitments component for loading in " - "embedded WebView."; diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java --- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java +++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java -@@ -173,7 +173,7 @@ public class AwSettings { +@@ -177,7 +177,7 @@ public class AwSettings { private boolean mSpatialNavigationEnabled; // Default depends on device features. private boolean mEnableSupportedHardwareAcceleratedFeatures; private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW; @@ -94,7 +82,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1793,7 +1793,7 @@ public class AwSettings { +@@ -1804,7 +1804,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -114,7 +102,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro $1 $i18n{title} @@ -65,7 +65,7 @@ diff --git a/components/dom_distiller/core/html/preview.html b/components/dom_di diff --git a/components/dom_distiller/core/javascript/dom_distiller_viewer.js b/components/dom_distiller/core/javascript/dom_distiller_viewer.js --- a/components/dom_distiller/core/javascript/dom_distiller_viewer.js +++ b/components/dom_distiller/core/javascript/dom_distiller_viewer.js -@@ -109,7 +109,7 @@ function maybeSetWebFont() { +@@ -153,7 +153,7 @@ function maybeSetWebFont() { } const e = document.createElement('link'); diff --git a/build/patches/Disable-remote-altsvc-for-h3-connections.patch b/build/patches/Disable-remote-altsvc-for-h3-connections.patch index 3a35ad87..bdc9b51f 100644 --- a/build/patches/Disable-remote-altsvc-for-h3-connections.patch +++ b/build/patches/Disable-remote-altsvc-for-h3-connections.patch @@ -26,7 +26,7 @@ diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_p diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc --- a/net/http/http_stream_factory_job_controller.cc +++ b/net/http/http_stream_factory_job_controller.cc -@@ -1314,11 +1314,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( +@@ -1325,11 +1325,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( // single user on a multi-user system to hijack the alternate protocol. // These systems also enforce ports <1024 as restricted ports. So don't // allow protocol upgrades to user-controllable ports. @@ -39,7 +39,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre continue; } -@@ -1363,8 +1359,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( +@@ -1374,8 +1370,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal( GURL destination = CreateAltSvcUrl( original_url, alternative_service_info.GetHostPortPair()); diff --git a/build/patches/Disable-safety-check.patch b/build/patches/Disable-safety-check.patch index 14f16f36..25f464ea 100644 --- a/build/patches/Disable-safety-check.patch +++ b/build/patches/Disable-safety-check.patch @@ -4,27 +4,27 @@ Subject: Disable safety check License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/android/BUILD.gn | 5 -- + chrome/android/BUILD.gn | 5 ---- chrome/android/chrome_java_sources.gni | 1 - .../android/java/res/xml/main_preferences.xml | 3 +- - .../PasswordCheckupLauncher.java | 57 +------------------ - .../settings/FragmentDependencyProvider.java | 32 ----------- + .../PasswordCheckupLauncher.java | 25 ---------------- + .../settings/FragmentDependencyProvider.java | 30 ------------------- .../chrome/browser/settings/MainSettings.java | 2 +- - .../settings/SettingsNavigationImpl.java | 13 +---- + .../settings/SettingsNavigationImpl.java | 13 ++------ chrome/browser/BUILD.gn | 1 - - chrome/browser/safety_check/android/BUILD.gn | 2 - - .../safety_check/SafetyCheckBridge.java | 4 +- - .../suggestions/action/OmniboxPedal.java | 3 - + chrome/browser/safety_check/android/BUILD.gn | 2 -- + .../safety_check/SafetyCheckBridge.java | 4 +-- + .../suggestions/action/OmniboxPedal.java | 3 -- chrome/browser/ui/tab_helpers.cc | 2 +- .../site_settings/SiteSettings.java | 2 +- .../Disable-safety-check.inc | 1 + - 14 files changed, 11 insertions(+), 117 deletions(-) + 14 files changed, 10 insertions(+), 84 deletions(-) create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -466,7 +466,6 @@ if (_is_default_toolchain) { +@@ -459,7 +459,6 @@ if (_is_default_toolchain) { "//chrome/browser/recent_tabs:java", "//chrome/browser/regional_capabilities/android:java", "//chrome/browser/safe_browsing/android:java", @@ -32,7 +32,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/safety_hub/android:java", "//chrome/browser/screenshot_monitor:java", "//chrome/browser/search_engines/android:java", -@@ -1120,8 +1119,6 @@ if (_is_default_toolchain) { +@@ -1128,8 +1127,6 @@ if (_is_default_toolchain) { "//chrome/browser/recent_tabs:junit", "//chrome/browser/recent_tabs/internal:junit", "//chrome/browser/safe_browsing/android:junit", @@ -41,7 +41,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//chrome/browser/search_engines/android:junit", "//chrome/browser/search_resumption:junit", "//chrome/browser/serial/android:junit", -@@ -1400,8 +1397,6 @@ if (_is_default_toolchain) { +@@ -1417,8 +1414,6 @@ if (_is_default_toolchain) { "//chrome/browser/quick_delete:javatests", "//chrome/browser/renderer_host/android:javatests", "//chrome/browser/safe_browsing/android:javatests", @@ -53,7 +53,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -936,7 +936,6 @@ chrome_java_sources = [ +@@ -941,7 +941,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java", "java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsNavigation.java", @@ -77,24 +77,15 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordCheckupLauncher.java -@@ -18,7 +18,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl; - import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.password_check.PasswordCheckFactory; +@@ -10,7 +10,6 @@ import org.chromium.base.supplier.ObservableSupplierImpl; + import org.chromium.build.annotations.NullMarked; + import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.profiles.Profile; -import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment; import org.chromium.chrome.browser.settings.SettingsCustomTabLauncherImpl; import org.chromium.chrome.browser.settings.SettingsNavigationFactory; - import org.chromium.chrome.browser.sync.SyncServiceFactory; -@@ -32,8 +31,6 @@ public class PasswordCheckupLauncher { - @CalledByNative - private static void launchCheckupOnlineWithWindowAndroid( - @JniType("std::string") String checkupUrl, WindowAndroid windowAndroid) { -- if (windowAndroid.getContext().get() == null) return; // Window not available yet/anymore. -- launchCheckupOnlineWithActivity(checkupUrl, windowAndroid.getActivity().get()); - } - - @CalledByNative -@@ -42,75 +39,23 @@ public class PasswordCheckupLauncher { + import org.chromium.components.browser_ui.settings.SettingsNavigation.SettingsFragment; +@@ -26,38 +25,14 @@ public class PasswordCheckupLauncher { WindowAndroid windowAndroid, @PasswordCheckReferrer int passwordCheckReferrer, @Nullable String accountEmail) { @@ -103,46 +94,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage - assert profile != null; - - PasswordManagerHelper passwordManagerHelper = PasswordManagerHelper.getForProfile(profile); -- if (ChromeFeatureList.isEnabled(ChromeFeatureList.LOGIN_DB_DEPRECATION_ANDROID)) { -- // This is invoked from the leak dialog if the compromised password is saved for other -- // sites. After the login DB deprecation, this code path is guaranteed to only be -- // executed for users with access to UPM, since they are the only ones with saved -- // passwords. -- passwordManagerHelper.showPasswordCheckup( -- windowAndroid.getContext().get(), -- passwordCheckReferrer, -- getModalDialogManagerSupplier(windowAndroid), -- accountEmail, -- new SettingsCustomTabLauncherImpl()); -- return; -- } -- -- // Force instantiation of GMSCore password check if GMSCore update is required. Password -- // check launch will fail and instead show the blocking dialog with the suggestion to -- // update. -- if (passwordManagerHelper.canUseUpm() -- || PasswordManagerUtilBridge.isGmsCoreUpdateRequired( -- UserPrefs.get(profile), SyncServiceFactory.getForProfile(profile))) { -- passwordManagerHelper.showPasswordCheckup( -- windowAndroid.getContext().get(), -- passwordCheckReferrer, -- getModalDialogManagerSupplier(windowAndroid), -- accountEmail, -- new SettingsCustomTabLauncherImpl()); -- return; -- } -- -- PasswordCheckFactory.getOrCreate() -- .showUi(windowAndroid.getContext().get(), passwordCheckReferrer); - } - - @CalledByNative - private static void launchCheckupOnlineWithActivity( - @JniType("std::string") String checkupUrl, Activity activity) { -- if (tryLaunchingNativePasswordCheckup(activity)) return; -- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(checkupUrl)); -- intent.setPackage(activity.getPackageName()); -- activity.startActivity(intent); +- // This is invoked from the leak dialog if the compromised password is saved for other +- // sites. After the login DB deprecation, this code path is guaranteed to only be +- // executed for users with access to UPM, since they are the only ones with saved +- // passwords. +- passwordManagerHelper.showPasswordCheckup( +- windowAndroid.getContext().get(), +- passwordCheckReferrer, +- getModalDialogManagerSupplier(windowAndroid), +- accountEmail, +- new SettingsCustomTabLauncherImpl()); } @CalledByNative @@ -162,19 +123,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage - .startSettings(windowAndroid.getContext().get(), SettingsFragment.SAFETY_CHECK); } - private static boolean tryLaunchingNativePasswordCheckup(Activity activity) { -- GooglePasswordManagerUIProvider googlePasswordManagerUiProvider = -- ServiceLoaderUtil.maybeCreate(GooglePasswordManagerUIProvider.class); -- if (googlePasswordManagerUiProvider == null) return false; -- return googlePasswordManagerUiProvider.launchPasswordCheckup(activity); -+ return false; - } - private static ObservableSupplier getModalDialogManagerSupplier( diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java -@@ -38,13 +38,6 @@ import org.chromium.chrome.browser.privacy_sandbox.ChromeTrackingProtectionDeleg +@@ -32,13 +32,6 @@ import org.chromium.chrome.browser.privacy_sandbox.ChromeTrackingProtectionDeleg import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFragment; import org.chromium.chrome.browser.privacy_sandbox.TopicsManageFragment; import org.chromium.chrome.browser.profiles.Profile; @@ -188,17 +141,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings; import org.chromium.chrome.browser.signin.SigninAndHistorySyncActivityLauncherImpl; import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate; -@@ -131,20 +124,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -125,18 +118,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl delegate.setSnackbarManagerSupplier(mSnackbarManagerSupplier); baseSiteSettingsFragment.setSiteSettingsDelegate(delegate); } - if (fragment instanceof SafetyCheckSettingsFragment) { - SafetyCheckCoordinator.create( - (SafetyCheckSettingsFragment) fragment, -- mProfile, - new SafetyCheckUpdatesDelegateImpl(), - new SafetyCheckBridge(mProfile), -- SigninAndHistorySyncActivityLauncherImpl.get(), - mModalDialogManagerSupplier, - SyncServiceFactory.getForProfile(mProfile), - UserPrefs.get(mProfile), @@ -206,10 +157,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme - PasswordManagerHelper.getForProfile(mProfile), - new SettingsCustomTabLauncherImpl()); - } - if (fragment instanceof PasswordCheckFragmentView) { - PasswordCheckComponentUiFactory.create( - (PasswordCheckFragmentView) fragment, -@@ -237,14 +216,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + if (fragment instanceof SearchEngineSettings) { + SearchEngineSettings settings = (SearchEngineSettings) fragment; + settings.setDisableAutoSwitchRunnable( +@@ -219,14 +200,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl ((AutofillLocalIbanEditor) fragment) .setModalDialogManagerSupplier(mModalDialogManagerSupplier); } @@ -224,7 +175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme if (fragment instanceof INeedSnackbarManager) { ((INeedSnackbarManager)fragment).setSnackbarManagerSupplier(mSnackbarManagerSupplier); } -@@ -259,8 +230,5 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -241,8 +214,5 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl if (fragment instanceof ManageSyncSettings) { ((ManageSyncSettings) fragment).setSnackbarManagerSupplier(mSnackbarManagerSupplier); } @@ -236,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/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 -@@ -313,7 +313,7 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -306,7 +306,7 @@ public class MainSettings extends ChromeBaseSettingsFragment removePreferenceIfPresent(PREF_UI_THEME); } @@ -249,9 +200,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java @@ -18,8 +18,6 @@ import org.chromium.chrome.browser.autofill.settings.FinancialAccountsManagement + import org.chromium.chrome.browser.autofill.settings.NonCardPaymentMethodsManagementFragment; import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment; import org.chromium.chrome.browser.flags.ChromeFeatureList; - import org.chromium.chrome.browser.password_manager.settings.PasswordSettings; -import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment; -import org.chromium.chrome.browser.safety_hub.SafetyHubFragment; import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings; @@ -269,7 +220,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin case SettingsFragment.MAIN: case SettingsFragment.PAYMENT_METHODS: case SettingsFragment.SITE: -@@ -107,11 +102,7 @@ public class SettingsNavigationImpl implements SettingsNavigation { +@@ -108,11 +103,7 @@ public class SettingsNavigationImpl implements SettingsNavigation { case SettingsFragment.PAYMENT_METHODS: return AutofillPaymentMethodsFragment.class; case SettingsFragment.SAFETY_CHECK: @@ -285,7 +236,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3442,7 +3442,6 @@ static_library("browser") { +@@ -3451,7 +3451,6 @@ static_library("browser") { "//chrome/browser/recent_tabs:jni_headers", "//chrome/browser/regional_capabilities", "//chrome/browser/safe_browsing/android:safe_browsing_enums", @@ -304,7 +255,7 @@ diff --git a/chrome/browser/safety_check/android/BUILD.gn b/chrome/browser/safet "//chrome/browser/signin:identity_manager_provider", "//components/password_manager/core/browser/leak_detection", "//components/prefs", -@@ -73,7 +72,6 @@ android_library("java") { +@@ -71,7 +70,6 @@ android_library("java") { srcjar_deps = [ ":bulk_leak_check_service_enums", @@ -336,7 +287,7 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java -@@ -56,9 +56,6 @@ public class OmniboxPedal extends OmniboxAction { +@@ -57,9 +57,6 @@ public class OmniboxPedal extends OmniboxAction { case OmniboxPedalId.UPDATE_CREDIT_CARD: delegate.openSettingsPage(SettingsFragment.PAYMENT_METHODS); break; diff --git a/build/patches/Disable-smart-selection-by-default.patch b/build/patches/Disable-smart-selection-by-default.patch index e625b2aa..502db654 100644 --- a/build/patches/Disable-smart-selection-by-default.patch +++ b/build/patches/Disable-smart-selection-by-default.patch @@ -45,18 +45,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc 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 -@@ -257,6 +257,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kCCTEphemeralMode, +@@ -269,6 +269,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kCCTExtendTrustedCdnPublisher, &kCCTFixWarmup, &kCCTFreInSameTask, + &kChromeSmartSelection, &kCCTIncognitoAvailableToThirdParty, - &kCCTIntentFeatureOverrides, - &kCCTMinimized, + &kCCTMinimizedEnabledByDefault, + &kCCTNavigationalPrefetch, 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 -@@ -576,6 +576,7 @@ public abstract class ChromeFeatureList { +@@ -595,6 +595,7 @@ public abstract class ChromeFeatureList { "SearchInCCTAlternateTapHandlingIfEnabledByEmbedder"; public static final String SEARCH_RESUMPTION_MODULE_ANDROID = "SearchResumptionModuleAndroid"; public static final String SEED_ACCOUNTS_REVAMP = "SeedAccountsRevamp"; @@ -67,7 +67,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java -@@ -1089,7 +1089,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -1088,7 +1088,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper public boolean canWebSearch() { return hasSelection() && !isFocusedNodeEditable() diff --git a/build/patches/Disable-speechSynthesis-getVoices-API.patch b/build/patches/Disable-speechSynthesis-getVoices-API.patch index 64c848b2..ed5d73b1 100644 --- a/build/patches/Disable-speechSynthesis-getVoices-API.patch +++ b/build/patches/Disable-speechSynthesis-getVoices-API.patch @@ -31,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -1659,7 +1659,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( +@@ -1365,7 +1365,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient( std::unique_ptr ChromeContentRendererClient::CreateSpeechRecognitionClient( content::RenderFrame* render_frame) { diff --git a/build/patches/Disable-text-fragments-by-default.patch b/build/patches/Disable-text-fragments-by-default.patch index b79e95e0..5a15c353 100644 --- a/build/patches/Disable-text-fragments-by-default.patch +++ b/build/patches/Disable-text-fragments-by-default.patch @@ -74,7 +74,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 -@@ -4794,9 +4794,14 @@ void Document::SetURL(const KURL& url) { +@@ -4944,9 +4944,14 @@ void Document::SetURL(const KURL& url) { TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "url", new_url.GetString().Utf8()); @@ -92,7 +92,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -4973,10 +4973,9 @@ +@@ -4916,10 +4916,9 @@ }, { name: "TextFragmentIdentifiers", diff --git a/build/patches/Disable-third-party-origin-trials.patch b/build/patches/Disable-third-party-origin-trials.patch index 9476cf11..81f13caf 100644 --- a/build/patches/Disable-third-party-origin-trials.patch +++ b/build/patches/Disable-third-party-origin-trials.patch @@ -76,7 +76,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -9581,7 +9581,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() { +@@ -9693,7 +9693,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() { void NavigationRequest::ForceEnableOriginTrials( const std::vector& trials) { DCHECK(!HasCommitted()); @@ -116,7 +116,7 @@ diff --git a/content/browser/renderer_host/origin_trial_state_host_impl.cc b/con diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -540,10 +540,6 @@ void FillNavigationParamsRequest( +@@ -530,10 +530,6 @@ void FillNavigationParamsRequest( common_params.initiator_origin.value(); } @@ -127,7 +127,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra navigation_params->was_discarded = commit_params.was_discarded; navigation_params->document_ukm_source_id = commit_params.document_ukm_source_id; -@@ -566,8 +562,8 @@ void FillNavigationParamsRequest( +@@ -556,8 +552,8 @@ void FillNavigationParamsRequest( navigation_params->had_transient_user_activation = common_params.has_user_gesture; @@ -138,7 +138,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra navigation_params->early_hints_preloaded_resources = base::ToVector( commit_params.early_hints_preloaded_resources, blink::ToWebURL); -@@ -654,7 +650,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( +@@ -644,7 +640,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams( info->url_request.HasUserGesture(), info->url_request.HasTextFragmentToken(), info->should_check_main_world_content_security_policy, @@ -223,7 +223,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p } bool IsPagePopupRunningInWebTest(LocalFrame* frame) { -@@ -3239,10 +3229,6 @@ void DocumentLoader::CreateParserPostCommit() { +@@ -3228,10 +3218,6 @@ void DocumentLoader::CreateParserPostCommit() { mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection); } diff --git a/build/patches/Disable-update-scheduler.patch b/build/patches/Disable-update-scheduler.patch index d72be243..15c241f3 100644 --- a/build/patches/Disable-update-scheduler.patch +++ b/build/patches/Disable-update-scheduler.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/background_task_scheduler/ChromeBackgroundTaskFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java -@@ -69,7 +69,7 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory { +@@ -73,7 +73,7 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory { case TaskIds.WEBAPK_UPDATE_JOB_ID: return new WebApkUpdateTask(); case TaskIds.COMPONENT_UPDATE_JOB_ID: diff --git a/build/patches/Disable-various-metrics.patch b/build/patches/Disable-various-metrics.patch index ef4374b7..0792410b 100644 --- a/build/patches/Disable-various-metrics.patch +++ b/build/patches/Disable-various-metrics.patch @@ -26,7 +26,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/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java -@@ -47,7 +47,7 @@ public abstract class FirstRunActivityBase extends FullscreenSigninAndHistorySyn +@@ -52,7 +52,7 @@ public abstract class FirstRunActivityBase extends FullscreenSigninAndHistorySyn static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage"; static final String SHOW_HISTORY_SYNC_PAGE = "ShowHistorySync"; @@ -54,15 +54,15 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br namespace { -@@ -270,7 +268,6 @@ void MostVisitedSitesBridge::RecordPageImpression( +@@ -263,7 +261,6 @@ void MostVisitedSitesBridge::AddOrRemoveBlockedUrl( + void MostVisitedSitesBridge::RecordPageImpression( JNIEnv* env, - const JavaParamRef& obj, jint jtiles_count) { - ntp_tiles::metrics::RecordPageImpression(jtiles_count); } void MostVisitedSitesBridge::RecordTileImpression( -@@ -282,15 +279,6 @@ void MostVisitedSitesBridge::RecordTileImpression( +@@ -274,15 +271,6 @@ void MostVisitedSitesBridge::RecordTileImpression( jint jtitle_source, jint jsource, const JavaParamRef& jurl) { @@ -78,7 +78,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br } void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( -@@ -300,11 +288,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( +@@ -291,11 +279,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem( jint tile_type, jint title_source, jint source) { @@ -93,7 +93,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1165,7 +1165,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -1167,7 +1167,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { #endif // BUILDFLAG(IS_CHROMEOS) registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled, @@ -105,7 +105,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1379,7 +1379,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() { +@@ -1376,7 +1376,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() { extra_parts_.push_back( std::make_unique()); #endif @@ -124,7 +124,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.c #include "chrome/browser/plugins/pdf_iframe_navigation_throttle.h" #include "chrome/browser/policy/policy_util.h" #include "chrome/browser/preloading/prefetch/no_state_prefetch/chrome_no_state_prefetch_contents_delegate.h" -@@ -252,18 +251,6 @@ void MaybeCreateAndAddVisitedLinkNavigationThrottle( +@@ -254,18 +253,6 @@ void MaybeCreateAndAddVisitedLinkNavigationThrottle( void CreateAndAddChromeThrottlesForNavigation( content::NavigationThrottleRegistry& registry) { content::NavigationHandle& handle = registry.GetNavigationHandle(); @@ -143,7 +143,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.c #if BUILDFLAG(IS_ANDROID) // TODO(davidben): This is insufficient to integrate with prerender properly. // https://crbug.com/370595 -@@ -369,8 +356,6 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -371,8 +358,6 @@ void CreateAndAddChromeThrottlesForNavigation( } } @@ -247,7 +247,7 @@ diff --git a/components/performance_manager/persistence/site_data/leveldb_site_d diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/public/cpp/ukm_recorder.cc --- a/services/metrics/public/cpp/ukm_recorder.cc +++ b/services/metrics/public/cpp/ukm_recorder.cc -@@ -167,4 +167,5 @@ void UkmRecorder::RemoveObserver(Observer* observer) { +@@ -183,4 +183,5 @@ void UkmRecorder::RemoveObserver(Observer* observer) { observers_.RemoveObserver(observer); } diff --git a/build/patches/Disable-visited-pseudo-class.patch b/build/patches/Disable-visited-pseudo-class.patch index 27cf2ea8..804e6e0b 100644 --- a/build/patches/Disable-visited-pseudo-class.patch +++ b/build/patches/Disable-visited-pseudo-class.patch @@ -54,7 +54,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v diff --git a/components/visitedlink/common/visitedlink_common.cc b/components/visitedlink/common/visitedlink_common.cc --- a/components/visitedlink/common/visitedlink_common.cc +++ b/components/visitedlink/common/visitedlink_common.cc -@@ -83,6 +83,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url, +@@ -78,6 +78,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url, } bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const { diff --git a/build/patches/Disallow-Android-App-Scheme-as-referrer.patch b/build/patches/Disallow-Android-App-Scheme-as-referrer.patch index 51c525be..8c489833 100644 --- a/build/patches/Disallow-Android-App-Scheme-as-referrer.patch +++ b/build/patches/Disallow-Android-App-Scheme-as-referrer.patch @@ -9,7 +9,7 @@ Subject: Disallow Android App Scheme as referrer diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -558,11 +558,6 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -525,11 +525,6 @@ void ChromeContentRendererClient::RenderThreadStarted() { // TODO(nyquist): Add test to ensure this happens when the flag is set. WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated(dom_distiller_scheme); diff --git a/build/patches/Do-not-build-API-keys-infobar.patch b/build/patches/Do-not-build-API-keys-infobar.patch index eb6ef860..8e41d7fa 100644 --- a/build/patches/Do-not-build-API-keys-infobar.patch +++ b/build/patches/Do-not-build-API-keys-infobar.patch @@ -4,26 +4,33 @@ Subject: Do not build API keys infobar License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/browser/ui/BUILD.gn | 2 -- + chrome/browser/ui/startup/BUILD.gn | 2 -- chrome/browser/ui/startup/infobar_utils.cc | 4 ---- 2 files changed, 6 deletions(-) -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 -@@ -1132,8 +1132,6 @@ static_library("ui") { - "startup/default_browser_prompt/default_browser_prompt_manager.h", - "startup/default_browser_prompt/default_browser_prompt_prefs.cc", - "startup/default_browser_prompt/default_browser_prompt_prefs.h", -- "startup/google_api_keys_infobar_delegate.cc", -- "startup/google_api_keys_infobar_delegate.h", - "startup/infobar_utils.cc", - "startup/infobar_utils.h", - "startup/launch_mode_recorder.cc", +diff --git a/chrome/browser/ui/startup/BUILD.gn b/chrome/browser/ui/startup/BUILD.gn +--- a/chrome/browser/ui/startup/BUILD.gn ++++ b/chrome/browser/ui/startup/BUILD.gn +@@ -42,7 +42,6 @@ source_set("startup") { + if (!is_android) { + sources += [ + "automation_infobar_delegate.h", +- "google_api_keys_infobar_delegate.h", + "infobar_utils.h", + "launch_mode_recorder.h", + "obsolete_system_infobar_delegate.h", +@@ -155,7 +154,6 @@ source_set("impl") { + if (!is_android) { + sources += [ + "automation_infobar_delegate.cc", +- "google_api_keys_infobar_delegate.cc", + "infobar_utils.cc", + "launch_mode_recorder.cc", + "obsolete_system_infobar_delegate.cc", diff --git a/chrome/browser/ui/startup/infobar_utils.cc b/chrome/browser/ui/startup/infobar_utils.cc --- a/chrome/browser/ui/startup/infobar_utils.cc +++ b/chrome/browser/ui/startup/infobar_utils.cc -@@ -171,10 +171,6 @@ void AddInfoBarsIfNecessary(Browser* browser, +@@ -175,10 +175,6 @@ void AddInfoBarsIfNecessary(Browser* browser, infobars::ContentInfoBarManager* infobar_manager = infobars::ContentInfoBarManager::FromWebContents(web_contents); diff --git a/build/patches/Do-not-compile-QR-code-sharing.patch b/build/patches/Do-not-compile-QR-code-sharing.patch index 3f110c63..9546c18e 100644 --- a/build/patches/Do-not-compile-QR-code-sharing.patch +++ b/build/patches/Do-not-compile-QR-code-sharing.patch @@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -3054,7 +3054,6 @@ if (_is_default_toolchain) { +@@ -3055,7 +3055,6 @@ if (_is_default_toolchain) { "../browser/share/android/java/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextBridge.java", "../browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabService.java", "../browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabServiceFactory.java", @@ -30,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn 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 -@@ -115,7 +115,6 @@ import org.chromium.chrome.browser.recent_tabs.RestoreTabsFeatureHelper; +@@ -118,7 +118,6 @@ import org.chromium.chrome.browser.recent_tabs.RestoreTabsFeatureHelper; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin; @@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager; import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler; import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController; -@@ -590,10 +589,6 @@ public class RootUiCoordinator +@@ -609,10 +608,6 @@ public class RootUiCoordinator } public void onAttachFragment(Fragment fragment) { @@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi 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 -@@ -1953,7 +1953,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1868,7 +1868,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { registry->RegisterBooleanPref(prefs::kUiAutomationProviderEnabled, false); #endif @@ -155,7 +155,7 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc -@@ -1937,10 +1937,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { +@@ -1964,10 +1964,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() { command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui); #endif command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU, @@ -172,7 +172,7 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc --- a/chrome/browser/ui/browser_commands.cc +++ b/chrome/browser/ui/browser_commands.cc -@@ -1852,6 +1852,7 @@ void SendTabToSelf(Browser* browser) { +@@ -1871,6 +1871,7 @@ void SendTabToSelf(Browser* browser) { } bool CanGenerateQrCode(const Browser* browser) { @@ -183,7 +183,7 @@ diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_c diff --git a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc --- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc +++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc -@@ -37,6 +37,7 @@ QRCodeGeneratorBubbleController::~QRCodeGeneratorBubbleController() { +@@ -38,6 +38,7 @@ QRCodeGeneratorBubbleController::~QRCodeGeneratorBubbleController() { // static bool QRCodeGeneratorBubbleController::IsGeneratorAvailable(const GURL& url) { diff --git a/build/patches/Do-not-ignore-download-location-prompt-setting.patch b/build/patches/Do-not-ignore-download-location-prompt-setting.patch index cd01c593..87e0fa77 100644 --- a/build/patches/Do-not-ignore-download-location-prompt-setting.patch +++ b/build/patches/Do-not-ignore-download-location-prompt-setting.patch @@ -10,13 +10,13 @@ Do not tick "Don't show again" by default License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../DownloadLocationDialogCoordinator.java | 16 ---------------- - 1 file changed, 16 deletions(-) + .../DownloadLocationDialogCoordinator.java | 17 ----------------- + 1 file changed, 17 deletions(-) diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java -@@ -159,22 +159,6 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties. +@@ -160,23 +160,6 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties. assertNonNull(mSuggestedPath); assertNonNull(mProfile); @@ -31,7 +31,8 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse - if (dir.type == DirectoryOption.DownloadLocationDirectoryType.DEFAULT) { - assert !TextUtils.isEmpty(dir.location); - DownloadDialogBridge.setDownloadAndSaveFileDefaultDirectory(mProfile, dir.location); -- mController.onDownloadLocationDialogComplete(mSuggestedPath); +- mController.onDownloadLocationDialogComplete( +- mSuggestedPath, /* didUserConfirm= */ false); - } - return; - } diff --git a/build/patches/Do-not-link-with-libatomic.patch b/build/patches/Do-not-link-with-libatomic.patch index 78def690..75240599 100644 --- a/build/patches/Do-not-link-with-libatomic.patch +++ b/build/patches/Do-not-link-with-libatomic.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -1104,7 +1104,7 @@ component("base") { +@@ -1112,7 +1112,7 @@ component("base") { # more robust check for this. if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) && host_toolchain != "//build/toolchain/cros:host") { diff --git a/build/patches/Do-not-store-passwords-by-default.patch b/build/patches/Do-not-store-passwords-by-default.patch index baf2d031..60be8719 100644 --- a/build/patches/Do-not-store-passwords-by-default.patch +++ b/build/patches/Do-not-store-passwords-by-default.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc --- a/components/password_manager/core/browser/password_manager.cc +++ b/components/password_manager/core/browser/password_manager.cc -@@ -411,7 +411,7 @@ void RecordProvisionalSaveFailure( +@@ -504,7 +504,7 @@ void HandleFailedLoginDetectionForPasswordChange( void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( @@ -19,7 +19,7 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); #if BUILDFLAG(IS_IOS) // Deprecated pref in profile prefs. -@@ -419,7 +419,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -512,7 +512,7 @@ void PasswordManager::RegisterProfilePrefs( false); #endif // BUILDFLAG(IS_IOS) registry->RegisterBooleanPref( @@ -28,7 +28,7 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); registry->RegisterBooleanPref( prefs::kWasAutoSignInFirstRunExperienceShown, false, -@@ -456,9 +456,9 @@ void PasswordManager::RegisterProfilePrefs( +@@ -549,9 +549,9 @@ void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref(prefs::kPasswordsPrefWithNewLabelUsed, false); #if BUILDFLAG(IS_ANDROID) @@ -37,7 +37,7 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp registry->RegisterBooleanPref(prefs::kAccountStorageNoticeShown, false); - registry->RegisterBooleanPref(prefs::kAutoSignInEnabledGMS, true); + registry->RegisterBooleanPref(prefs::kAutoSignInEnabledGMS, false); - registry->RegisterBooleanPref(prefs::kSettingsMigratedToUPMLocal, false); + RegisterLegacySplitStoresPref(registry); + registry->RegisterStringPref(prefs::kUPMErrorUIShownTimestamp, "0"); registry->RegisterIntegerPref( - prefs::kCurrentMigrationVersionToGoogleMobileServices, 0); -- diff --git a/build/patches/Enable-Android-Dynamic-Performance-Framework.patch b/build/patches/Enable-Android-Dynamic-Performance-Framework.patch index 401a018d..a27cc564 100644 --- a/build/patches/Enable-Android-Dynamic-Performance-Framework.patch +++ b/build/patches/Enable-Android-Dynamic-Performance-Framework.patch @@ -12,16 +12,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/version.gni b/chrome/version.gni --- a/chrome/version.gni +++ b/chrome/version.gni -@@ -80,7 +80,7 @@ if (target_os == "android") { - "trichrome_auto_64_version_code = \"@TRICHROME_AUTO_64_VERSION_CODE@\" " +@@ -79,7 +79,7 @@ if (target_os == "android") { _version_dictionary_template += - "trichrome_desktop_64_version_code = \"@TRICHROME_DESKTOP_64_VERSION_CODE@\" " + "trichrome_auto_64_version_code = \"@TRICHROME_AUTO_64_VERSION_CODE@\" " + _version_dictionary_template += "trichrome_desktop_64_version_code = \"@TRICHROME_DESKTOP_64_VERSION_CODE@\" " - if (target_cpu == "arm64") { + if (target_cpu == "arm64" || target_cpu == "x64") { _version_dictionary_template += "trichrome_64_32_high_version_code = \"@TRICHROME_64_32_HIGH_VERSION_CODE@\" " _version_dictionary_template += "trichrome_auto_64_32_high_version_code = \"@TRICHROME_AUTO_64_32_HIGH_VERSION_CODE@\" " } -@@ -188,7 +188,7 @@ if (is_mac) { +@@ -198,7 +198,7 @@ if (is_mac) { chrome_version_name = chrome_version_full # There is a different version code only for arm64. @@ -33,7 +33,7 @@ diff --git a/chrome/version.gni b/chrome/version.gni diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc --- a/components/viz/common/features.cc +++ b/components/viz/common/features.cc -@@ -216,6 +216,7 @@ const base::FeatureParam kWebViewADPFSocManufacturerBlocklist{ +@@ -228,6 +228,7 @@ const base::FeatureParam kWebViewADPFSocManufacturerBlocklist{ BASE_FEATURE(kWebViewEnableADPFRendererMain, "WebViewEnableADPFRendererMain", base::FEATURE_DISABLED_BY_DEFAULT); @@ -41,7 +41,7 @@ diff --git a/components/viz/common/features.cc b/components/viz/common/features. // If enabled, the GPU Main thread is included in the set of threads reported // to the HWUI. This feature works only when WebViewEnableADPF is enabled, -@@ -325,6 +326,7 @@ BASE_FEATURE(kEnableInteractiveOnlyADPFRenderer, +@@ -328,6 +329,7 @@ BASE_FEATURE(kEnableInteractiveOnlyADPFRenderer, // If enabled, Chrome includes the Compositor GPU Thread into the // ADPF(Android Dynamic Performance Framework) hint session, instead // of the GPU Main Thread. diff --git a/build/patches/Enable-Cert-Management-UI.patch b/build/patches/Enable-Cert-Management-UI.patch index 5b67d95d..5cad0819 100644 --- a/build/patches/Enable-Cert-Management-UI.patch +++ b/build/patches/Enable-Cert-Management-UI.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/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 -@@ -547,7 +547,12 @@ void ProfileNetworkContextService::RegisterProfilePrefs( +@@ -632,7 +632,12 @@ void ProfileNetworkContextService::RegisterProfilePrefs( registry->RegisterListPref(prefs::kCAHintCertificates); #if !BUILDFLAG(IS_CHROMEOS) // Include user added platform certs by default. diff --git a/build/patches/Enable-Certificate-Transparency.patch b/build/patches/Enable-Certificate-Transparency.patch index 248716ae..39875368 100644 --- a/build/patches/Enable-Certificate-Transparency.patch +++ b/build/patches/Enable-Certificate-Transparency.patch @@ -24,10 +24,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html 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 -@@ -34,6 +34,7 @@ BASE_DECLARE_FEATURE(kAllowUnmutedAutoplayForTWA); - BASE_DECLARE_FEATURE(kAutocompleteActionPredictorConfidenceCutoff); +@@ -35,6 +35,7 @@ BASE_DECLARE_FEATURE(kAutocompleteActionPredictorConfidenceCutoff); BASE_DECLARE_FEATURE(kBookmarksTreeView); BASE_DECLARE_FEATURE(kBookmarkTriggerForPrerender2); + BASE_DECLARE_FEATURE(kBookmarkTriggerForPreconnect); +BASE_DECLARE_FEATURE(kCertificateTransparency); BASE_DECLARE_FEATURE(kCertificateTransparencyAskBeforeEnabling); BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); @@ -35,7 +35,7 @@ diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -1042,7 +1042,7 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { +@@ -1110,7 +1110,7 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() { // - on an opt-in basis for other builds and embedders, controlled with the // kCertificateTransparencyAskBeforeEnabling flag return base::FeatureList::IsEnabled( @@ -94,7 +94,7 @@ new file mode 100644 diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc --- a/net/http/transport_security_state.cc +++ b/net/http/transport_security_state.cc -@@ -191,6 +191,7 @@ class HSTSPreloadDecoder : public extras::PreloadDecoder { +@@ -183,6 +183,7 @@ class HSTSPreloadDecoder : public extras::PreloadDecoder { bool DecodeHSTSPreload(std::string_view search_hostname, PreloadResult* out) { #if !BUILDFLAG(INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST) diff --git a/build/patches/Enable-Document-Open-Inheritance-Removal.patch b/build/patches/Enable-Document-Open-Inheritance-Removal.patch index eb2d2018..a9ec4ca3 100644 --- a/build/patches/Enable-Document-Open-Inheritance-Removal.patch +++ b/build/patches/Enable-Document-Open-Inheritance-Removal.patch @@ -11,7 +11,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/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 -@@ -3679,70 +3679,6 @@ void Document::open(LocalDOMWindow* entered_window, +@@ -3810,70 +3810,6 @@ void Document::open(LocalDOMWindow* entered_window, // https://chromestatus.com/metrics/feature/timeline/popularity/4375 CountUse(WebFeature::kDocumentOpenMutateSandbox); } @@ -85,12 +85,12 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1901,7 +1901,6 @@ +@@ -1882,7 +1882,6 @@ { name: "DocumentOpenSandboxInheritanceRemoval", status: "stable", - copied_from_base_feature_if: "overridden", }, - { - name: "DocumentPictureInPictureAPI", + // https://chromestatus.com/feature/5111042975465472 + // document.patch, +- +\ No newline at end of file ++ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -@@ -85,6 +85,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -84,6 +84,23 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { static get properties() { return { @@ -244,7 +251,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch isGuest_: { type: Boolean, value() { -@@ -337,6 +354,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -341,6 +358,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { }; } @@ -255,7 +262,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch 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 -@@ -1414,6 +1414,18 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1158,6 +1158,18 @@ Your Google account may have other forms of browsing history like searches and a Browsing history @@ -277,7 +284,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2002,6 +2002,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2055,6 +2055,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, IDS_SETTINGS_SAFEBROWSING_ENHANCED_THINGS_TO_CONSIDER_BULLET_THREE}, {"safeBrowsingStandard", IDS_SETTINGS_SAFEBROWSING_STANDARD}, {"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC}, @@ -648,7 +655,7 @@ diff --git a/components/history_embeddings/sql_database.cc b/components/history_ diff --git a/components/omnibox/browser/shortcuts_backend.cc b/components/omnibox/browser/shortcuts_backend.cc --- a/components/omnibox/browser/shortcuts_backend.cc +++ b/components/omnibox/browser/shortcuts_backend.cc -@@ -545,7 +545,7 @@ void ShortcutsBackend::ComputeDatabaseMetrics() { +@@ -556,7 +556,7 @@ void ShortcutsBackend::ComputeDatabaseMetrics() { const base::Time now(base::Time::Now()); for (const auto& shortcut_pair : shortcuts_map_) { if (now - shortcut_pair.second.last_access_time > @@ -657,7 +664,7 @@ diff --git a/components/omnibox/browser/shortcuts_backend.cc b/components/omnibo num_old_shortcuts++; } } -@@ -715,7 +715,7 @@ ShortcutsDatabase::ShortcutIDs ShortcutsBackend::GetShortcutsWithExpiredTime() +@@ -726,7 +726,7 @@ ShortcutsDatabase::ShortcutIDs ShortcutsBackend::GetShortcutsWithExpiredTime() const base::Time now(base::Time::Now()); for (const auto& guid_pair : guid_map_) { if (now - guid_pair.second->second.last_access_time > diff --git a/build/patches/Improve-the-browser-sandbox.patch b/build/patches/Improve-the-browser-sandbox.patch index a6ee7500..9c36bace 100644 --- a/build/patches/Improve-the-browser-sandbox.patch +++ b/build/patches/Improve-the-browser-sandbox.patch @@ -30,7 +30,7 @@ new file mode 100644 diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc --- a/sandbox/policy/features.cc +++ b/sandbox/policy/features.cc -@@ -224,4 +224,13 @@ bool IsParallelLaunchEnabled() { +@@ -210,4 +210,13 @@ bool IsParallelLaunchEnabled() { return base::FeatureList::IsEnabled(kWinSboxParallelProcessLaunch); } #endif // BUILDFLAG(IS_WIN) diff --git a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch index 48edecec..6defba87 100644 --- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch +++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc --- a/components/omnibox/browser/autocomplete_result.cc +++ b/components/omnibox/browser/autocomplete_result.cc -@@ -98,10 +98,11 @@ constexpr size_t kMaxPedalMatchIndex = +@@ -112,10 +112,11 @@ omnibox::ChromeAimEntryPoint GetAimActionEntrypointID() { size_t AutocompleteResult::GetMaxMatches( bool is_zero_suggest, AutocompleteInput::FeaturedKeywordMode featured_keyword_mode) { @@ -30,7 +30,7 @@ diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omni diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc --- a/components/omnibox/browser/omnibox_field_trial.cc +++ b/components/omnibox/browser/omnibox_field_trial.cc -@@ -297,7 +297,11 @@ void OmniboxFieldTrial::GetDemotionsByType( +@@ -172,7 +172,11 @@ void OmniboxFieldTrial::GetActiveSuggestFieldTrialHashes( size_t OmniboxFieldTrial::GetProviderMaxMatches( AutocompleteProvider::Type provider) { diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch index dd0dde53..32f0a66b 100644 --- a/build/patches/Internal-firewall.patch +++ b/build/patches/Internal-firewall.patch @@ -59,7 +59,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2569,6 +2569,7 @@ static_library("browser") { +@@ -2584,6 +2584,7 @@ static_library("browser") { "//third_party/ungoogled:switches", "//services/device/public/mojom", "//services/device/public/mojom:usb", @@ -70,7 +70,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -235,6 +235,7 @@ +@@ -233,6 +233,7 @@ #include "sandbox/policy/features.h" #include "sandbox/policy/switches.h" #include "services/device/public/cpp/device_features.h" @@ -289,12 +289,12 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1156,6 +1156,7 @@ component("net") { +@@ -1161,6 +1161,7 @@ component("net") { "//components/network_time/time_tracker", "//components/network_session_configurator/common", "//net/http:transport_security_state_generated_files", + "//services/firewall/public:firewall_builders", - "//third_party/simdutf:simdutf", + "//third_party/simdutf", ] diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_annotation/network_traffic_annotation.h @@ -314,7 +314,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -429,6 +429,9 @@ URLRequestHttpJob::URLRequestHttpJob( +@@ -439,6 +439,9 @@ URLRequestHttpJob::URLRequestHttpJob( : URLRequestJob(request), http_user_agent_settings_(http_user_agent_settings) { ResetTimer(); @@ -324,7 +324,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } URLRequestHttpJob::~URLRequestHttpJob() { -@@ -718,6 +721,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { +@@ -728,6 +731,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { void URLRequestHttpJob::StartTransactionInternal() { DCHECK(!override_response_headers_); @@ -1665,7 +1665,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont #include "services/network/brokered_client_socket_factory.h" #include "services/network/connection_change_observer.h" #include "services/network/cookie_manager.h" -@@ -1817,6 +1818,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { +@@ -1818,6 +1819,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { void NetworkContext::CreateUDPSocket( mojo::PendingReceiver receiver, mojo::PendingRemote listener) { @@ -1675,7 +1675,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener)); } -@@ -1829,6 +1833,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1830,6 +1834,17 @@ void NetworkContext::CreateRestrictedUDPSocket( mojo::PendingRemote listener, CreateRestrictedUDPSocketCallback callback) { // SimpleHostResolver is transitively owned by |this|. @@ -1693,7 +1693,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateRestrictedUDPSocket( addr, mode, traffic_annotation, std::move(params), std::move(receiver), std::move(listener), SimpleHostResolver::Create(this), -@@ -1841,6 +1856,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1842,6 +1857,17 @@ void NetworkContext::CreateTCPServerSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPServerSocketCallback callback) { @@ -1711,7 +1711,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPServerSocket( local_addr, std::move(options), static_cast(traffic_annotation), -@@ -1855,6 +1881,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1856,6 +1882,21 @@ void NetworkContext::CreateTCPConnectedSocket( mojo::PendingReceiver receiver, mojo::PendingRemote observer, CreateTCPConnectedSocketCallback callback) { @@ -1733,7 +1733,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPConnectedSocket( local_addr, remote_addr_list, std::move(tcp_connected_socket_options), static_cast(traffic_annotation), -@@ -1866,6 +1907,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1867,6 +1908,20 @@ void NetworkContext::CreateTCPBoundSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPBoundSocketCallback callback) { @@ -1754,7 +1754,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPBoundSocket( local_addr, static_cast(traffic_annotation), -@@ -1932,6 +1987,24 @@ void NetworkContext::CreateWebSocket( +@@ -1933,6 +1988,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const std::optional& throttling_profile_id) { @@ -2056,7 +2056,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_utils.cc b/t diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc --- a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc +++ b/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loader.cc -@@ -279,7 +279,7 @@ void URLLoader::Context::Start( +@@ -278,7 +278,7 @@ void URLLoader::Context::Start( download_to_blob_registry.InitWithNewPipeAndPassReceiver()); } net::NetworkTrafficAnnotationTag tag = @@ -2065,7 +2065,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/url_loader/url_loa resource_request_sender_->SendSync( std::move(request), tag, loader_options, sync_load_response, url_loader_factory_, std::move(throttles), timeout_interval, -@@ -292,7 +292,7 @@ void URLLoader::Context::Start( +@@ -291,7 +291,7 @@ void URLLoader::Context::Start( TRACE_EVENT_WITH_FLOW0("loading", "URLLoader::Context::Start", this, TRACE_EVENT_FLAG_FLOW_OUT); net::NetworkTrafficAnnotationTag tag = diff --git a/build/patches/Invalidate-components-public-key.patch b/build/patches/Invalidate-components-public-key.patch index d22fe2d8..ffdab5c8 100644 --- a/build/patches/Invalidate-components-public-key.patch +++ b/build/patches/Invalidate-components-public-key.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/component_updater/pki_metadata_component_installer.cc b/chrome/browser/component_updater/pki_metadata_component_installer.cc --- a/chrome/browser/component_updater/pki_metadata_component_installer.cc +++ b/chrome/browser/component_updater/pki_metadata_component_installer.cc -@@ -79,7 +79,8 @@ const uint64_t kMaxSupportedKPCompatibilityVersion = 1; +@@ -81,7 +81,8 @@ const uint64_t kMaxSupportedKPCompatibilityVersion = 1; // The extension id is: efniojlnjndmcbiieegkicadnoecjjef const uint8_t kPKIMetadataPublicKeySHA256[32] = { 0x45, 0xd8, 0xe9, 0xbd, 0x9d, 0x3c, 0x21, 0x88, 0x44, 0x6a, 0x82, diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch index e12710c8..39020416 100644 --- a/build/patches/Keep-ComputePressure-disabled.patch +++ b/build/patches/Keep-ComputePressure-disabled.patch @@ -10,8 +10,8 @@ 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 -@@ -1024,11 +1024,9 @@ - status: "stable", +@@ -1047,11 +1047,9 @@ + status: "experimental", }, { - name: "ComputePressure", diff --git a/build/patches/Keep-Manta-Service-Disabled.patch b/build/patches/Keep-Manta-Service-Disabled.patch index 995292b9..1be5cb6f 100644 --- a/build/patches/Keep-Manta-Service-Disabled.patch +++ b/build/patches/Keep-Manta-Service-Disabled.patch @@ -3,19 +3,25 @@ Date: Tue, 31 Oct 2023 16:20:12 +0000 Subject: Keep Manta Service Disabled --- - components/manta/features.cc | 7 +++++++ - 1 file changed, 7 insertions(+) + .../profiles/chrome_browser_main_extra_parts_profiles.cc | 1 - + components/manta/features.cc | 6 ++++++ + 2 files changed, 6 insertions(+), 1 deletion(-) +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 +@@ -1019,7 +1019,6 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if !BUILDFLAG(IS_ANDROID) + ManagedConfigurationAPIFactory::GetInstance(); + #endif +- manta::MantaServiceFactory::GetInstance(); + MediaDeviceSaltServiceFactory::GetInstance(); + #if !BUILDFLAG(IS_ANDROID) + media_router::AccessCodeCastSinkServiceFactory::GetInstance(); diff --git a/components/manta/features.cc b/components/manta/features.cc --- a/components/manta/features.cc +++ b/components/manta/features.cc -@@ -9,36 +9,43 @@ - namespace manta::features { - - BASE_FEATURE(kMantaService, "MantaService", base::FEATURE_ENABLED_BY_DEFAULT); -+SET_CROMITE_FEATURE_DISABLED(kMantaService); - - // Enables Anchovy Prod Server +@@ -12,31 +12,37 @@ namespace manta::features { BASE_FEATURE(kAnchovyUseProdServer, "AnchovyUseProdServer", base::FEATURE_ENABLED_BY_DEFAULT); @@ -51,6 +57,6 @@ diff --git a/components/manta/features.cc b/components/manta/features.cc base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kWalrusUseProdServer); - bool IsMantaServiceEnabled() { - return base::FeatureList::IsEnabled(kMantaService); + bool IsAnchovyUseProdServerEnabled() { + return base::FeatureList::IsEnabled(kAnchovyUseProdServer); -- diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index a8ba660b..398ca21b 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -22,8 +22,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/loader/keep_alive_url_loader.cc --- a/content/browser/loader/keep_alive_url_loader.cc +++ b/content/browser/loader/keep_alive_url_loader.cc -@@ -44,6 +44,36 @@ - #include "services/network/public/mojom/url_request.mojom.h" +@@ -49,6 +49,36 @@ + #include "third_party/abseil-cpp/absl/container/flat_hash_map.h" #include "third_party/blink/public/common/features.h" +namespace { @@ -59,7 +59,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l namespace features { // See third_party/blink/renderer/core/fetch/retry_options.idl for details of -@@ -416,7 +446,6 @@ KeepAliveURLLoader::KeepAliveURLLoader( +@@ -436,7 +466,6 @@ KeepAliveURLLoader::KeepAliveURLLoader( forwarding_client_( std::make_unique(this, std::move(forwarding_client))), @@ -67,7 +67,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l network_loader_factory_(std::move(network_loader_factory)), stored_url_load_(std::make_unique()), policy_container_host_(std::move(policy_container_host)), -@@ -492,7 +521,7 @@ void KeepAliveURLLoader::StartInternal(bool is_retry) { +@@ -512,7 +541,7 @@ void KeepAliveURLLoader::StartInternal(bool is_retry) { url_loader_ = blink::ThrottlingURLLoader::CreateLoaderAndStart( network_loader_factory_, throttles_getter_.Run(), request_id_, options_, &resource_request_, forwarding_client_.get(), @@ -79,7 +79,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l diff --git a/content/browser/loader/keep_alive_url_loader.h b/content/browser/loader/keep_alive_url_loader.h --- a/content/browser/loader/keep_alive_url_loader.h +++ b/content/browser/loader/keep_alive_url_loader.h -@@ -427,9 +427,6 @@ class CONTENT_EXPORT KeepAliveURLLoader +@@ -429,9 +429,6 @@ class CONTENT_EXPORT KeepAliveURLLoader // disconnected from the remote of URLLoader in the renderer. base::OneShotTimer disconnected_loader_timer_; @@ -99,7 +99,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_party/blink/renderer/core/fetch/fetch_manager.cc --- a/third_party/blink/renderer/core/fetch/fetch_manager.cc +++ b/third_party/blink/renderer/core/fetch/fetch_manager.cc -@@ -271,6 +271,7 @@ class ResponseResolver final : public GarbageCollected { +@@ -276,6 +276,7 @@ class ResponseResolver final : public GarbageCollected { // Rejects the promise with the supplied object. void Reject(v8::Local error); void Reject(DOMException*); @@ -107,7 +107,7 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part // Rejects the promise with the TypeError exception created at construction // time. Also optionally passes `devtools_request_id`, `issue_id`, and -@@ -326,6 +327,12 @@ void ResponseResolver::Reject(DOMException* dom_exception) { +@@ -331,6 +332,12 @@ void ResponseResolver::Reject(DOMException* dom_exception) { Clear(); } @@ -120,7 +120,7 @@ diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_part void ResponseResolver::RejectBecauseFailed( std::optional devtools_request_id, std::optional issue_id, -@@ -1302,10 +1309,20 @@ void FetchManager::Loader::Failed( +@@ -1312,10 +1319,20 @@ void FetchManager::Loader::Failed( if (response_resolver_) { ScriptState::Scope scope(GetScriptState()); if (dom_exception) { @@ -177,7 +177,7 @@ diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -2998,7 +2998,7 @@ void ResourceFetcher::PrepareForLeakDetection() { +@@ -2994,7 +2994,7 @@ void ResourceFetcher::PrepareForLeakDetection() { void ResourceFetcher::StopFetchingInternal(StopFetchingTarget target) { // TODO(toyoshim): May want to suspend scheduler while canceling loaders so // that the cancellations below do not awake unnecessary scheduling. @@ -189,7 +189,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.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 -@@ -2205,8 +2205,8 @@ +@@ -2179,8 +2179,8 @@ { // The Blink runtime-enabled feature name for the API's IDL. // https://chromestatus.com/feature/4654499737632768 diff --git a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch index 48ec2e62..d8c3f069 100644 --- a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch +++ b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc --- a/android_webview/common/aw_features.cc +++ b/android_webview/common/aw_features.cc -@@ -81,6 +81,7 @@ BASE_FEATURE(kWebViewLazyFetchHandWritingIcon, +@@ -74,6 +74,7 @@ BASE_FEATURE(kWebViewLazyFetchHandWritingIcon, BASE_FEATURE(kWebViewMediaIntegrityApiBlinkExtension, "WebViewMediaIntegrityApiBlinkExtension", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch index cd72cd34..f1634c13 100644 --- a/build/patches/Keep-empty-tabs-between-sessions.patch +++ b/build/patches/Keep-empty-tabs-between-sessions.patch @@ -12,10 +12,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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 -@@ -971,7 +971,7 @@ public class MultiWindowUtils implements ActivityStateListener { +@@ -1001,7 +1001,7 @@ public class MultiWindowUtils implements ActivityStateListener { for (TabModel model : models) { for (int i = 0; i < model.getCount(); i++) { - Tab tab = model.getTabAt(i); + Tab tab = model.getTabAtChecked(i); - if (!TabPersistentStore.shouldSkipTab(tab)) { + if ((true)) { totalCount++; @@ -24,7 +24,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/Mul diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java -@@ -1268,27 +1268,12 @@ public class TabPersistentStore { +@@ -2108,27 +2108,12 @@ public class TabPersistentStore { continue; } @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer - return tab.getTabGroupId() == null; - } - - private void saveListToFile(TabModelSelectorMetadata listData) { - if (Objects.equals(mLastSavedMetadata, listData)) return; - // Save the index file containing the list of tabs to restore. + /** + * @return The shared pref APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE. This is used when we need to + * know the last known tab state before the active tab from the tab state is read. -- diff --git a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch index 61b183a7..1009f654 100644 --- a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch +++ b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch @@ -28,15 +28,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/incognito/Incog 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 -@@ -5802,9 +5802,9 @@ +@@ -5855,10 +5855,10 @@ "expiry_milestone": -1 }, { - "name": "incognito-screenshot", - "owners": [ "zalmashni@google.com", "sideyilmaz@chromium.org", "chrome-incognito@google.com" ], -- "expiry_milestone": 140 + "name": "incognito-screenshot", // Bromite: guard this feature flag + "owners": [ "zalmashni@google.com", "sideyilmaz@chromium.org", "chrome-incognito@google.com" ], // - + // This flag is used by testers and developers to screenshot incognito features. +- "expiry_milestone": -1 + "expiry_milestone": -1 // - }, { diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch index e0fc1704..fed69bfe 100644 --- a/build/patches/Keyboard-protection-flag.patch +++ b/build/patches/Keyboard-protection-flag.patch @@ -23,7 +23,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 -@@ -1028,6 +1028,11 @@ public final class ProductionSupportedFlagList { +@@ -1002,6 +1002,11 @@ public final class ProductionSupportedFlagList { CcFeatures.EXPORT_FRAME_TIMING_AFTER_FRAME_DONE, "When enabled, moves the layer tree client's metric export call for from beginning" + " of the subsequent frame to the end of the subsequent frame."), @@ -233,7 +233,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_par diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -195,6 +195,14 @@ BASE_FEATURE(kSystemKeyboardLock, +@@ -159,6 +159,14 @@ BASE_FEATURE(kSystemKeyboardLock, "SystemKeyboardLock", base::FEATURE_ENABLED_BY_DEFAULT); @@ -251,9 +251,9 @@ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h --- a/ui/base/ui_base_features.h +++ b/ui/base/ui_base_features.h -@@ -26,6 +26,8 @@ BASE_DECLARE_FEATURE(kSettingsShowsPerKeyboardSettings); - COMPONENT_EXPORT(UI_BASE_FEATURES) - BASE_DECLARE_FEATURE(kInputMethodSettingsUiUpdate); +@@ -24,6 +24,8 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) + BASE_DECLARE_FEATURE(kSettingsShowsPerKeyboardSettings); + #endif // BUILDFLAG(IS_CHROMEOS) COMPONENT_EXPORT(UI_BASE_FEATURES) BASE_DECLARE_FEATURE(kSystemKeyboardLock); +COMPONENT_EXPORT(UI_BASE_FEATURES) BASE_DECLARE_FEATURE(kSystemKeyboardProtection); +COMPONENT_EXPORT(UI_BASE_FEATURES) bool IsSystemKeyboardProtectionEnabled(); diff --git a/build/patches/Lock-Profile-Cookie-Database.patch b/build/patches/Lock-Profile-Cookie-Database.patch index 42d60889..6b2db280 100644 --- a/build/patches/Lock-Profile-Cookie-Database.patch +++ b/build/patches/Lock-Profile-Cookie-Database.patch @@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -1384,6 +1384,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -1389,6 +1389,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( network_context_params->file_paths->cookie_database_name = base::FilePath(chrome::kCookieFilename); @@ -56,7 +56,7 @@ new file mode 100644 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 -@@ -3181,7 +3181,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const { +@@ -3188,7 +3188,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const { #if BUILDFLAG(IS_WIN) const bool enable_exclusive_access = @@ -68,7 +68,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont 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 -@@ -354,6 +354,14 @@ struct NetworkContextParams { +@@ -360,6 +360,14 @@ struct NetworkContextParams { // If true, cookies will be stored encrypted. bool enable_encrypted_cookies = true; diff --git a/build/patches/Log-dangling-attributes-in-some-html-elements.patch b/build/patches/Log-dangling-attributes-in-some-html-elements.patch index 4dee0833..ce501937 100644 --- a/build/patches/Log-dangling-attributes-in-some-html-elements.patch +++ b/build/patches/Log-dangling-attributes-in-some-html-elements.patch @@ -42,7 +42,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 -@@ -4902,6 +4902,14 @@ void Document::ProcessBaseElement() { +@@ -5052,6 +5052,14 @@ void Document::ProcessBaseElement() { KURL base_element_url; if (href) { String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href); @@ -57,7 +57,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (!stripped_href.empty()) base_element_url = KURL(FallbackBaseURL(), stripped_href); } -@@ -4919,6 +4927,14 @@ void Document::ProcessBaseElement() { +@@ -5069,6 +5077,14 @@ void Document::ProcessBaseElement() { !GetExecutionContext()->GetSecurityOrigin()->CanRequest( base_element_url)) { UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref); @@ -72,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink } } -@@ -4949,6 +4965,8 @@ void Document::ProcessBaseElement() { +@@ -5099,6 +5115,8 @@ void Document::ProcessBaseElement() { if (target->Contains('<')) UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget); base_target_ = *target; @@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc -@@ -3495,8 +3495,26 @@ void Element::StripScriptingAttributes( +@@ -3632,8 +3632,26 @@ void Element::StripScriptingAttributes( attribute_vector.Shrink(destination); } @@ -115,7 +115,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/renderer/core/dom/element.h --- a/third_party/blink/renderer/core/dom/element.h +++ b/third_party/blink/renderer/core/dom/element.h -@@ -740,7 +740,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { +@@ -764,7 +764,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { virtual bool HasLegalLinkAttribute(const QualifiedName&) const; // Only called by the parser immediately after element construction. @@ -137,7 +137,7 @@ diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatte #include "third_party/blink/renderer/core/dom/cdata_section.h" #include "third_party/blink/renderer/core/dom/comment.h" #include "third_party/blink/renderer/core/dom/document.h" -@@ -216,6 +218,13 @@ void MarkupFormatter::AppendAttributeValue(StringBuilder& result, +@@ -214,6 +216,13 @@ void MarkupFormatter::AppendAttributeValue(StringBuilder& result, const Document& document) { if (attribute.Contains('<') || attribute.Contains('>')) { document.CountUse(mojom::blink::WebFeature::kAttributeValueContainsLtOrGt); @@ -214,7 +214,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc --- a/third_party/blink/renderer/core/html/html_iframe_element.cc +++ b/third_party/blink/renderer/core/html/html_iframe_element.cc -@@ -166,6 +166,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute( +@@ -168,6 +168,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute( } } @@ -227,7 +227,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third void HTMLIFrameElement::ParseAttribute( const AttributeModificationParams& params) { const QualifiedName& name = params.name; -@@ -180,6 +186,16 @@ void HTMLIFrameElement::ParseAttribute( +@@ -182,6 +188,16 @@ void HTMLIFrameElement::ParseAttribute( } AtomicString old_name = name_; name_ = value; @@ -247,9 +247,9 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_party/blink/renderer/core/html/html_iframe_element.h --- a/third_party/blink/renderer/core/html/html_iframe_element.h +++ b/third_party/blink/renderer/core/html/html_iframe_element.h -@@ -65,6 +65,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase, - - void NaturalSizingInfoChanged() override; +@@ -68,6 +68,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase, + const V8UnionStringOrTrustedHTML* srcdoc() const; + void setSrcdoc(const V8UnionStringOrTrustedHTML*, ExceptionState&); + void ParserSetAttributes(Vector&) override; + @@ -331,9 +331,9 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2025,8 +2025,8 @@ +@@ -2018,8 +2018,8 @@ // Escapes "<" and ">" in attribute values. This was launched - // in M138, and this flag can be removed in M140. + // in M139, and this flag can be removed in M141. // See: crbug.com/1175016 - name: "EscapeLtGtInAttributes", - status: "stable", @@ -341,8 +341,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + status: "stable", // enabled by default }, { - name: "EventTimingHandleKeyboardEventSimulatedClick", -@@ -3078,6 +3078,12 @@ + name: "EventTimingInteractionCount", +@@ -3013,6 +3013,12 @@ name: "MacDisableCtrlHomeEnd", status: "stable", }, diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch index 96ebf407..7e4e3baf 100644 --- a/build/patches/Logcat-crash-reports-UI.patch +++ b/build/patches/Logcat-crash-reports-UI.patch @@ -153,7 +153,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -647,6 +647,7 @@ static_library("ui") { +@@ -639,6 +639,7 @@ static_library("ui") { "//third_party/re2", "//third_party/webrtc_overrides:webrtc_component", "//third_party/zlib", diff --git a/build/patches/Media-fingerprinting-mitigations.patch b/build/patches/Media-fingerprinting-mitigations.patch index bf330c29..3b88245a 100644 --- a/build/patches/Media-fingerprinting-mitigations.patch +++ b/build/patches/Media-fingerprinting-mitigations.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc --- a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc +++ b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc -@@ -302,7 +302,7 @@ ScriptPromise VideoDecoder::isConfigSupported( +@@ -301,7 +301,7 @@ ScriptPromise VideoDecoder::isConfigSupported( auto* config_copy = CopyConfig(*config); // Run the "Check Configuration Support" algorithm. diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch index 179f2a19..1fab63c0 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -31,7 +31,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 -@@ -86,6 +86,7 @@ +@@ -85,6 +85,7 @@ #include "components/autofill/core/common/autofill_payments_features.h" #include "components/autofill/core/common/autofill_switches.h" #include "components/autofill/core/common/autofill_util.h" @@ -78,7 +78,7 @@ diff --git a/chrome/browser/preloading/preloading_prefs.h b/chrome/browser/prelo diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc --- a/chrome/browser/profiles/profile.cc +++ b/chrome/browser/profiles/profile.cc -@@ -318,7 +318,7 @@ const char Profile::kProfileKey[] = "__PROFILE__"; +@@ -325,7 +325,7 @@ const char Profile::kProfileKey[] = "__PROFILE__"; void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( prefs::kSearchSuggestEnabled, @@ -102,7 +102,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -113,10 +113,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -117,10 +117,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); registry->RegisterBooleanPref( @@ -115,7 +115,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup); registry->RegisterDictionaryPref(prefs::kAppWindowPlacement); -@@ -189,7 +189,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -194,7 +194,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { #endif registry->RegisterBooleanPref( @@ -218,8 +218,8 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -151,7 +151,7 @@ void ContentSettingsRegistry::Init() { - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +@@ -157,7 +157,7 @@ void ContentSettingsRegistry::Init() { + PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::NOTIFICATIONS, "notifications", - CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, @@ -227,8 +227,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. /*allowlisted_primary_schemes=*/{}, /*valid_settings=*/ {CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, CONTENT_SETTING_ASK}, -@@ -239,7 +239,7 @@ void ContentSettingsRegistry::Init() { - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +@@ -245,7 +245,7 @@ void ContentSettingsRegistry::Init() { + PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::BACKGROUND_SYNC, "background-sync", - CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::UNSYNCABLE, @@ -236,7 +236,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. /*allowlisted_primary_schemes=*/{}, /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, -@@ -385,7 +385,7 @@ void ContentSettingsRegistry::Init() { +@@ -391,7 +391,7 @@ void ContentSettingsRegistry::Init() { // TODO(crbug.com/40602007): Update this to "SECURE_ONLY" once // DeviceOrientationEvents and DeviceMotionEvents are only fired in secure // contexts. @@ -291,7 +291,7 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo diff --git a/components/signin/internal/identity_manager/primary_account_manager.cc b/components/signin/internal/identity_manager/primary_account_manager.cc --- a/components/signin/internal/identity_manager/primary_account_manager.cc +++ b/components/signin/internal/identity_manager/primary_account_manager.cc -@@ -342,7 +342,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -331,7 +331,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kGoogleServicesSyncingGaiaIdMigratedToSignedIn, std::string()); registry->RegisterStringPref( prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string()); diff --git a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch index fb291d69..5784d9d3 100644 --- a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch +++ b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch @@ -108,7 +108,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 -@@ -436,6 +436,10 @@ For more settings that use data to improve your Chrome experience, go to diff --git a/build/patches/Multi-Screen-Window-Placement-API-fix.patch b/build/patches/Multi-Screen-Window-Placement-API-fix.patch index 616e943a..3d32f403 100644 --- a/build/patches/Multi-Screen-Window-Placement-API-fix.patch +++ b/build/patches/Multi-Screen-Window-Placement-API-fix.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/core/frame/screen.cc b/third_party/blink/renderer/core/frame/screen.cc --- a/third_party/blink/renderer/core/frame/screen.cc +++ b/third_party/blink/renderer/core/frame/screen.cc -@@ -226,7 +226,7 @@ bool Screen::isExtended() const { +@@ -211,7 +211,7 @@ bool Screen::isExtended() const { return false; } diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index b9b05ca4..46c8b56d 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -37,7 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../core/svg/svg_text_content_element.cc | 28 +++- .../canvas2d/base_rendering_context_2d.cc | 24 ++- third_party/blink/renderer/platform/BUILD.gn | 5 +- - .../platform/exported/web_runtime_features.cc | 9 + + .../platform/exported/web_runtime_features.cc | 8 + .../platform/graphics/image_data_buffer.cc | 8 + .../platform/graphics/static_bitmap_image.cc | 154 ++++++++++++++++++ .../platform/graphics/static_bitmap_image.h | 2 + @@ -46,7 +46,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html third_party/ungoogled/BUILD.gn | 10 ++ third_party/ungoogled/ungoogled_switches.cc | 15 ++ third_party/ungoogled/ungoogled_switches.h | 17 ++ - 25 files changed, 356 insertions(+), 16 deletions(-) + 25 files changed, 355 insertions(+), 16 deletions(-) create mode 100755 cromite_flags/chrome/browser/about_flags_cc/Multiple-fingerprinting-mitigations.inc create mode 100644 third_party/ungoogled/BUILD.gn create mode 100644 third_party/ungoogled/ungoogled_switches.cc @@ -55,7 +55,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2549,6 +2549,7 @@ static_library("browser") { +@@ -2564,6 +2564,7 @@ static_library("browser") { "//services/device/public/cpp/bluetooth", "//services/device/public/cpp/geolocation", "//services/device/public/cpp/usb", @@ -66,19 +66,19 @@ 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 -@@ -262,6 +262,8 @@ +@@ -260,6 +260,8 @@ #include "ui/ui_features.h" #include "url/url_features.h" +#include "third_party/ungoogled/ungoogled_switches.h" + - #if BUILDFLAG(ENABLE_EXTENSIONS) - #include "extensions/common/extension_features.h" - #endif + #if BUILDFLAG(IS_ANDROID) + #include "base/android/pre_freeze_background_memory_trimmer.h" + #include "chrome/browser/contextmenu/context_menu_features.h" diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -294,6 +294,7 @@ source_set("browser") { +@@ -298,6 +298,7 @@ source_set("browser") { "//third_party/re2", "//third_party/snappy", "//third_party/sqlite", @@ -89,7 +89,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -216,6 +216,7 @@ +@@ -217,6 +217,7 @@ #include "url/gurl.h" #include "url/origin.h" @@ -97,7 +97,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content #if BUILDFLAG(IS_ANDROID) #include "base/android/child_process_binding_types.h" #include "content/browser/font_unique_name_lookup/font_unique_name_lookup_service.h" -@@ -3477,6 +3478,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3458,6 +3459,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBestEffortTasks, switches::kDisableBreakpad, switches::kDisableFileSystem, @@ -129,7 +129,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. #if BUILDFLAG(IS_ANDROID) #include "base/android/build_info.h" #endif -@@ -520,6 +522,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { +@@ -514,6 +516,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { // as a last resort. void SetCustomizedRuntimeFeaturesFromCombinedArgs( const base::CommandLine& command_line) { @@ -180,7 +180,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "base/task/single_thread_task_runner.h" #include "base/time/time.h" #include "base/trace_event/trace_event.h" -@@ -984,6 +985,16 @@ Document::Document(const DocumentInit& initializer, +@@ -1085,6 +1086,16 @@ Document::Document(const DocumentInit& initializer, TRACE_EVENT_WITH_FLOW0("blink", "Document::Document", TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_OUT); DCHECK(agent_); @@ -197,7 +197,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution) && features::kDelayAsyncScriptExecutionDelayByDefaultParam.Get()) { script_runner_delayer_->Activate(); -@@ -2647,6 +2658,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2778,6 +2789,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { #endif } @@ -215,7 +215,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h --- a/third_party/blink/renderer/core/dom/document.h +++ b/third_party/blink/renderer/core/dom/document.h -@@ -582,6 +582,10 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -572,6 +572,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/ V8VisibilityState visibilityState() const; String visibilityStateAsString() const; bool IsPageVisible() const; -@@ -2780,6 +2784,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2770,6 +2774,9 @@ class CORE_EXPORT Document : public ContainerNode, base::ElapsedTimer start_time_; @@ -247,7 +247,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creat #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h" #include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" -@@ -219,6 +220,9 @@ CanvasAsyncBlobCreator::CanvasAsyncBlobCreator( +@@ -220,6 +221,9 @@ CanvasAsyncBlobCreator::CanvasAsyncBlobCreator( std::min(info.height(), max_dimension)); src_data_.reset(info, src_data_.addr(), src_data_.rowBytes()); } @@ -377,7 +377,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -105,6 +105,10 @@ +@@ -104,6 +104,10 @@ #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "ui/gfx/geometry/skia_conversions.h" @@ -388,7 +388,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c // Including "base/time/time.h" triggers a bug in IWYU. // https://github.com/include-what-you-use/include-what-you-use/issues/1122 // IWYU pragma: no_include "base/numerics/clamped_math.h" -@@ -552,6 +556,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -554,6 +558,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } @@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c } return image_data; -@@ -1246,13 +1254,27 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { +@@ -1248,13 +1256,27 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { TextDirection direction = ToTextDirection(state.GetDirection(), host, computed_style); @@ -431,7 +431,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1736,7 +1736,9 @@ component("platform") { +@@ -1741,7 +1741,9 @@ component("platform") { "//third_party/blink/renderer:non_test_config", ] @@ -442,22 +442,21 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re allow_circular_includes_from = [ "//third_party/blink/renderer/platform/blob", -@@ -1819,6 +1821,7 @@ component("platform") { +@@ -1823,6 +1825,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", + "//third_party/ungoogled:switches", "//third_party/emoji-segmenter", + "//third_party/harfbuzz-ng", "//third_party/highway:libhwy", - "//third_party/icu", diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc -@@ -68,4 +68,13 @@ void WebRuntimeFeatures::EnableFluentScrollbars(bool enable) { - void WebRuntimeFeatures::EnableFluentOverlayScrollbars(bool enable) { +@@ -69,6 +69,14 @@ void WebRuntimeFeatures::EnableFluentOverlayScrollbars(bool enable) { RuntimeEnabledFeatures::SetFluentOverlayScrollbarsEnabled(enable); } -+ + +void WebRuntimeFeatures::EnableFingerprintingCanvasMeasureTextNoise(bool enable) { + RuntimeEnabledFeatures::SetFingerprintingCanvasMeasureTextNoiseEnabled(enable); +} @@ -466,7 +465,9 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c + RuntimeEnabledFeatures::SetFingerprintingCanvasImageDataNoiseEnabled(enable); +} + - } // namespace blink + void WebRuntimeFeatures::EnableLocalNetworkAccessWebRTC(bool enable) { + RuntimeEnabledFeatures::SetLocalNetworkAccessWebRTCEnabled(enable); + } diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc --- a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc +++ b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc @@ -684,7 +685,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -3367,6 +3367,12 @@ +@@ -3320,6 +3320,12 @@ status: {"Mac": "test", "default": "stable"}, base_feature: "none", }, diff --git a/build/patches/Never-treat-Proguard-warnings-as-errors.patch b/build/patches/Never-treat-Proguard-warnings-as-errors.patch index 24ee00e5..f3237973 100644 --- a/build/patches/Never-treat-Proguard-warnings-as-errors.patch +++ b/build/patches/Never-treat-Proguard-warnings-as-errors.patch @@ -9,7 +9,7 @@ Subject: Never treat Proguard warnings as errors 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 -@@ -1194,9 +1194,9 @@ if (enable_java_templates) { +@@ -1218,9 +1218,9 @@ if (enable_java_templates) { _source_file_template, "--proguard-configs=@FileArg($_rebased_build_config:proguard_all_configs)", ] diff --git a/build/patches/OpenSearch-miscellaneous.patch b/build/patches/OpenSearch-miscellaneous.patch index 265b32ee..4fdb541a 100644 --- a/build/patches/OpenSearch-miscellaneous.patch +++ b/build/patches/OpenSearch-miscellaneous.patch @@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java --- a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java +++ b/chrome/browser/search_engines/android/java/src/org/chromium/chrome/browser/search_engines/settings/SearchEngineAdapter.java -@@ -291,7 +291,9 @@ public class SearchEngineAdapter extends BaseAdapter +@@ -292,7 +292,9 @@ public class SearchEngineAdapter extends BaseAdapter continue; } if (recentEngineNum < MAX_RECENT_ENGINE_NUM @@ -176,7 +176,7 @@ diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/c #include "base/metrics/histogram_macros.h" #include "base/no_destructor.h" #include "base/strings/string_number_conversions.h" -@@ -261,6 +262,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() { +@@ -262,6 +263,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() { GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL(); if (!osdd_url.is_empty()) { @@ -321,7 +321,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc // regardless of |url| if the default search provider is managed by policy or // controlled by an extension. bool CanMakeDefault(const TemplateURL* url) const; -@@ -777,9 +780,6 @@ class TemplateURLService final : public WebDataServiceConsumer, +@@ -774,9 +777,6 @@ class TemplateURLService final : public WebDataServiceConsumer, // SetKeywordSearchTermsForURL is invoked. void UpdateKeywordSearchTermsForURL(const URLVisitedDetails& details); diff --git a/build/patches/Override-Navigator-Language.patch b/build/patches/Override-Navigator-Language.patch index b3abe16c..1e023a94 100644 --- a/build/patches/Override-Navigator-Language.patch +++ b/build/patches/Override-Navigator-Language.patch @@ -69,7 +69,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content #include "components/metrics/single_sample_metrics.h" #include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h" #include "components/services/storage/public/cpp/buckets/bucket_id.h" -@@ -3389,8 +3390,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3369,8 +3370,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( PropagateBrowserCommandLineToRenderer(browser_command_line, command_line); // Pass on the browser locale. diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch index a0968183..e73c1bf5 100644 --- a/build/patches/Partition-Blink-memory-cache.patch +++ b/build/patches/Partition-Blink-memory-cache.patch @@ -40,7 +40,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc --- a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc +++ b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc -@@ -2654,7 +2654,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, +@@ -2661,7 +2661,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, if (!cached_resource) { cached_resource = MemoryCache::Get()->ResourceForURL( url, document->Fetcher()->GetCacheIdentifier( @@ -77,7 +77,7 @@ diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_part diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc --- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc +++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc -@@ -209,7 +209,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, +@@ -282,7 +282,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, } bool MemoryCache::Contains(const Resource* resource) const { @@ -86,7 +86,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/ return false; const auto resource_maps_it = -@@ -225,13 +225,9 @@ bool MemoryCache::Contains(const Resource* resource) const { +@@ -298,13 +298,9 @@ bool MemoryCache::Contains(const Resource* resource) const { return resource == resources_it->value->GetResource(); } @@ -98,7 +98,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/ Resource* MemoryCache::ResourceForURL(const KURL& resource_url, const String& cache_identifier) const { + if (cache_identifier.empty()) return nullptr; - DCHECK(WTF::IsMainThread()); + DCHECK(IsMainThread()); if (!resource_url.IsValid() || resource_url.IsNull()) return nullptr; diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/third_party/blink/renderer/platform/loader/fetch/memory_cache.h @@ -127,7 +127,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -989,7 +989,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( +@@ -985,7 +985,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( } const String cache_identifier = GetCacheIdentifier( @@ -137,7 +137,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c // Most off-main-thread resource fetches use Resource::kRaw and don't reach // this point, but off-main-thread module fetches might. if (IsMainThread()) { -@@ -1393,7 +1394,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, +@@ -1389,7 +1390,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, params.Url(), GetCacheIdentifier( params.Url(), @@ -147,7 +147,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c if (resource) { policy = DetermineRevalidationPolicy(resource_type, params, *resource, is_static_data); -@@ -1706,7 +1708,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( +@@ -1702,7 +1704,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( const ResourceFactory& factory) { const String cache_identifier = GetCacheIdentifier(params.GetResourceRequest().Url(), @@ -157,7 +157,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c DCHECK(!IsMainThread() || params.IsStaleRevalidation() || !MemoryCache::Get()->ResourceForURL(params.GetResourceRequest().Url(), cache_identifier)); -@@ -2832,11 +2835,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() { +@@ -2828,11 +2831,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() { } String ResourceFetcher::GetCacheIdentifier(const KURL& url, @@ -210,7 +210,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } // Requests that can be satisfied via `archive_` (i.e. MHTML) or -@@ -2851,7 +2890,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url, +@@ -2847,7 +2886,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url, return bundle->GetCacheIdentifier(); } @@ -222,7 +222,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h -@@ -282,7 +282,12 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -287,7 +287,12 @@ class PLATFORM_EXPORT ResourceFetcher // `url` is used for finding a matching WebBundle. // If `skip_service_worker` is true, the identifier won't be a ServiceWorker's // identifier to keep the cache separated. diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch index c47309c7..cb8cf3ba 100644 --- a/build/patches/Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/Partition-HSTS-cache-by-NAK.patch @@ -43,7 +43,7 @@ diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/s diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc --- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc +++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc -@@ -402,7 +402,10 @@ void NetInternalsMessageHandler::OnDomainSecurityPolicyDelete( +@@ -395,7 +395,10 @@ void NetInternalsMessageHandler::OnDomainSecurityPolicyDelete( // There cannot be a unicode entry in the HSTS set. return; } @@ -54,7 +54,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/ *domain, base::BindOnce(&IgnoreBoolCallback)); } -@@ -412,7 +415,10 @@ void NetInternalsMessageHandler::OnHSTSQuery(const base::Value::List& list) { +@@ -405,7 +408,10 @@ void NetInternalsMessageHandler::OnHSTSQuery(const base::Value::List& list) { DCHECK(callback_id && domain); AllowJavascript(); @@ -65,7 +65,7 @@ diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/ *domain, base::BindOnce(&NetInternalsMessageHandler::ResolveCallbackWithResult, weak_factory_.GetWeakPtr(), *callback_id)); -@@ -438,8 +444,12 @@ void NetInternalsMessageHandler::OnHSTSAdd(const base::Value::List& list) { +@@ -431,8 +437,12 @@ void NetInternalsMessageHandler::OnHSTSAdd(const base::Value::List& list) { const bool sts_include_subdomains = list[1].GetBool(); base::Time expiry = base::Time::Now() + base::Days(1000); @@ -94,7 +94,7 @@ diff --git a/components/password_manager/core/browser/hsts_query.cc b/components diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/browser/web_package/signed_exchange_handler.cc --- a/content/browser/web_package/signed_exchange_handler.cc +++ b/content/browser/web_package/signed_exchange_handler.cc -@@ -93,6 +93,7 @@ using VerifyCallback = +@@ -94,6 +94,7 @@ using VerifyCallback = void VerifyCert(const scoped_refptr& certificate, const GURL& url, @@ -102,7 +102,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br const std::string& ocsp_result, const std::string& sct_list, FrameTreeNodeId frame_tree_node_id, -@@ -114,7 +115,7 @@ void VerifyCert(const scoped_refptr& certificate, +@@ -115,7 +116,7 @@ void VerifyCert(const scoped_refptr& certificate, } network_context->VerifyCertForSignedExchange( @@ -111,7 +111,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br std::move(wrapped_callback)); } -@@ -176,6 +177,7 @@ SignedExchangeHandler::SignedExchangeHandler( +@@ -177,6 +178,7 @@ SignedExchangeHandler::SignedExchangeHandler( std::unique_ptr body, ExchangeHeadersCallback headers_callback, std::unique_ptr cert_fetcher_factory, @@ -119,7 +119,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br std::optional outer_request_isolation_info, int load_flags, const net::IPEndPoint& remote_endpoint, -@@ -189,6 +191,7 @@ SignedExchangeHandler::SignedExchangeHandler( +@@ -190,6 +192,7 @@ SignedExchangeHandler::SignedExchangeHandler( source_(std::move(body)), cert_fetcher_factory_(std::move(cert_fetcher_factory)), devtools_proxy_(std::move(devtools_proxy)), @@ -127,7 +127,7 @@ diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/br outer_request_isolation_info_(std::move(outer_request_isolation_info)), load_flags_(load_flags), remote_endpoint_(remote_endpoint), -@@ -528,7 +531,7 @@ void SignedExchangeHandler::OnCertReceived( +@@ -529,7 +532,7 @@ void SignedExchangeHandler::OnCertReceived( // property, or const std::string& stapled_ocsp_response = unverified_cert_chain_->ocsp(); @@ -228,7 +228,7 @@ new file mode 100644 diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc --- a/net/http/transport_security_state.cc +++ b/net/http/transport_security_state.cc -@@ -87,7 +87,7 @@ bool AddHash(base::span sha256_hash, HashValueVector& out) { +@@ -79,7 +79,7 @@ bool HashesIntersect(const absl::flat_hash_set& a, // Converts |hostname| from dotted form ("www.google.com") to the form // used in DNS: "\x03www\x06google\x03com", lowercases that, and returns // the result. @@ -237,7 +237,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // We cannot perform the operations as detailed in the spec here as `host` // has already undergone IDN processing before it reached us. Thus, we // lowercase the input (probably redudnant since most input here has been -@@ -108,6 +108,29 @@ std::vector CanonicalizeHost(std::string_view host) { +@@ -100,6 +100,29 @@ std::vector CanonicalizeHost(std::string_view host) { return std::move(new_host).value(); } @@ -267,7 +267,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // PreloadResult is the result of resolving a specific name in the preloaded // data. struct PreloadResult { -@@ -199,7 +222,7 @@ bool DecodeHSTSPreload(std::string_view search_hostname, PreloadResult* out) { +@@ -191,7 +214,7 @@ bool DecodeHSTSPreload(std::string_view search_hostname, PreloadResult* out) { // Ensure that |search_hostname| is a valid hostname before // processing. @@ -276,7 +276,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ return false; } // Normalize any trailing '.' used for DNS suffix searches. -@@ -259,18 +282,19 @@ TransportSecurityState::TransportSecurityState( +@@ -250,18 +273,19 @@ TransportSecurityState::TransportSecurityState( // Both HSTS and HPKP cause fatal SSL errors, so return true if a // host has either. @@ -299,7 +299,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ dict.Set("should_upgrade_to_ssl", sts_state.ShouldUpgradeToSSL()); dict.Set("host_found_in_hsts_bypass_list", hsts_host_bypass_list_.find(host) != hsts_host_bypass_list_.end()); -@@ -278,12 +302,13 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam( +@@ -269,12 +293,13 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam( } SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( @@ -314,7 +314,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // Only top level navigations should be upgraded when // kHstsTopLevelNavigationsOnly is enabled. -@@ -294,7 +319,7 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( +@@ -285,7 +310,7 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( STSState sts_state; // Check the dynamic list first (removing the entry if expired). @@ -323,7 +323,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // [*.]localhost hosts now ignore Strict-Transport-Security response // headers, but an entry may have been stored before this restriction // was introduced (crbug.com/41251622). -@@ -319,29 +344,31 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( +@@ -310,29 +335,31 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( } bool TransportSecurityState::ShouldUpgradeToSSL( @@ -339,8 +339,8 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPins( std::string_view host, bool is_issued_by_known_root, -- const HashValueVector& public_key_hashes) { -+ const HashValueVector& public_key_hashes, +- const std::vector& public_key_hashes) { ++ const std::vector& public_key_hashes, + const NetworkAnonymizationKey& network_anonymization_key) { // Perform pin validation only if the server actually has public key pins. - if (!HasPublicKeyPins(host)) { @@ -361,14 +361,14 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ } ct::CTRequirementsStatus TransportSecurityState::CheckCTRequirements( -@@ -395,12 +422,13 @@ void TransportSecurityState::UpdatePinList( +@@ -386,12 +413,13 @@ void TransportSecurityState::UpdatePinList( } void TransportSecurityState::AddHSTSInternal( + const NetworkAnonymizationKey& nak, std::string_view host, TransportSecurityState::STSState::UpgradeMode upgrade_mode, - const base::Time& expiry, + base::Time expiry, bool include_subdomains) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); - const std::vector canonicalized_host = CanonicalizeHost(host); @@ -376,15 +376,15 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return; -@@ -424,13 +452,14 @@ void TransportSecurityState::AddHSTSInternal( +@@ -415,13 +443,14 @@ void TransportSecurityState::AddHSTSInternal( DirtyNotify(); } -void TransportSecurityState::AddHPKPInternal(std::string_view host, +void TransportSecurityState::AddHPKPInternal(const NetworkAnonymizationKey& nak, + std::string_view host, - const base::Time& last_observed, - const base::Time& expiry, + base::Time last_observed, + base::Time expiry, bool include_subdomains, const HashValueVector& hashes) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); @@ -393,7 +393,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return; -@@ -474,10 +503,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins( +@@ -469,10 +498,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins( return PKPStatus::VIOLATED; } @@ -406,7 +406,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return false; -@@ -554,7 +583,8 @@ void TransportSecurityState::DirtyNotify() { +@@ -549,7 +578,8 @@ void TransportSecurityState::DirtyNotify() { delegate_->StateIsDirty(this); } @@ -416,7 +416,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ std::string_view value) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); -@@ -573,23 +603,25 @@ bool TransportSecurityState::AddHSTSHeader(std::string_view host, +@@ -568,23 +598,25 @@ bool TransportSecurityState::AddHSTSHeader(std::string_view host, upgrade_mode = STSState::MODE_FORCE_HTTPS; } @@ -428,7 +428,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ -void TransportSecurityState::AddHSTS(std::string_view host, +void TransportSecurityState::AddHSTS(const NetworkAnonymizationKey& nak, + std::string_view host, - const base::Time& expiry, + base::Time expiry, bool include_subdomains) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); - AddHSTSInternal(host, STSState::MODE_FORCE_HTTPS, expiry, include_subdomains); @@ -438,7 +438,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ -void TransportSecurityState::AddHPKP(std::string_view host, +void TransportSecurityState::AddHPKP(const NetworkAnonymizationKey& nak, + std::string_view host, - const base::Time& expiry, + base::Time expiry, bool include_subdomains, const HashValueVector& hashes) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); @@ -447,12 +447,12 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ } size_t TransportSecurityState::num_sts_entries() const { -@@ -613,9 +645,10 @@ bool TransportSecurityState::IsBuildTimely() { - TransportSecurityState::PKPStatus - TransportSecurityState::CheckPublicKeyPinsImpl(std::string_view host, - bool is_issued_by_known_root, -- const HashValueVector& hashes) { -+ const HashValueVector& hashes, +@@ -609,9 +641,10 @@ TransportSecurityState::PKPStatus + TransportSecurityState::CheckPublicKeyPinsImpl( + std::string_view host, + bool is_issued_by_known_root, +- const std::vector& hashes) { ++ const std::vector& hashes, + const NetworkAnonymizationKey& network_anonymization_key) { PKPState pkp_state; - bool found_state = GetPKPState(host, &pkp_state); @@ -460,7 +460,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // HasPublicKeyPins should have returned true in order for this method to have // been called. -@@ -656,7 +689,7 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, +@@ -652,7 +685,7 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, PreloadResult result; if (host_pins_.has_value()) { // Ensure that |host| is a valid hostname before processing. @@ -469,7 +469,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ return false; } // Normalize any trailing '.' used for DNS suffix searches. -@@ -740,21 +773,21 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, +@@ -717,21 +750,21 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, return false; } @@ -497,7 +497,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return false; -@@ -791,11 +824,11 @@ bool TransportSecurityState::GetDynamicSTSState(std::string_view host, +@@ -768,11 +801,11 @@ bool TransportSecurityState::GetDynamicSTSState(std::string_view host, return false; } @@ -514,7 +514,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_state.h --- a/net/http/transport_security_state.h +++ b/net/http/transport_security_state.h -@@ -246,6 +246,7 @@ class NET_EXPORT TransportSecurityState { +@@ -248,6 +248,7 @@ class NET_EXPORT TransportSecurityState { // As ShouldUpgradeToSSL(), but also returns whether the decision came from // static or dynamic state, for metrics. SSLUpgradeDecision GetSSLUpgradeDecision( @@ -522,7 +522,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s std::string_view host, bool is_top_level_nav, const NetLogWithSource& net_log = NetLogWithSource()); -@@ -255,14 +256,15 @@ class NET_EXPORT TransportSecurityState { +@@ -257,15 +258,16 @@ class NET_EXPORT TransportSecurityState { // primary public interface; direct access to STS and PKP states is best // left to tests. The caller needs to handle the optional pinning override // when is_issued_by_known_root is false. @@ -532,17 +532,18 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s + bool ShouldUpgradeToSSL(const NetworkAnonymizationKey& nak, std::string_view host, bool is_top_level_nav, const NetLogWithSource& net_log = NetLogWithSource()); - PKPStatus CheckPublicKeyPins(std::string_view host, - bool is_issued_by_known_root, -- const HashValueVector& hashes); + PKPStatus CheckPublicKeyPins( + std::string_view host, + bool is_issued_by_known_root, +- const std::vector& public_key_hashes); - bool HasPublicKeyPins(std::string_view host); -+ const HashValueVector& hashes, ++ const std::vector& public_key_hashes, + const NetworkAnonymizationKey& nak); + bool HasPublicKeyPins(const NetworkAnonymizationKey& nak, std::string_view host); // Returns CT_REQUIREMENTS_NOT_MET if a connection violates CT policy // requirements: that is, if a connection to |host|, using the validated -@@ -348,7 +350,7 @@ class NET_EXPORT TransportSecurityState { +@@ -351,7 +353,7 @@ class NET_EXPORT TransportSecurityState { // // If an entry is deleted, the new state will be persisted through // the Delegate (if any). @@ -551,7 +552,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s // Returns true and updates |*result| if |host| has dynamic or static // HSTS/HPKP (respectively) state. If multiple entries match |host|, dynamic -@@ -358,8 +360,8 @@ class NET_EXPORT TransportSecurityState { +@@ -361,8 +363,8 @@ class NET_EXPORT TransportSecurityState { // // Note that these methods are not const because they opportunistically remove // entries that have expired. @@ -562,7 +563,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s // Returns true and updates |*result| iff |host| has static HSTS/HPKP // (respectively) state. If multiple entries match |host|, the most specific -@@ -373,22 +375,24 @@ class NET_EXPORT TransportSecurityState { +@@ -376,22 +378,24 @@ class NET_EXPORT TransportSecurityState { // // Note that these methods are not const because they opportunistically remove // entries that have expired. @@ -581,7 +582,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s - void AddHSTS(std::string_view host, + void AddHSTS(const NetworkAnonymizationKey& nak, + std::string_view host, - const base::Time& expiry, + base::Time expiry, bool include_subdomains); // Adds explicitly-specified data as if it was processed from an HPKP header. @@ -589,10 +590,10 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s - void AddHPKP(std::string_view host, + void AddHPKP(const NetworkAnonymizationKey& nak, + std::string_view host, - const base::Time& expiry, + base::Time expiry, bool include_subdomains, const HashValueVector& hashes); -@@ -430,7 +434,7 @@ class NET_EXPORT TransportSecurityState { +@@ -433,7 +437,7 @@ class NET_EXPORT TransportSecurityState { typedef std::map STSStateMap; typedef std::map PKPStateMap; @@ -601,17 +602,17 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s // IsBuildTimely returns true if the current build is new enough ensure that // built in security information (i.e. HSTS preloading and pinning -@@ -440,7 +444,8 @@ class NET_EXPORT TransportSecurityState { +@@ -443,7 +447,8 @@ class NET_EXPORT TransportSecurityState { // Helper method for actually checking pins. PKPStatus CheckPublicKeyPinsImpl(std::string_view host, bool is_issued_by_known_root, -- const HashValueVector& hashes); -+ const HashValueVector& hashes, +- const std::vector& hashes); ++ const std::vector& hashes, + const NetworkAnonymizationKey& network_anonymization_key); // If a Delegate is present, notify it that the internal state has // changed. -@@ -450,11 +455,13 @@ class NET_EXPORT TransportSecurityState { +@@ -453,11 +458,13 @@ class NET_EXPORT TransportSecurityState { // any previous state for the |host|, including static entries. // // The new state for |host| is persisted using the Delegate (if any). @@ -619,13 +620,13 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s + void AddHSTSInternal(const NetworkAnonymizationKey& nak, + std::string_view host, STSState::UpgradeMode upgrade_mode, - const base::Time& expiry, + base::Time expiry, bool include_subdomains); - void AddHPKPInternal(std::string_view host, + void AddHPKPInternal(const NetworkAnonymizationKey& nak, + std::string_view host, - const base::Time& last_observed, - const base::Time& expiry, + base::Time last_observed, + base::Time expiry, bool include_subdomains, diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc --- a/net/quic/crypto/proof_verifier_chromium.cc @@ -652,7 +653,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_ diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc --- a/net/quic/quic_chromium_client_session.cc +++ b/net/quic/quic_chromium_client_session.cc -@@ -1547,7 +1547,7 @@ bool QuicChromiumClientSession::CanPool( +@@ -1543,7 +1543,7 @@ bool QuicChromiumClientSession::CanPool( return SpdySession::CanPool(transport_security_state_, ssl_info, *ssl_config_service_, session_key_.host(), @@ -664,7 +665,7 @@ diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_c diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -1230,7 +1230,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1231,7 +1231,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { context_->transport_security_state()->CheckPublicKeyPins( host_and_port_.host(), server_cert_verify_result_.is_issued_by_known_root, @@ -674,7 +675,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket switch (pin_validity) { case TransportSecurityState::PKPStatus::VIOLATED: server_cert_verify_result_.cert_status |= -@@ -1250,7 +1251,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1251,7 +1252,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { IsCertStatusError(server_cert_verify_result_.cert_status) && result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED && context_->transport_security_state()->ShouldSSLErrorsBeFatal( @@ -715,7 +716,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc } void SpdySession::EnqueueStreamWrite( -@@ -3084,7 +3086,8 @@ void SpdySession::OnAltSvc( +@@ -3104,7 +3106,8 @@ void SpdySession::OnAltSvc( return; } if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_, @@ -741,7 +742,7 @@ diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -404,20 +404,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -406,20 +406,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { context->set_transport_security_state( std::make_unique(hsts_policy_bypass_list_)); @@ -765,7 +766,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -368,6 +368,7 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -378,6 +378,7 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { if (TransportSecurityState* hsts = request->context()->transport_security_state()) { upgrade_decision = hsts->GetSSLUpgradeDecision( @@ -773,7 +774,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque url.host(), /*is_top_level_nav=*/ request->isolation_info().IsOutermostMainFrameRequest(), -@@ -1247,7 +1248,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { +@@ -1257,7 +1258,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { std::optional value; if ((value = headers->EnumerateHeader(nullptr, "Strict-Transport-Security"))) { @@ -782,7 +783,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } } -@@ -1318,7 +1319,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { +@@ -1328,7 +1329,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { TransportSecurityState* state = context->transport_security_state(); NotifySSLCertificateError( result, transaction_->GetResponseInfo()->ssl_info, @@ -794,7 +795,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -2047,6 +2047,7 @@ void NetworkContext::CreateHostResolver( +@@ -2049,6 +2049,7 @@ void NetworkContext::CreateHostResolver( void NetworkContext::VerifyCertInternal( const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -802,7 +803,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont const std::string& ocsp_result, const std::string& sct_list, CTVerificationMode ct_verification_mode, -@@ -2058,6 +2059,7 @@ void NetworkContext::VerifyCertInternal( +@@ -2060,6 +2061,7 @@ void NetworkContext::VerifyCertInternal( pending_cert_verify->result = std::make_unique(); pending_cert_verify->certificate = certificate; pending_cert_verify->host_port = host_port; @@ -810,7 +811,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont net::CertVerifier* cert_verifier = g_cert_verifier_for_testing ? g_cert_verifier_for_testing : url_request_context_->cert_verifier(); -@@ -2088,20 +2090,22 @@ void NetworkContext::VerifyCertInternal( +@@ -2090,20 +2092,22 @@ void NetworkContext::VerifyCertInternal( void NetworkContext::VerifyCert( const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -835,7 +836,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont CTVerificationMode::kSignedExchange, std::move(callback)); } -@@ -2142,17 +2146,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -2144,17 +2148,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( std::move(callback).Run(); } @@ -858,7 +859,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont bool is_top_level_nav, IsHSTSActiveForHostCallback callback) { net::TransportSecurityState* security_state = -@@ -2164,10 +2170,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -2166,10 +2172,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, } std::move(callback).Run( @@ -871,7 +872,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont GetHSTSStateCallback callback) { base::Value::Dict result; -@@ -2205,10 +2211,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2207,10 +2213,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, net::TransportSecurityState::STSState dynamic_sts_state; net::TransportSecurityState::PKPState dynamic_pkp_state; bool found_sts_dynamic = transport_security_state->GetDynamicSTSState( @@ -884,7 +885,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont if (found_sts_dynamic) { result.Set("dynamic_upgrade_mode", static_cast(dynamic_sts_state.upgrade_mode)); -@@ -2246,6 +2252,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2248,6 +2254,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, } void NetworkContext::DeleteDynamicDataForHost( @@ -892,7 +893,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont const std::string& host, DeleteDynamicDataForHostCallback callback) { net::TransportSecurityState* transport_security_state = -@@ -2256,7 +2263,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -2258,7 +2265,7 @@ void NetworkContext::DeleteDynamicDataForHost( } std::move(callback).Run( @@ -901,7 +902,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont } void NetworkContext::EnableStaticKeyPinningForTesting( -@@ -2311,7 +2318,7 @@ void NetworkContext::PreconnectSockets( +@@ -2313,7 +2320,7 @@ void NetworkContext::PreconnectSockets( DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); @@ -910,7 +911,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont // |PreconnectSockets| may receive arguments from the renderer, which is not // guaranteed to validate them. -@@ -3151,7 +3158,9 @@ void NetworkContext::OnConnectionError() { +@@ -3158,7 +3165,9 @@ void NetworkContext::OnConnectionError() { } } @@ -921,7 +922,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont // TODO(lilyhoughton) This needs to be gotten rid of once explicit // construction with a URLRequestContext is no longer supported. -@@ -3177,6 +3186,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) { +@@ -3184,6 +3193,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) { // top-level navigation so we need to disallow HSTS upgrades for every // preconnect. if (!url_request_context_->transport_security_state()->ShouldUpgradeToSSL( @@ -929,7 +930,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont original_url.host(), /*is_top_level_nav=*/false)) { RecordHSTSPreconnectUpgradeReason( HSTSRedirectUpgradeReason::kNotUpgradedNoHSTSPin); -@@ -3230,7 +3240,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) { +@@ -3237,7 +3247,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) { url_request_context_->transport_security_state()->CheckPublicKeyPins( pending_cert_verify->host_port.host(), pending_cert_verify->result->is_issued_by_known_root, @@ -942,7 +943,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -417,12 +417,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -418,12 +418,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingReceiver receiver) override; void VerifyCert(const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -957,7 +958,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& ocsp_result, const std::string& sct_list, VerifyCertCallback callback) override; -@@ -431,16 +433,18 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -432,16 +434,18 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const std::string& hostname, const scoped_refptr& tls_certificate, Verify2QwacCertBindingCallback callback) override; @@ -979,7 +980,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& host, DeleteDynamicDataForHostCallback callback) override; void SetCorsOriginAccessListsForOrigin( -@@ -797,7 +801,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -798,7 +802,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingRemote cookie_observer, net::FirstPartySetMetadata first_party_set_metadata); @@ -989,7 +990,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte #if BUILDFLAG(IS_P2P_ENABLED) void DestroySocketManager(P2PSocketManager* socket_manager); -@@ -809,6 +814,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -810,6 +815,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void VerifyCertInternal( const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -997,7 +998,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& ocsp_result, const std::string& sct_list, CTVerificationMode ct_verification_mode, -@@ -989,6 +995,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -990,6 +996,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext VerifyCertCallback callback; scoped_refptr certificate; net::HostPortPair host_port; @@ -1008,7 +1009,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1553,6 +1553,7 @@ interface NetworkContext { +@@ -1560,6 +1560,7 @@ interface NetworkContext { // Checks the given certificate against the CertVerifier and CTVerifier. VerifyCert(X509Certificate certificate, HostPortPair host_port, @@ -1016,7 +1017,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw string ocsp_response, string sct_list) => (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed); -@@ -1561,6 +1562,7 @@ interface NetworkContext { +@@ -1568,6 +1569,7 @@ interface NetworkContext { // This implementation is specific for use by Signed Exchange. VerifyCertForSignedExchange(X509Certificate certificate, HostPortPair host_port, @@ -1024,7 +1025,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw string ocsp_response, string sct_list) => (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed); -@@ -1575,18 +1577,18 @@ interface NetworkContext { +@@ -1582,18 +1584,18 @@ interface NetworkContext { // Adds explicitly-specified data as if it was processed from an // HSTS header. Used by tests and implementation of chrome://net-internals. @@ -1046,7 +1047,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw // Sets allowed and blocked origins respectively for the URLLoaderFactory // consumers to access beyond the same-origin policy. The list is managed per -@@ -1605,7 +1607,7 @@ interface NetworkContext { +@@ -1612,7 +1614,7 @@ interface NetworkContext { // Deletes any dynamic data stored for |host| from the transport // security state. Returns true iff an entry was deleted. // See net::TransportSecurityState::DeleteDynamicDataForHost for more detail. diff --git a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch index ffaacc64..3f0ea255 100644 --- a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch +++ b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch @@ -51,7 +51,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 -@@ -3700,7 +3700,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( +@@ -3692,7 +3692,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); if (!cookie_settings) { @@ -77,7 +77,7 @@ diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/b 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 -@@ -1044,16 +1044,16 @@ ProfileNetworkContextService::CreateCookieManagerParams( +@@ -1127,16 +1127,16 @@ ProfileNetworkContextService::CreateCookieManagerParams( // UI to interact with SameSite cookies on accounts.google.com, which is used // for displaying a list of available accounts on the NTP // (chrome://new-tab-page), etc. @@ -164,7 +164,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen Third-party cookies are blocked in Incognito mode -@@ -645,7 +645,7 @@ +@@ -658,7 +658,7 @@ Allow third-party cookies @@ -197,7 +197,7 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/components/content_settings/core/common/cookie_settings_base.cc --- a/components/content_settings/core/common/cookie_settings_base.cc +++ b/components/content_settings/core/common/cookie_settings_base.cc -@@ -667,18 +667,6 @@ CookieSettingsBase::DecideAccess(const GURL& url, +@@ -668,18 +668,6 @@ CookieSettingsBase::DecideAccess(const GURL& url, ThirdPartyCookieAllowMechanism::kAllowByGlobalSetting}; } @@ -216,7 +216,7 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c if (IsAllowedByStorageAccessGrant(url, first_party_url, overrides)) { return AllowAllCookies{ ThirdPartyCookieAllowMechanism::kAllowByStorageAccess, -@@ -689,54 +677,11 @@ CookieSettingsBase::DecideAccess(const GURL& url, +@@ -690,54 +678,11 @@ CookieSettingsBase::DecideAccess(const GURL& url, ThirdPartyCookieAllowMechanism::kAllowBySandboxValue}; } @@ -271,7 +271,7 @@ diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/c return AllowPartitionedCookies{}; } -@@ -766,7 +711,7 @@ CookieSettingsBase::GetCookieSettingInternal( +@@ -767,7 +712,7 @@ CookieSettingsBase::GetCookieSettingInternal( } return CookieSettingWithMetadata{/*cookie_setting=*/CONTENT_SETTING_ALLOW, /*allow_partitioned_cookies=*/true, @@ -330,7 +330,7 @@ new file mode 100644 diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc --- a/net/cookies/canonical_cookie.cc +++ b/net/cookies/canonical_cookie.cc -@@ -1038,11 +1038,6 @@ CanonicalCookie::IsCanonicalForFromStorage() const { +@@ -1036,11 +1036,6 @@ CanonicalCookie::IsCanonicalForFromStorage() const { return Fail(CanonicalizationFailure::kEmptyNameWithHiddenPrefix); } @@ -358,7 +358,7 @@ diff --git a/net/cookies/cookie_deletion_info.cc b/net/cookies/cookie_deletion_i diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc --- a/net/cookies/cookie_monster.cc +++ b/net/cookies/cookie_monster.cc -@@ -2293,6 +2293,7 @@ size_t CookieMonster::GarbageCollectPartitionedCookies( +@@ -2292,6 +2292,7 @@ size_t CookieMonster::GarbageCollectPartitionedCookies( if (cookie_partition_it == partitioned_cookies_.end()) return num_deleted; @@ -369,7 +369,7 @@ diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc diff --git a/net/cookies/cookie_util.cc b/net/cookies/cookie_util.cc --- a/net/cookies/cookie_util.cc +++ b/net/cookies/cookie_util.cc -@@ -803,6 +803,7 @@ bool IsCookiePartitionedValid(const GURL& url, +@@ -828,6 +828,7 @@ bool IsCookiePartitionedValid(const GURL& url, bool secure, bool is_partitioned, bool partition_has_nonce) { @@ -401,17 +401,17 @@ diff --git a/net/cookies/cookie_util.h b/net/cookies/cookie_util.h diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h --- a/net/cookies/parsed_cookie.h +++ b/net/cookies/parsed_cookie.h -@@ -12,6 +12,7 @@ - #include +@@ -13,6 +13,7 @@ #include + #include "base/functional/function_ref.h" +#include "net/base/features.h" #include "net/base/net_export.h" #include "net/cookies/cookie_constants.h" -@@ -87,7 +88,10 @@ class NET_EXPORT ParsedCookie { - CookieSameSite SameSite( - CookieSameSiteString* samesite_string = nullptr) const; +@@ -84,7 +85,10 @@ class NET_EXPORT ParsedCookie { + // attribute value. + std::pair SameSite() const; CookiePriority Priority() const; - bool IsPartitioned() const { return partitioned_index_ != 0; } + bool IsPartitioned() const { @@ -455,7 +455,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -868,13 +868,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart( +@@ -878,13 +878,9 @@ void URLRequestHttpJob::SetCookieHeaderAndStart( AnnotateAndMoveUserBlockedCookies(maybe_included_cookies, excluded_cookies); } @@ -472,7 +472,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque if (!maybe_included_cookies.empty()) { std::string cookie_line = -@@ -1635,6 +1631,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() { +@@ -1645,6 +1641,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() { auto determine_storage_access_retry_outcome = [&]() -> cookie_util::ActivateStorageAccessRetryOutcome { using enum cookie_util::ActivateStorageAccessRetryOutcome; @@ -533,7 +533,7 @@ diff --git a/services/network/restricted_cookie_manager.cc b/services/network/re diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -2522,6 +2522,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const { +@@ -2544,6 +2544,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const { auto determine_storage_access_load_outcome = [&]() -> net::cookie_util::ActivateStorageAccessLoadOutcome { @@ -554,7 +554,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/t diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc --- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc +++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc -@@ -358,6 +358,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state, +@@ -386,6 +386,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state, CookieInit* set_options = CookieInit::Create(); set_options->setName(name); set_options->setValue(value); @@ -562,17 +562,17 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t return set(script_state, set_options, exception_state); } -@@ -381,6 +382,7 @@ ScriptPromise CookieStore::Delete( +@@ -409,6 +410,7 @@ ScriptPromise CookieStore::Delete( set_options->setName(name); - set_options->setValue("deleted"); + set_options->setValue(name.empty() ? "deleted" : ""); set_options->setExpires(0); + set_options->setPartitioned(true); return DoWrite(script_state, set_options, exception_state); } -@@ -396,6 +398,7 @@ ScriptPromise CookieStore::Delete( +@@ -424,6 +426,7 @@ ScriptPromise CookieStore::Delete( set_options->setPath(options->path()); - set_options->setSameSite("strict"); + set_options->setSameSite(V8CookieSameSite::Enum::kStrict); set_options->setPartitioned(options->partitioned()); + set_options->setPartitioned(true); return DoWrite(script_state, set_options, exception_state); diff --git a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch index 5e922874..b2c7d7d8 100644 --- a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch +++ b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch @@ -13,7 +13,7 @@ the Windows platform diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/browser/webauth/authenticator_common_impl.cc --- a/content/browser/webauth/authenticator_common_impl.cc +++ b/content/browser/webauth/authenticator_common_impl.cc -@@ -1807,6 +1807,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities( +@@ -1845,6 +1845,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities( base::FeatureList::IsEnabled(device::kWebAuthnPasskeyUpgrade))); IsHybridTransportSupported( @@ -21,7 +21,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow base::BindOnce(&MakeCapability, client_capabilities::kHybridTransport) .Then(barrier_callback)); -@@ -1827,11 +1828,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities( +@@ -1865,11 +1866,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities( } void AuthenticatorCommonImpl::IsHybridTransportSupported( @@ -47,7 +47,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow device::BluetoothAdapterFactory::Get()->GetAdapter( base::BindOnce([](scoped_refptr adapter) { -@@ -1877,6 +1892,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck( +@@ -1915,6 +1930,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck( IsUserVerifyingPlatformAuthenticatorAvailableCallback callback, bool is_get_client_capabilities_call, std::optional is_uvpaa_override) { diff --git a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch index 99f1df4a..95728a47 100644 --- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch +++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch @@ -45,9 +45,9 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -233,6 +233,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kAsyncNotificationManager, +@@ -248,6 +248,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kAsyncNotificationManagerForDownload, + &kAutomotiveBackButtonBarStreamline, &kAuxiliarySearchDonation, + &kCloseAllTabsModalDialog, &kBatchTabRestore, @@ -56,7 +56,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 -@@ -338,6 +338,7 @@ public abstract class ChromeFeatureList { +@@ -353,6 +353,7 @@ public abstract class ChromeFeatureList { "ClearBrowsingDataAndroidSurvey"; public static final String CLEAR_INSTANCE_INFO_WHEN_CLOSED_INTENTIONALLY = "ClearInstanceInfoWhenClosedIntentionally"; diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch index b9e00054..db0bd3bd 100644 --- a/build/patches/Re-introduce-override_build_timestamp.patch +++ b/build/patches/Re-introduce-override_build_timestamp.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -4308,8 +4308,12 @@ if (current_toolchain == default_toolchain) { +@@ -4349,8 +4349,12 @@ if (current_toolchain == default_toolchain) { outputs = [ _build_date_header_internal ] args = [ rebase_path(_build_date_header_internal, root_build_dir), @@ -42,7 +42,7 @@ diff --git a/build_overrides/build.gni b/build_overrides/build.gni + # details; expected format is Unix Epoch time in seconds. + override_build_timestamp = "N/A" + - # Allows googletest to pretty-print various absl types. Disabled for nacl due - # to lack of toolchain support. - gtest_enable_absl_printers = !is_nacl + # Allows googletest to pretty-print various absl types. + gtest_enable_absl_printers = true + -- diff --git a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch index e9302cae..b9340ad7 100644 --- a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch +++ b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch @@ -35,7 +35,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -527,6 +527,7 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -537,6 +537,7 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( // fields in the referrer. GURL referrer(request_->referrer()); @@ -43,7 +43,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque // Our consumer should have made sure that this is a safe referrer (e.g. via // URLRequestJob::ComputeReferrerForPolicy). if (referrer.is_valid()) { -@@ -534,11 +535,14 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -544,11 +545,14 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer, referer_value); } @@ -58,7 +58,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque AddExtraHeaders(); -@@ -784,10 +788,10 @@ void URLRequestHttpJob::StartTransactionInternal() { +@@ -794,10 +798,10 @@ void URLRequestHttpJob::StartTransactionInternal() { void URLRequestHttpJob::AddExtraHeaders() { request_info_.extra_headers.SetAcceptEncodingIfMissing( request()->url(), request()->accepted_stream_types(), diff --git a/build/patches/Remove-ChromiumNetworkAdapter.patch b/build/patches/Remove-ChromiumNetworkAdapter.patch index b01e313b..3263d2d1 100644 --- a/build/patches/Remove-ChromiumNetworkAdapter.patch +++ b/build/patches/Remove-ChromiumNetworkAdapter.patch @@ -254,10 +254,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivit diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java -@@ -457,8 +457,7 @@ public class OmahaBase { +@@ -469,8 +469,7 @@ public class OmahaBase { }"""); try { - URL url = new URL(getRequestGenerator().getServerUrl()); + URL url = new URL(assumeNonNull(getRequestGenerator()).getServerUrl()); - HttpURLConnection connection = - (HttpURLConnection) ChromiumNetworkAdapter.openConnection(url, annotation); + HttpURLConnection connection = null; diff --git a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch index b855c7e2..87ccb49a 100644 --- a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch +++ b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch @@ -44,7 +44,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 -@@ -646,6 +646,8 @@ chrome_java_resources = [ +@@ -627,6 +627,8 @@ chrome_java_resources = [ "java/res/xml/personalize_google_services_preferences.xml", "java/res/xml/incognito_preferences.xml", "java/res/xml/privacy_preferences.xml", @@ -56,7 +56,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 -@@ -917,6 +917,8 @@ chrome_java_sources = [ +@@ -922,6 +922,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarLimiter.java", @@ -395,7 +395,7 @@ new file mode 100644 diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -229,6 +229,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -231,6 +231,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kExpireDaysThreshold] = settings_api::PrefType::kNumber; @@ -410,7 +410,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -611,6 +611,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( +@@ -678,6 +678,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( base::BindRepeating(&SystemNetworkContextManager::UpdateReferrersEnabled, base::Unretained(this))); @@ -420,7 +420,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows pref_change_registrar_.Add( prefs::kExplicitlyAllowedNetworkPorts, base::BindRepeating( -@@ -692,6 +695,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -760,6 +763,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { // the system NetworkContext, and the per-profile pref values are used for // the profile NetworkContexts. registry->RegisterBooleanPref(prefs::kEnableReferrers, true); @@ -456,13 +456,13 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/ + on-settings-control-change="onReferersPolicyChanged_"> + + - - - +
- -
[[dbdDeletionConfirmationToastLabel_]]
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts @@ -190,7 +188,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch interface BlockAutoplayStatus { enabled: boolean; -@@ -79,8 +80,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -78,8 +79,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { return 'settings-privacy-page'; } @@ -296,7 +294,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html --- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html +++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html -@@ -53,5 +53,17 @@ +@@ -54,5 +54,17 @@ icon="[[blockOptionIcon]]" no-collapse> @@ -478,13 +476,12 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis import {ChooserType, ContentSetting, ContentSettingsTypes, SiteSettingSource} from './constants.js'; import {getTemplate} from './site_details_permission.html.js'; -@@ -293,15 +294,28 @@ export class SiteDetailsPermissionElement extends +@@ -293,14 +294,27 @@ export class SiteDetailsPermissionElement extends return ''; } + let obj = this.getSettingData(category); - if (defaultSetting === ContentSetting.ASK || - defaultSetting === ContentSetting.IMPORTANT_CONTENT) { + if (defaultSetting === ContentSetting.ASK) { + if (obj) { + let v = this.askSettingString_(category, ""); + if (v !== "") return "(Default) " + v; @@ -507,7 +504,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis if (this.useCustomSoundLabels_(category)) { return this.i18n('siteSettingsActionMuteDefault'); } -@@ -320,12 +334,40 @@ export class SiteDetailsPermissionElement extends +@@ -319,12 +333,40 @@ export class SiteDetailsPermissionElement extends private blockSettingString_( category: ContentSettingsTypes, blockString: string, muteString: string): string { @@ -548,7 +545,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis /** * @return true if |this| should be hidden. */ -@@ -416,6 +458,8 @@ export class SiteDetailsPermissionElement extends +@@ -415,6 +457,8 @@ export class SiteDetailsPermissionElement extends private showAskSetting_( category: ContentSettingsTypes, setting: ContentSetting, source: SiteSettingSource): boolean { @@ -736,16 +733,16 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1732,6 +1732,7 @@ static_library("ui") { +@@ -1634,6 +1634,7 @@ static_library("ui") { "//components/commerce/core/mojom:mojo_bindings", "//components/commerce/core/webui", - "//components/endpoint_fetcher:endpoint_fetcher", + "//components/endpoint_fetcher", + "//components/content_settings/core/browser:browser", "//components/enterprise/common:files_scan_data", "//components/feedback/proto", "//components/headless/policy", -@@ -4950,6 +4951,7 @@ static_library("ui") { - "//components/power_bookmarks/core:core", +@@ -4821,6 +4822,7 @@ static_library("ui") { + "//components/power_bookmarks/core", "//components/power_bookmarks/storage", "//components/prefs", + "//components/strings:components_strings_grit", @@ -772,7 +769,7 @@ diff --git a/chrome/browser/ui/views/controls/rich_controls_container_view.h b/c diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc --- a/chrome/browser/ui/views/page_info/page_info_main_view.cc +++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc -@@ -59,6 +59,7 @@ +@@ -58,6 +58,7 @@ #include "ui/views/layout/box_layout.h" #include "ui/views/layout/flex_layout.h" #include "ui/views/vector_icons.h" @@ -780,7 +777,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b #include "ui/views/view_class_properties.h" #if BUILDFLAG(FULL_SAFE_BROWSING) -@@ -284,8 +285,20 @@ void PageInfoMainView::SetPermissionInfo( +@@ -282,8 +283,20 @@ void PageInfoMainView::SetPermissionInfo( scroll_view->SetDrawOverflowIndicator(false); auto* content_view = scroll_view->SetContents(std::make_unique()); @@ -803,7 +800,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b content_view->SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_PERMISSION_VIEW); content_view->SetProperty(views::kElementIdentifierKey, kPermissionsElementId); -@@ -300,11 +313,16 @@ void PageInfoMainView::SetPermissionInfo( +@@ -298,11 +311,16 @@ void PageInfoMainView::SetPermissionInfo( } } @@ -820,7 +817,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b toggle_row->SetProperty(views::kCrossAxisAlignmentKey, views::LayoutAlignment::kStretch); syncable_permission_rows_.emplace(permission.type, toggle_row); -@@ -312,6 +330,8 @@ void PageInfoMainView::SetPermissionInfo( +@@ -310,6 +328,8 @@ void PageInfoMainView::SetPermissionInfo( } for (auto& object : chosen_object_info_list) { @@ -829,7 +826,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b // The view takes ownership of the object info. auto object_view = std::make_unique( std::move(object), -@@ -322,6 +342,10 @@ void PageInfoMainView::SetPermissionInfo( +@@ -320,6 +340,10 @@ void PageInfoMainView::SetPermissionInfo( content_view->AddChildView(std::move(object_view))); } @@ -852,7 +849,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom #include "components/page_info/core/features.h" #include "components/page_info/core/proto/about_this_site_metadata.pb.h" #include "components/page_info/page_info.h" -@@ -292,7 +294,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -290,7 +292,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( ContentSetting setting = info.setting == CONTENT_SETTING_DEFAULT ? info.default_setting : info.setting; @@ -867,7 +864,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom // For guard content settings and Automatic Picture-in-Picture, ASK is treated // as an "on" state. const bool show_blocked_badge = -@@ -593,6 +602,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -591,6 +600,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( icon = &vector_icons::kPrinterIcon; break; default: @@ -888,7 +885,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.h b/chrome/browser/ui/views/page_info/page_info_view_factory.h --- a/chrome/browser/ui/views/page_info/page_info_view_factory.h +++ b/chrome/browser/ui/views/page_info/page_info_view_factory.h -@@ -100,6 +100,11 @@ class PageInfoViewFactory { +@@ -97,6 +97,11 @@ class PageInfoViewFactory { const PageInfo::PermissionInfo& info, bool blocked_on_system_level = false); @@ -1216,7 +1213,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #include "components/password_manager/core/browser/leak_detection_dialog_utils.h" #include "components/password_manager/core/browser/manage_passwords_referrer.h" #include "components/password_manager/core/common/password_manager_features.h" -@@ -3842,6 +3846,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -3912,6 +3916,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -1286,7 +1283,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b #include "components/content_settings/core/common/content_settings_pattern.h" #include "components/content_settings/core/common/content_settings_types.h" @@ -261,13 +263,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< - {ContentSettingsType::SUSPICIOUS_NOTIFICATION_IDS, nullptr}, + {ContentSettingsType::DEVICE_ATTRIBUTES, nullptr}, }); -static_assert( @@ -1354,7 +1351,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b NOTREACHED() << static_cast(type) << " is not a recognized content settings type."; } -@@ -673,6 +694,13 @@ std::vector GetVisiblePermissionCategories( +@@ -668,6 +689,13 @@ std::vector GetVisiblePermissionCategories( base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS); } @@ -1534,7 +1531,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn --- a/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn -@@ -151,6 +151,23 @@ android_library("java") { +@@ -156,6 +156,23 @@ android_library("java") { ":site_settings_jni_headers", "//components/content_settings/android:java_pref_names_srcjar", ] @@ -1558,7 +1555,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b } android_library("javatests") { -@@ -200,6 +217,7 @@ robolectric_library("junit") { +@@ -205,6 +222,7 @@ robolectric_library("junit") { } android_resources("java_resources") { @@ -1569,7 +1566,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml --- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml +++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml -@@ -189,4 +189,11 @@ The order of the following items is from: http://crbug.com/610358. +@@ -193,4 +193,11 @@ The order of the following items is from: http://crbug.com/610358. android:title="@string/safety_hub_autorevocation_toggle_title" android:summary="@string/safety_hub_autorevocation_toggle_summary" /> @@ -2251,16 +2248,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c int icon, int title, @ContentSettingValues @Nullable Integer defaultEnabledValue, -@@ -636,6 +657,8 @@ public class ContentSettingsResources { - R.string.website_settings_vr_ask, - R.string.website_settings_vr_block); +@@ -662,6 +683,8 @@ public class ContentSettingsResources { + R.string.website_settings_window_management_ask, + R.string.website_settings_window_management_block); } + ResourceItem ri = BromiteCustomContentSettingImpl.getResourceItem(contentType); + if (ri != null) return ri; assert false; // NOTREACHED return assumeNonNull(null); } -@@ -794,6 +817,14 @@ public class ContentSettingsResources { +@@ -820,6 +843,14 @@ public class ContentSettingsResources { return getResourceItem(contentType).getDefaultDisabledValue(); } @@ -2275,7 +2272,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Returns the string resource id for a given ContentSetting to show with a permission category. * -@@ -968,6 +999,8 @@ public class ContentSettingsResources { +@@ -994,6 +1025,8 @@ public class ContentSettingsResources { */ public static int @Nullable [] getTriStateSettingDescriptionIDs( int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) { @@ -2287,7 +2284,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java -@@ -343,6 +343,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -344,6 +344,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment website.site() .getContentSetting( browserContextHandle, mCategory.getContentSettingsType()); @@ -2298,7 +2295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSetting != null) { return ContentSettingValues.BLOCK == contentSetting; } -@@ -531,6 +535,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -532,6 +536,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment ? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS)) : null; @@ -2306,7 +2303,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c configureGlobalToggles(); if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) { RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered"); -@@ -566,7 +571,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -567,7 +572,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -2316,7 +2313,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -578,12 +584,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -579,12 +585,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment getResources(), R.drawable.ic_help_and_feedback, getContext().getTheme())); @@ -2358,34 +2355,37 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // OnPreferenceClickListener: -@@ -962,21 +981,18 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment - default: +@@ -963,17 +982,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment break; } -- -- int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId(); -- assert allowSpecifyingExceptions == (exceptionDialogMessageResourceId != 0); + + Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory); -+ if (allow != null) allowSpecifyingExceptions = (boolean)allow; - if (allowSpecifyingExceptions) { ++ if (allow != null) shouldAddExceptionButton = (boolean)allow; ++ + int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId(); + assert shouldAddExceptionButton == (exceptionDialogMessageResourceId != 0); + + if (shouldAddExceptionButton) { + int blockAddingExceptionsReasonResourceId = + mCategory.getBlockAddingExceptionsReasonResourceId(); - boolean enableAddExceptionButton = - (!mCategory.isManaged() -- || mCategory.getType() -- == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES); -+ int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId(); -+ assert exceptionDialogMessageResourceId != 0; - getPreferenceScreen() - .addPreference( - new AddExceptionPreference( +- || mCategory.getType() +- == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES) +- && blockAddingExceptionsReasonResourceId == 0; + String exceptionDialogMessage = + exceptionDialogMessageResourceId != 0 + ? getString(exceptionDialogMessageResourceId) +@@ -984,7 +1001,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment getStyledContext(), ADD_EXCEPTION_KEY, - getString(exceptionDialogMessageResourceId), + exceptionDialogMessage, - enableAddExceptionButton, -+ true, ++ /*enableAddExceptionButton*/ true, mCategory, this)); - } -@@ -1152,8 +1168,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment + +@@ -1168,8 +1185,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment private boolean isBlocked() { switch (mGlobalToggleLayout) { case GlobalToggleLayout.TRI_STATE_TOGGLE: @@ -2402,7 +2402,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK); case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE: TriStateCookieSettingsPreference triStateCookieToggle = -@@ -1302,7 +1326,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1320,7 +1345,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else if (res_id != -1) { infoText.setSummary(res_id); } else { @@ -2415,7 +2415,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Hide the anti-abuse text preferences, as needed. -@@ -1341,6 +1369,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1359,6 +1388,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else { screen.removePreference(mLocationTriStatePref); } @@ -2423,7 +2423,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c maybeShowReasonToggleDisabled(screen); -@@ -1553,6 +1582,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1571,6 +1601,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType); } triStateToggle.initialize( @@ -2431,7 +2431,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c setting, descriptionIds, iconIds, -@@ -1712,6 +1742,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1730,6 +1761,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment @ContentSettingValues Integer value = site.getContentSetting(browserContextHandle, contentSettingsType); @@ -2449,7 +2449,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -57,6 +57,7 @@ import java.util.Collection; +@@ -59,6 +59,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -2457,21 +2457,20 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** Shows the permissions and other settings for a particular website. */ @NullMarked -@@ -188,7 +189,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment - case ContentSettingsType.LOCAL_NETWORK_ACCESS: - return "local_network_access"; +@@ -192,7 +193,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment + case ContentSettingsType.WINDOW_MANAGEMENT: + return "window_management_permission_list"; default: - return null; + return BromiteCustomContentSettingImpl.getProfilePrefKey(type); } } -@@ -594,8 +595,21 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -598,14 +599,27 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment private void setupContentSettingsPreferences() { Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER); mMaxPermissionOrder = permissionsHeaderPref.getOrder(); - for (@ContentSettingsType.EnumType int type : SiteSettingsUtil.SETTINGS_ORDER) { -- Preference preference = new ChromeSwitchPreference(getStyledContext()); + List order = BromiteCustomContentSettingImpl.getSettingsOrder(); + for (@ContentSettingsType.EnumType int type : order) { + @ContentSettingValues @Nullable Integer value = @@ -2481,20 +2480,27 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + value = WebsitePreferenceBridge.getDefaultContentSetting( + getSiteSettingsDelegate().getBrowserContextHandle(), type); + } -+ Preference preference = + Preference preference = + BromiteCustomContentSettingImpl + .createWebSitePreference(type, getStyledContext(), value); + if (preference == null) { -+ preference = new ChromeSwitchPreference(getStyledContext()); ++ preference = + (isOneTime(type) + && PermissionsAndroidFeatureMap.isEnabled( + PermissionsAndroidFeatureList + .APPROXIMATE_GEOLOCATION_PERMISSION)) + ? new ChromeImageViewPreference(getStyledContext()) + : new ChromeSwitchPreference(getStyledContext()); + } preference.setKey(getPreferenceKey(type)); if (type == ContentSettingsType.ADS) { -@@ -1280,20 +1294,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1290,7 +1304,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @ContentSettingValues @Nullable Integer value, boolean isEmbargoed, boolean isOneTime) { - if (value == null) return; ++ @ContentSettingsType.EnumType + int content_type = getContentSettingsTypeFromPreferenceKey(preference.getKey()); + BromiteCustomContentSetting cs = + BromiteCustomContentSettingImpl.getContentSetting(content_type); @@ -2505,33 +2511,37 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c + getSiteSettingsDelegate().getBrowserContextHandle(), content_type); + } setUpPreferenceCommon(preference, value); - -- ChromeSwitchPreference switchPreference = (ChromeSwitchPreference) preference; -- @ContentSettingsType.EnumType -- int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey()); -- switchPreference.setChecked(value == getEnabledValue(contentType)); -+ Preference switchPreference = preference; -+ if (preference instanceof ChromeSwitchPreference) { -+ ((ChromeSwitchPreference)switchPreference).setChecked(value != ContentSettingValues.BLOCK); -+ } else { -+ BromiteCustomContentSettingImpl.setWebSitePreferenceValue(content_type, preference, value); -+ } - switchPreference.setSummary( + preference.setOnPreferenceChangeListener(this); + @ContentSettingsType.EnumType +@@ -1298,7 +1321,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment + preference.setSummary( isEmbargoed ? getString(R.string.automatically_blocked) - : getString(ContentSettingsResources.getCategorySummary(value, isOneTime))); + : getString(ContentSettingsResources.getCategorySummary(content_type, value, isOneTime))); - switchPreference.setOnPreferenceChangeListener(this); -- if (contentType == mHighlightedPermission) { -- switchPreference.setBackgroundColor( -+ @ContentSettingsType.EnumType -+ int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey()); -+ if (preference instanceof ChromeSwitchPreference && contentType == mHighlightedPermission) { -+ ((ChromeSwitchPreference)switchPreference).setBackgroundColor( - AppCompatResources.getColorStateList(getContext(), mHighlightColor) - .getDefaultColor()); - } -@@ -1518,14 +1544,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment + if (preference instanceof ChromeImageViewPreference) { + ChromeImageViewPreference oneTimePreference = (ChromeImageViewPreference) preference; + oneTimePreference.setImageView( +@@ -1313,10 +1336,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment + oneTimePreference.setBackgroundColor(mHighlightColor); + } + } else { +- ChromeSwitchPreference switchPreference = (ChromeSwitchPreference) preference; +- switchPreference.setChecked(value == getEnabledValue(contentType)); +- if (contentType == mHighlightedPermission) { +- switchPreference.setBackgroundColor( ++ Preference switchPreference = preference; ++ if (preference instanceof ChromeSwitchPreference) { ++ ((ChromeSwitchPreference)switchPreference).setChecked(value != ContentSettingValues.BLOCK); ++ } else { ++ BromiteCustomContentSettingImpl.setWebSitePreferenceValue(content_type, preference, value); ++ } ++ if (preference instanceof ChromeSwitchPreference && contentType == mHighlightedPermission) { ++ ((ChromeSwitchPreference)switchPreference).setBackgroundColor( + AppCompatResources.getColorStateList(getContext(), mHighlightColor) + .getDefaultColor()); + } +@@ -1542,14 +1569,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment if (newValue instanceof Boolean) { permission = (Boolean) newValue ? getEnabledValue(type) : ContentSettingValues.BLOCK; } else { @@ -2622,25 +2632,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java -@@ -79,7 +79,7 @@ public class SiteSettingsCategory { - Type.JAVASCRIPT_OPTIMIZER, +@@ -80,7 +80,7 @@ public class SiteSettingsCategory { Type.SERIAL_PORT, Type.LOCAL_NETWORK_ACCESS, + Type.WINDOW_MANAGEMENT, - Type.NUM_ENTRIES + Type.NUM_ENTRIES_CHROMIUM }) @Retention(RetentionPolicy.SOURCE) public @interface Type { -@@ -123,7 +123,7 @@ public class SiteSettingsCategory { - int LOCAL_NETWORK_ACCESS = 35; +@@ -125,7 +125,7 @@ public class SiteSettingsCategory { + int WINDOW_MANAGEMENT = 36; /** Number of handled categories used for calculating array sizes. */ -- int NUM_ENTRIES = 36; -+ int NUM_ENTRIES_CHROMIUM = 36; +- int NUM_ENTRIES = 37; ++ int NUM_ENTRIES_CHROMIUM = 37; } private final BrowserContextHandle mBrowserContextHandle; -@@ -174,6 +174,9 @@ public class SiteSettingsCategory { +@@ -176,6 +176,9 @@ public class SiteSettingsCategory { } else { permission = ""; } @@ -2650,7 +2660,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return new SiteSettingsCategory(browserContextHandle, type, permission); } -@@ -182,7 +185,7 @@ public class SiteSettingsCategory { +@@ -184,7 +187,7 @@ public class SiteSettingsCategory { @ContentSettingsType.EnumType int contentSettingsType) { assert contentSettingsType != -1; assert Type.ALL_SITES == 0; @@ -2659,7 +2669,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSettingsType(i) == contentSettingsType) { return createFromType(browserContextHandle, i); } -@@ -193,7 +196,7 @@ public class SiteSettingsCategory { +@@ -195,7 +198,7 @@ public class SiteSettingsCategory { public static @Nullable SiteSettingsCategory createFromPreferenceKey( BrowserContextHandle browserContextHandle, String preferenceKey) { assert Type.ALL_SITES == 0; @@ -2668,7 +2678,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (preferenceKey(i).equals(preferenceKey)) { return createFromType(browserContextHandle, i); } -@@ -274,8 +277,7 @@ public class SiteSettingsCategory { +@@ -278,8 +281,7 @@ public class SiteSettingsCategory { case Type.TRACKING_PROTECTION: return ContentSettingsType.DEFAULT; // Conversion unavailable. } @@ -2678,7 +2688,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } /** -@@ -372,8 +374,12 @@ public class SiteSettingsCategory { +@@ -378,8 +380,12 @@ public class SiteSettingsCategory { case Type.ZOOM: return "zoom"; default: @@ -2694,7 +2704,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java -@@ -203,6 +203,8 @@ public interface SiteSettingsDelegate { +@@ -208,6 +208,8 @@ public interface SiteSettingsDelegate { */ String getRelatedWebsiteSetOwner(String memberOrigin); @@ -2769,19 +2779,19 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java -@@ -115,7 +115,7 @@ public class WebsitePermissionsFetcher { - case ContentSettingsType.USB_GUARD: - return WebsitePermissionsType.CHOSEN_OBJECT_INFO; +@@ -124,7 +124,7 @@ public class WebsitePermissionsFetcher { + } + break; default: - return null; + return BromiteCustomContentSettingImpl.getPermissionsType(contentSettingsType); } + return null; } - diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java -@@ -321,7 +321,7 @@ public class WebsitePreferenceBridge { +@@ -317,7 +317,7 @@ public class WebsitePreferenceBridge { case ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER: return true; default: @@ -2790,7 +2800,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -337,7 +337,6 @@ public class WebsitePreferenceBridge { +@@ -333,7 +333,6 @@ public class WebsitePreferenceBridge { public static boolean isCategoryEnabled( BrowserContextHandle browserContextHandle, @ContentSettingsType.EnumType int contentSettingsType) { @@ -2877,7 +2887,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s diff --git a/components/content_settings/core/browser/BUILD.gn b/components/content_settings/core/browser/BUILD.gn --- a/components/content_settings/core/browser/BUILD.gn +++ b/components/content_settings/core/browser/BUILD.gn -@@ -77,6 +77,13 @@ static_library("browser") { +@@ -83,6 +83,13 @@ static_library("browser") { } configs += [ "//build/config/compiler:wexit_time_destructors" ] @@ -2900,7 +2910,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -16,6 +16,7 @@ +@@ -19,6 +19,7 @@ #include "components/content_settings/core/browser/website_settings_registry.h" #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/features.h" @@ -2908,10 +2918,10 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -864,6 +865,7 @@ void ContentSettingsRegistry::Init() { - WebsiteSettingsRegistry::PLATFORM_ANDROID, - ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, - ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +@@ -872,6 +873,7 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsRegistry::PLATFORM_CHROMEOS, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, + PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); +#include "components/content_settings/core/browser/bromite_content_settings.inc" } @@ -2919,7 +2929,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc --- a/components/content_settings/core/browser/content_settings_uma_util.cc +++ b/components/content_settings/core/browser/content_settings_uma_util.cc -@@ -222,11 +222,7 @@ void RecordContentSettingsHistogram(const std::string& name, +@@ -224,11 +224,7 @@ void RecordContentSettingsHistogram(const std::string& name, } int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { @@ -2935,15 +2945,15 @@ diff --git a/components/content_settings/core/browser/content_settings_uma_util. diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc --- a/components/content_settings/core/browser/content_settings_utils.cc +++ b/components/content_settings/core/browser/content_settings_utils.cc -@@ -16,6 +16,7 @@ - #include "build/build_config.h" - #include "components/content_settings/core/browser/content_settings_registry.h" - #include "components/content_settings/core/browser/host_content_settings_map.h" +@@ -19,6 +19,7 @@ + #include "components/content_settings/core/browser/permission_settings_info.h" + #include "components/content_settings/core/browser/permission_settings_registry.h" + #include "components/content_settings/core/browser/website_settings_registry.h" +#include "components/content_settings/core/browser/website_settings_registry.h" #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_types.h" #include "components/content_settings/core/common/content_settings_utils.h" -@@ -125,6 +126,17 @@ PatternPair ParsePatternString(const std::string& pattern_str) { +@@ -133,6 +134,17 @@ PatternPair ParsePatternString(const std::string& pattern_str) { void GetRendererContentSettingRules(const HostContentSettingsMap* map, RendererContentSettingRules* rules) { @@ -3060,7 +3070,7 @@ diff --git a/components/content_settings/core/common/BUILD.gn b/components/conte } source_set("unit_tests") { -@@ -91,6 +98,7 @@ mojom("content_settings_types") { +@@ -90,6 +97,7 @@ mojom("content_settings_types") { sources = [ "content_settings_types.mojom" ] public_deps = [ "//mojo/public/mojom/base" ] @@ -3077,11 +3087,12 @@ new file mode 100644 diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc --- a/components/content_settings/core/common/content_settings.cc +++ b/components/content_settings/core/common/content_settings.cc -@@ -16,10 +16,11 @@ +@@ -18,11 +18,12 @@ #include "components/content_settings/core/common/content_settings_metadata.h" #include "components/content_settings/core/common/content_settings_types.h" #include "components/content_settings/core/common/content_settings_utils.h" +#include "components/content_settings/core/browser/website_settings_registry.h" + #include "third_party/abseil-cpp/absl/functional/overload.h" namespace { @@ -3090,7 +3101,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo const GURL& primary_url) { std::erase_if(settings, [&primary_url](const ContentSettingPatternSource& source) { -@@ -98,6 +99,13 @@ std::ostream& operator<<(std::ostream& os, +@@ -106,6 +107,13 @@ std::ostream& operator<<(std::ostream& os, // static bool RendererContentSettingRules::IsRendererContentSetting( ContentSettingsType content_type) { @@ -3104,7 +3115,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo return content_type == ContentSettingsType::IMAGES || content_type == ContentSettingsType::JAVASCRIPT || content_type == ContentSettingsType::POPUPS || -@@ -107,7 +115,10 @@ bool RendererContentSettingRules::IsRendererContentSetting( +@@ -115,7 +123,10 @@ bool RendererContentSettingRules::IsRendererContentSetting( void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL( const GURL& outermost_main_frame_url) { @@ -3116,7 +3127,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo } RendererContentSettingRules::RendererContentSettingRules() = default; -@@ -127,7 +138,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( +@@ -135,7 +146,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( RendererContentSettingRules&& rules) = default; bool RendererContentSettingRules::operator==( @@ -3141,7 +3152,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h --- a/components/content_settings/core/common/content_settings.h +++ b/components/content_settings/core/common/content_settings.h -@@ -74,10 +74,22 @@ std::ostream& operator<<(std::ostream& os, +@@ -100,10 +100,22 @@ std::ostream& operator<<(std::ostream& os, typedef std::vector ContentSettingsForOneType; @@ -3167,7 +3178,7 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom --- a/components/content_settings/core/common/content_settings.mojom +++ b/components/content_settings/core/common/content_settings.mojom -@@ -74,6 +74,11 @@ struct RuleMetaData { +@@ -73,6 +73,11 @@ struct RuleMetaData { mojo_base.mojom.Value rule_options; }; @@ -3179,7 +3190,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co // This mirrors the C++ type in content_settings.h. struct ContentSettingPatternSource { ContentSettingsPattern primary_pattern; -@@ -87,5 +92,6 @@ struct ContentSettingPatternSource { +@@ -86,5 +91,6 @@ struct ContentSettingPatternSource { // This mirrors the C++ type in content_settings.h. // TODO(crbug.com/40282541): This should be removed. struct RendererContentSettingRules { @@ -3189,7 +3200,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc --- a/components/content_settings/core/common/content_settings_mojom_traits.cc +++ b/components/content_settings/core/common/content_settings_mojom_traits.cc -@@ -120,12 +120,22 @@ bool StructTraitsmetadata) && data.ReadSource(&out->source); } @@ -3254,10 +3265,10 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom --- a/components/content_settings/core/common/content_settings_types.mojom +++ b/components/content_settings/core/common/content_settings_types.mojom -@@ -491,5 +491,6 @@ enum ContentSettingsType { - // site. Used for recovering notification contents from the database if the - // user decides they would like to see all of these notifications. - SUSPICIOUS_NOTIFICATION_IDS, +@@ -498,5 +498,6 @@ enum ContentSettingsType { + // Setting for enabling the Device Attributes API. Spec link: + // https://wicg.github.io/WebApiDevice/device_attributes/ + DEVICE_ATTRIBUTES, +#include "components/content_settings/core/common/bromite_content_settings.inc" }; // LINT.ThenChange(//components/content_settings/core/browser/content_settings_uma_util.cc:kHistogramValue) @@ -3419,7 +3430,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_types.h" #include "components/page_info/android/page_info_client.h" -@@ -169,6 +170,15 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -184,6 +185,15 @@ void PageInfoControllerAndroid::SetPermissionInfo( permissions_to_display.push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS); } @@ -3435,7 +3446,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp std::map user_specified_settings_to_display; std::map -@@ -228,6 +238,14 @@ std::optional PageInfoControllerAndroid::GetSettingToDisplay( +@@ -243,6 +253,14 @@ std::optional PageInfoControllerAndroid::GetSettingToDisplay( return permission.setting; } @@ -3461,7 +3472,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. #include "components/content_settings/browser/ui/cookie_controls_controller.h" #include "components/content_settings/core/browser/content_settings_registry.h" #include "components/content_settings/core/browser/content_settings_uma_util.h" -@@ -1314,6 +1315,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1317,6 +1318,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, // applies to permissions listed in |kPermissionType|. bool PageInfo::ShouldShowPermission( const PageInfo::PermissionInfo& info) const { @@ -3476,7 +3487,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. // Note |ContentSettingsType::ADS| will show up regardless of its default // value when it has been activated on the current origin. if (info.type == ContentSettingsType::ADS) { -@@ -1430,7 +1439,19 @@ void PageInfo::PresentSitePermissions() { +@@ -1433,7 +1442,19 @@ void PageInfo::PresentSitePermissions() { HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); @@ -3508,7 +3519,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in #include "components/page_info/core/features.h" #include "components/page_info/page_info.h" #include "components/page_info/page_info_ui_delegate.h" -@@ -333,6 +334,13 @@ void CreateOppositeToDefaultSiteException( +@@ -317,6 +318,13 @@ void CreateOppositeToDefaultSiteException( std::u16string GetPermissionAskStateString(ContentSettingsType type) { int message_id = kInvalidResourceID; @@ -3522,7 +3533,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in switch (type) { case ContentSettingsType::GEOLOCATION: message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK; -@@ -626,6 +634,12 @@ PageInfoUI::~PageInfoUI() = default; +@@ -615,6 +623,12 @@ PageInfoUI::~PageInfoUI() = default; // static std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -3535,7 +3546,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id); -@@ -636,6 +650,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { +@@ -625,6 +639,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { // static std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( ContentSettingsType type) { @@ -3548,7 +3559,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id_mid_sentence); -@@ -1077,6 +1097,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { +@@ -1051,6 +1071,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { if (info.type == type) return true; } @@ -3629,7 +3640,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 -@@ -43,6 +43,7 @@ +@@ -42,6 +42,7 @@ #include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h" #include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h" #include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h" @@ -3637,7 +3648,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context #include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/execution_context/security_context.h" -@@ -102,6 +103,10 @@ class SecurityOrigin; +@@ -101,6 +102,10 @@ class SecurityOrigin; class ScriptState; class ScriptWrappable; class TrustedTypePolicyFactory; diff --git a/build/patches/Enable-component-updater.patch b/build/patches/Enable-component-updater.patch index 4bb7e4a9..2f04ff1c 100644 --- a/build/patches/Enable-component-updater.patch +++ b/build/patches/Enable-component-updater.patch @@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../browser/aw_browser_main_parts.cc | 7 +++ .../component_updater/registration.cc | 12 +++-- .../nonembedded/webview_apk_application.cc | 2 +- - .../nonembedded/webview_apk_process.cc | 19 +++++--- + .../nonembedded/webview_apk_process.cc | 20 +++++--- .../nonembedded/webview_apk_process.h | 4 +- .../browser/component_updater/registration.cc | 2 + .../component_updater/component_installer.cc | 48 +++++++++++-------- @@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../component_updater_url_constants.cc | 4 +- .../component_updater/configurator_impl.cc | 8 +--- .../component_updater/configurator_impl.h | 2 - - components/crx_file/crx_build_action_main.cc | 11 +++-- + components/crx_file/crx_build_action_main.cc | 10 +++- components/crx_file/crx_verifier.cc | 16 +++++++ components/update_client/component.cc | 12 +++++ components/update_client/crx_downloader.cc | 5 ++ @@ -59,7 +59,7 @@ diff --git a/android_webview/browser/aw_browser_main_parts.cc b/android_webview/ 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 -@@ -40,6 +40,9 @@ void RegisterComponentsForUpdate( +@@ -39,6 +39,9 @@ void RegisterComponentsForUpdate( std::vector> component_installer_list; @@ -69,7 +69,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and component_installer_list.push_back( std::make_unique< component_updater::OriginTrialsComponentInstallerPolicy>()); -@@ -111,14 +114,17 @@ void RegisterComponentsForUpdate( +@@ -96,14 +99,17 @@ void RegisterComponentsForUpdate( } base::RepeatingClosure barrier_closure = base::BarrierClosure( @@ -93,7 +93,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and diff --git a/android_webview/nonembedded/webview_apk_application.cc b/android_webview/nonembedded/webview_apk_application.cc --- a/android_webview/nonembedded/webview_apk_application.cc +++ b/android_webview/nonembedded/webview_apk_application.cc -@@ -15,7 +15,7 @@ namespace android_webview { +@@ -14,7 +14,7 @@ namespace android_webview { void JNI_WebViewApkApplication_InitializeGlobalsAndResources(JNIEnv* env) { InitIcuAndResourceBundleBrowserSide(); @@ -105,7 +105,7 @@ diff --git a/android_webview/nonembedded/webview_apk_application.cc b/android_we diff --git a/android_webview/nonembedded/webview_apk_process.cc b/android_webview/nonembedded/webview_apk_process.cc --- a/android_webview/nonembedded/webview_apk_process.cc +++ b/android_webview/nonembedded/webview_apk_process.cc -@@ -34,27 +34,34 @@ WebViewApkProcess* WebViewApkProcess::GetInstance() { +@@ -36,30 +36,36 @@ WebViewApkProcess* WebViewApkProcess::GetInstance() { // static // Must be called exactly once during the process startup. @@ -133,16 +133,19 @@ diff --git a/android_webview/nonembedded/webview_apk_process.cc b/android_webvie // `base::MessagePumpType::JAVA` so that the `SingleThreadExecutor` will bind // to the java thread the `WebViewApkProcess` is created on. - main_task_executor_ = std::make_unique( +- base::MessagePumpType::JAVA); + if (!embedded) { + main_task_executor_ = std::make_unique( - base::MessagePumpType::JAVA); ++ base::MessagePumpType::JAVA); + } -+ + // WebView is not compatible with new compression protocols. + base::CommandLine::ForCurrentProcess()->AppendSwitch( + update_client::switches::kComponentUpdaterCompatProtocols); + +- RegisterPathProvider(); + if (!embedded) { + RegisterPathProvider(); + } - -- RegisterPathProvider(); component_updater::RegisterPathProvider( /*components_system_root_key=*/android_webview::DIR_COMPONENTS_ROOT, /*components_system_root_key_alt=*/android_webview::DIR_COMPONENTS_ROOT, @@ -168,7 +171,7 @@ diff --git a/android_webview/nonembedded/webview_apk_process.h b/android_webview 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 -@@ -122,6 +122,8 @@ namespace component_updater { +@@ -120,6 +120,8 @@ namespace component_updater { void RegisterComponentsForUpdate() { auto* const cus = g_browser_process->component_updater(); @@ -443,29 +446,28 @@ diff --git a/components/component_updater/configurator_impl.h b/components/compo diff --git a/components/crx_file/crx_build_action_main.cc b/components/crx_file/crx_build_action_main.cc --- a/components/crx_file/crx_build_action_main.cc +++ b/components/crx_file/crx_build_action_main.cc -@@ -14,6 +14,7 @@ +@@ -9,6 +9,7 @@ #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/logging.h" +#include "base/strings/string_number_conversions.h" #include "components/crx_file/crx_creator.h" - #include "crypto/rsa_private_key.h" + #include "crypto/keypair.h" -@@ -30,9 +31,13 @@ int main(int argc, char* argv[]) { +@@ -30,8 +31,13 @@ int main(int argc, char** raw_argv) { VLOG(0) << "Failed to read key material from " << argv[3]; return -1; } + auto signing_key = crypto::RSAPrivateKey::CreateFromPrivateKeyInfo( -+ std::vector(key_file.begin(), key_file.end())); ++ base::as_byte_span(key_file)); + std::vector public_key; + signing_key->ExportPublicKey(&public_key); + VLOG(0) << "Pubkey: " << base::HexEncode(public_key); + return static_cast(crx_file::Create( base::FilePath::FromASCII(argv[1]), base::FilePath::FromASCII(argv[2]), -- crypto::RSAPrivateKey::CreateFromPrivateKeyInfo( -- std::vector(key_file.begin(), key_file.end())) -- .get())); +- *crypto::keypair::PrivateKey::FromPrivateKeyInfo( +- base::as_byte_span(key_file)))); + signing_key.get())); } diff --git a/components/crx_file/crx_verifier.cc b/components/crx_file/crx_verifier.cc diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch index 85057218..76673151 100644 --- a/build/patches/Enable-network-isolation-features.patch +++ b/build/patches/Enable-network-isolation-features.patch @@ -9,27 +9,29 @@ PartitionNelAndReportingByNetworkIsolationKey, kSplitCacheByNavigationInitiator License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../browser/net/profile_network_context_service.cc | 2 +- + .../browser/net/profile_network_context_service.cc | 4 ++-- .../Enable-network-isolation-features.inc | 9 +++++++++ .../Enable-network-isolation-features.inc | 1 + net/http/http_cache.cc | 14 +++++++++----- net/http/http_cache.h | 2 +- - 5 files changed, 21 insertions(+), 7 deletions(-) + 5 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Enable-network-isolation-features.inc 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 -@@ -1285,7 +1285,7 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { - field_trial = base::FeatureList::GetFieldTrial( - net::features::kSplitCacheByIncludeCredentials); - current_field_trial_status += -- (field_trial ? field_trial->group_name() : "None"); -+ (field_trial ? field_trial->group_name() : "EnableFeatureForTests"); +@@ -467,8 +467,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { + experiment_parts.push_back(kDiskCacheExperimentNameNone); + // SplitCacheByIncludeCredentials experiment: + experiment_parts.push_back(credentials_field_trial +- ? credentials_field_trial->group_name() +- : kDiskCacheExperimentNameNone); ++ ? "EnableFeatureForTests" ++ : "EnableFeatureForTests"); - if (disk_cache::InBackendExperiment()) { - if (disk_cache::InSimpleBackendExperimentGroup()) { + // Add the disk cache backend experiment group if active. + std::string_view backend_experiment = GetDiskCacheBackendExperimentString(); diff --git a/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc b/cromite_flags/net/base/features_cc/Enable-network-isolation-features.inc new file mode 100644 --- /dev/null @@ -53,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 -@@ -652,7 +652,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) { +@@ -671,7 +671,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) { // static // Generate a key that can be used inside the cache. @@ -62,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, -@@ -690,8 +690,8 @@ std::string HttpCache::GenerateCacheKey( +@@ -709,8 +709,8 @@ std::string HttpCache::GenerateCacheKey( const bool is_initiator_cross_site = !net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url)); if (is_initiator_cross_site) { @@ -73,7 +75,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc } } isolation_key = base::StrCat( -@@ -706,9 +706,11 @@ std::string HttpCache::GenerateCacheKey( +@@ -725,9 +725,11 @@ 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. @@ -86,7 +88,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc } // static -@@ -731,11 +733,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL( +@@ -750,11 +752,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL( const int64_t upload_data_identifier = request->upload_data_stream ? request->upload_data_stream->identifier() : int64_t(0); diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index fead5e56..07183ce6 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/profiles/profile_manager.cc | 11 + chrome/browser/profiles/renderer_updater.cc | 19 +- chrome/browser/profiles/renderer_updater.h | 3 + - .../browser/ui/webui/chrome_web_ui_configs.cc | 6 + + .../browser/ui/webui/chrome_web_ui_configs.cc | 7 +- chrome/chrome_paks.gni | 2 + chrome/common/renderer_configuration.mojom | 1 + chrome/renderer/BUILD.gn | 6 + @@ -135,11 +135,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../renderer/web_ui_injection_host.cc | 40 + .../renderer/web_ui_injection_host.h | 31 + .../strings/userscripts_strings.grdp | 54 ++ - content/common/features.gni | 2 +- .../Experimental-user-scripts-support.inc | 13 + ipc/ipc_message_start.h | 1 + tools/gritsettings/resource_ids.spec | 6 + - 112 files changed, 10380 insertions(+), 3 deletions(-) + 111 files changed, 10379 insertions(+), 3 deletions(-) create mode 100644 components/user_scripts/README.md create mode 100755 components/user_scripts/android/BUILD.gn create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml @@ -233,7 +232,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -200,7 +200,11 @@ if (_is_default_toolchain) { +@@ -191,7 +191,11 @@ if (_is_default_toolchain) { sources = chrome_java_resources sources += [ "//chrome/android/java/res_app/layout/main.xml" ] @@ -246,7 +245,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", -@@ -704,6 +708,7 @@ if (_is_default_toolchain) { +@@ -701,6 +705,7 @@ if (_is_default_toolchain) { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -254,7 +253,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", -@@ -1668,6 +1673,7 @@ if (_is_default_toolchain) { +@@ -1687,6 +1692,7 @@ if (_is_default_toolchain) { java_group("chrome_public_non_pak_assets") { deps = [ "//chrome/android/webapk/libs/runtime_library:runtime_library_assets", @@ -265,7 +264,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -154,6 +154,11 @@ for the previous order (main_preferences_legacy). --> +@@ -153,6 +153,11 @@ for the previous order (main_preferences_legacy). --> android:key="useragent_settings" android:order="20" android:title="@string/prefs_useragent_settings"/> @@ -280,7 +279,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java -@@ -76,6 +76,7 @@ import org.chromium.ui.base.DeviceFormFactor; +@@ -80,6 +80,7 @@ import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.MimeTypeUtils; import org.chromium.ui.widget.Toast; import org.chromium.url.GURL; @@ -288,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo import java.io.File; -@@ -440,6 +441,11 @@ public class DownloadUtils { +@@ -451,6 +452,11 @@ public class DownloadUtils { String referrer, @DownloadOpenSource int source, Context context) { @@ -341,7 +340,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 -@@ -3662,6 +3662,13 @@ static_library("browser") { +@@ -3675,6 +3675,13 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -358,7 +357,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -187,6 +187,7 @@ +@@ -186,6 +186,7 @@ #include "components/ui_devtools/switches.h" #include "components/variations/variations_switches.h" #include "components/version_info/channel.h" @@ -369,15 +368,15 @@ 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 -@@ -280,6 +280,7 @@ +@@ -278,6 +278,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" +#include "components/user_scripts/browser/user_script_prefs.h" #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/contextual_cueing/contextual_cueing_prefs.h" - #include "chrome/browser/device_api/device_service_impl.h" -@@ -2088,6 +2089,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, + #include "chrome/browser/gcm/gcm_product_util.h" +@@ -2007,6 +2008,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry); omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); @@ -390,7 +389,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 -@@ -82,6 +82,9 @@ source_set("profile") { +@@ -83,6 +83,9 @@ source_set("profile") { "//content/public/browser", "//extensions/buildflags", ] @@ -403,7 +402,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 -@@ -583,6 +583,10 @@ +@@ -590,6 +590,10 @@ #include "chrome/browser/net/nss_service_factory.h" #endif @@ -414,7 +413,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()); } -@@ -1415,6 +1419,9 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1430,6 +1434,9 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -516,7 +515,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile 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 -@@ -58,6 +58,9 @@ +@@ -60,6 +60,9 @@ #include "chrome/browser/ui/webui/proxy_config_ui.h" @@ -526,28 +525,31 @@ 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" -@@ -423,4 +426,7 @@ void RegisterChromeWebUIConfigs() { +@@ -430,7 +433,9 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig( std::make_unique()); #endif +- +#if BUILDFLAG(IS_ANDROID) + map.AddWebUIConfig(std::make_unique()); +#endif - } + #if BUILDFLAG(ENTERPRISE_WATERMARK) + map.AddWebUIConfig(std::make_unique()); + #endif diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -149,6 +149,7 @@ template("chrome_extra_paks") { - "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", +@@ -152,6 +152,7 @@ template("chrome_extra_paks") { "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak", "$root_gen_dir/third_party/blink/public/strings/permission_element_generated_strings.pak", + "$root_gen_dir/ui/resources/ui_lottie_resources.pak", + "$root_gen_dir/chrome/userscripts_browser_resources.pak", "$root_gen_dir/ui/webui/resources/webui_resources.pak", ] - deps = [ -@@ -169,6 +170,7 @@ template("chrome_extra_paks") { - "//third_party/blink/public:resources", + +@@ -175,6 +176,7 @@ template("chrome_extra_paks") { "//third_party/blink/public/strings:permission_element_generated_strings", + "//ui/resources:ui_lottie_resources_grd", "//ui/webui/resources", + "//components/user_scripts/browser:userscripts_browser_resources_grit", ] @@ -567,7 +569,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 -@@ -235,6 +235,12 @@ static_library("renderer") { +@@ -231,6 +231,12 @@ static_library("renderer") { "//v8", ] @@ -583,7 +585,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -265,6 +265,11 @@ +@@ -252,6 +252,11 @@ #include "chrome/renderer/media/chrome_key_systems.h" #endif @@ -595,7 +597,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer using autofill::AutofillAgent; using autofill::PasswordAutofillAgent; using autofill::PasswordGenerationAgent; -@@ -450,6 +455,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -417,6 +422,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { WebString::FromASCII(extensions::kExtensionScheme)); #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) @@ -610,8 +612,8 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_SPELLCHECK) if (!spellcheck_) InitSpellCheck(); -@@ -621,6 +634,15 @@ void ChromeContentRendererClient::RenderFrameCreated( - registry); +@@ -597,6 +610,15 @@ void ChromeContentRendererClient::RenderFrameCreated( + render_frame, std::make_unique()); #endif +#if BUILDFLAG(IS_ANDROID) @@ -623,10 +625,10 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer + } +#endif + - #if BUILDFLAG(ENABLE_PPAPI) - new PepperHelper(render_frame); + #if BUILDFLAG(ENABLE_PAINT_PREVIEW) + new paint_preview::PaintPreviewRecorderImpl(render_frame); #endif -@@ -1669,6 +1691,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1359,6 +1381,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. #endif @@ -644,7 +646,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1678,6 +1711,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1368,6 +1401,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. #endif @@ -662,7 +664,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1687,6 +1731,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1377,6 +1421,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. #endif @@ -683,7 +685,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/chrome_render_thread_observer.cc --- a/chrome/renderer/chrome_render_thread_observer.cc +++ b/chrome/renderer/chrome_render_thread_observer.cc -@@ -55,6 +55,8 @@ +@@ -54,6 +54,8 @@ #include "third_party/blink/public/web/web_security_policy.h" #include "third_party/blink/public/web/web_view.h" @@ -692,7 +694,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/ #if BUILDFLAG(IS_CHROMEOS) #include "chrome/renderer/ash_merge_session_loader_throttle.h" #endif -@@ -221,6 +223,9 @@ void ChromeRenderThreadObserver::SetConfiguration( +@@ -220,6 +222,9 @@ void ChromeRenderThreadObserver::SetConfiguration( chrome::mojom::DynamicParamsPtr params) { base::AutoLock lock(dynamic_params_lock_); dynamic_params_ = std::move(params); @@ -705,7 +707,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/ diff --git a/components/components_strings.grd b/components/components_strings.grd --- a/components/components_strings.grd +++ b/components/components_strings.grd -@@ -341,6 +341,7 @@ +@@ -342,6 +342,7 @@ @@ -11363,16 +11365,6 @@ new file mode 100755 + + + -diff --git a/content/common/features.gni b/content/common/features.gni ---- a/content/common/features.gni -+++ b/content/common/features.gni -@@ -20,5 +20,5 @@ declare_args() { - mbi_mode = is_linux || is_chromeos || is_mac || is_win || is_android - - # We allow legacy IPC to be enabled for Pepper usage. -- content_enable_legacy_ipc = enable_ppapi -+ content_enable_legacy_ipc = true - } diff --git a/cromite_flags/chrome/browser/about_flags_cc/Experimental-user-scripts-support.inc b/cromite_flags/chrome/browser/about_flags_cc/Experimental-user-scripts-support.inc new file mode 100644 --- /dev/null @@ -11394,18 +11386,18 @@ new file mode 100644 diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h --- a/ipc/ipc_message_start.h +++ b/ipc/ipc_message_start.h -@@ -17,6 +17,7 @@ enum IPCMessageStart { - WorkerMsgStart, - NaClMsgStart, - PpapiMsgStart, +@@ -14,6 +14,7 @@ + enum IPCMessageStart { + AutomationMsgStart = 0, + TestMsgStart, + ExtensionMsgStart, - NaClHostMsgStart, + WorkerMsgStart, LastIPCMsgStart // Must come last. }; 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 -@@ -1162,6 +1162,12 @@ +@@ -1186,6 +1186,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 26e94118..b28af9c9 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -155,7 +155,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j -@@ -99,11 +90,6 @@ for the previous order (main_preferences_legacy). --> +@@ -98,11 +89,6 @@ for the previous order (main_preferences_legacy). --> android:key="autofill_options" android:order="16" android:title="@string/autofill_options_title" /> @@ -167,7 +167,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j +@@ -134,6 +120,11 @@ for the previous order (main_preferences_legacy). --> android:key="adblock" android:order="13" android:title="@string/prefs_adblock"/> @@ -873,7 +873,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 -@@ -6461,7 +6461,9 @@ ChromeContentBrowserClient:: +@@ -6412,7 +6412,9 @@ ChromeContentBrowserClient:: } bool ChromeContentBrowserClient::WillInterceptWebSocket( @@ -884,7 +884,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) if (!frame) { return false; -@@ -6484,9 +6486,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( +@@ -6435,9 +6437,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( } void ChromeContentBrowserClient::CreateWebSocket( @@ -899,7 +899,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 -@@ -730,11 +730,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -715,11 +715,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { CreateURLLoaderHandlerForServiceWorkerNavigationPreload( content::FrameTreeNodeId frame_tree_node_id, const network::ResourceRequest& resource_request) override; @@ -1189,7 +1189,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 -@@ -249,7 +249,6 @@ +@@ -255,7 +255,6 @@ #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" #include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h" @@ -1197,7 +1197,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" -@@ -936,7 +935,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -946,7 +945,6 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -1208,15 +1208,15 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn --- a/chrome/browser/resources/settings/BUILD.gn +++ b/chrome/browser/resources/settings/BUILD.gn -@@ -64,6 +64,7 @@ build_webui("build") { +@@ -66,6 +66,7 @@ build_webui("build") { "ai_page/ai_tab_organization_subpage.ts", "ai_page/history_search_page.ts", "ai_page/offer_writing_help_page.ts", + "adblock_page/adblock_page.ts", "appearance_page/appearance_fonts_page.ts", + "appearance_page/appearance_page_index.ts", "appearance_page/appearance_page.ts", - "appearance_page/home_url_input.ts", -@@ -372,6 +373,7 @@ build_webui("build") { +@@ -392,6 +393,7 @@ build_webui("build") { ts_definitions = [ "//tools/typescript/definitions/autofill_private.d.ts", "//tools/typescript/definitions/chrome_event.d.ts", @@ -1752,28 +1752,26 @@ new file mode 100644 diff --git a/chrome/browser/resources/settings/basic_page/basic_page.html b/chrome/browser/resources/settings/basic_page/basic_page.html --- a/chrome/browser/resources/settings/basic_page/basic_page.html +++ b/chrome/browser/resources/settings/basic_page/basic_page.html -@@ -51,6 +51,10 @@ - - - -+ -+ -+ - + ++
++ ++
++ + +